0% found this document useful (0 votes)
35 views3,459 pages

Changes S

Uploaded by

Khairul Asri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views3,459 pages

Changes S

Uploaded by

Khairul Asri
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as RTF, PDF, TXT or read online on Scribd
You are on page 1/ 3459

=========================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
[email protected]***
-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 [email protected] 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
[email protected] 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.1New vars + Compressed Nov 1, 2010 *28.07
DB2 10.1Invalid Header pre APAR Jan 12, 2011 *28.28
DB2 10.1IFCID=225 INCOMPAT Sep 23, 2011 *29.07
DB2 10.1QWHCCV for QWHCATYP=8 Oct 3, 2011 *30.07
DB2 10.1DBID/OBID decode Jan 21, 2013 *30.30
DB2 10.1QLSTxxxx 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected]
-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.112Support 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
[email protected] 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 [email protected] 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 [email protected].
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
[email protected] 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.1Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DB2 10.1QWHCCV for QWHCATYP=8 Oct 3, 2011 30.07*
DB2 10.1DBID/OBID decode Jan 21, 2013 30.30*
DB2 10.1QLSTxxxx 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected].

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
[email protected] 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:

<EXECNAME> 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 [email protected]
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 [email protected], 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 [email protected] 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 [email protected] 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 [email protected] 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 [email protected]).
-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 [email protected] 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 [email protected],
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 [email protected] 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<z/OS-MXG**> 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 <NAME>2094-722<NAME>; 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 [email protected] 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 "[email protected]" 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 [email protected].
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 [email protected], 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 [email protected].
-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 Newsample report summarizes the DB2 Package data to the
ANALACTP UOWlevel keeping track of total response and CPU,
Nov 18, 2007 thelongest package, the first 10 packages.
Jan 8, 2008 Jan8: 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
[email protected], 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 [email protected], 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 THALHSMDHSMD ENTRY IN CDS RECORD
TYPSTHAL THALEX THALEXCEDETAIL EXCEPTION RECORD
VMACTHAL THALVI THALVIOLSECURITY VIOLATION RECORD
VMXGINIT THALSA THALSUMAAPPL IN SUMMARY RECORD
Oct 5, 2006 THALSD THALSUMDDEVICE IN SUMMARY RECORD
THALSN THALSNAPSRM 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 [email protected] 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
[email protected] (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 OA1

You might also like