COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 31.31
=========================member=CHANGE31================================
/* COPYRIGHT (C) 1984-2014 MERRILL CONSULTANTS DALLAS TEXAS USA */
ANNUAL MXG Version 31.31 is dated Jan 20, 2014, thru Change 31.296
MXG Version 31.09 was dated Dec 30, 2013, thru Change 31.278
MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.244.
First MXG Version 31.08 was dated Nov 12, 2013, thru Change 31.240.
MXG Version 31.07 was dated Sep 20, 2013, thru Change 31.204.
MXG Version 31.06 was dated Sep 3, 2013, thru Change 31.187.
First MXG Version 31.06 was dated Sep 1, 2013, thru Change 31.184.
MXG Newsletter SIXTY-TWO was dated Sep 1, 2013.
MXG Version 31.05 was dated Jul 29, 2013, thru Change 31.156.
MXG Version 31.04 was dated Jun 26, 2013, thru Change 31.125.
MXG Version 31.03 was dated Jun 17, 2013, thru Change 31.114.
MXG Version 31.02 was dated May 5, 2013, thru Change 31.088.
First MXG Version 31.02 was dated Apr 29, 2013, thru Change 31.079.
MXG Version 31.01 was dated Mar 13, 2013, thru Change 31.044.
MXG Newsletter SIXTY-ONE was dated Jan 21, 2013.
Annual MXG Version 31.31 is dated Jan 20, 2014, thru Change 30.296.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 31.31 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 31.31.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 31.31 dated Jan 20, 2014, thru Change 31.296.
Major enhancement added in MXG 31.31, dated Jan 20, 2014:
TYPE111 31.283 Support for CICS Transaction Gateway V9R0 (COMPAT)
UTILEXCL 31.295 Negative values in variable TASELGTM with IMACEXCL.
VMAC73 31.291 SMF73SPD Channel Speed now always in MBits/sec.
TYPE30 31.280 IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL).
ASMRMFV 31.296 RMF III Enhancements including new TABERR parameter.
ASMRMFV 31.287 MXG 31.02-31.09. ASMRMFV could skip RCD tables.
MXGLABEL 31.288 New %MXGLABEL creates LABEL with NAME and LABEL.
VMXGINIT 31.285 JCL //INSTREAM DD is no longer required for z/OS MXG.
ANALDB2R 31.286 Selection by PLAN moved into READDB2, saves time.
TYPEDB2 31.282 DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.
JCLUOTT2 31.293 Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
GRAFWRKX 31.294 New NEWMODEL parameter view workloads on new CPU.
FORMATS 31.291 MG073FR decodes SMF73CPP frame size 16/24/50/64KB.
IHDRTMO2 31.290 TMON/CICS TA header exit IHDRTMO2 now after offsets.
Major enhancement added in MXG 31.09, dated Dec 30, 2013:
FORMATS 31.251 WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED.
TYPEBVIR 31.254 BVIR30 dataset was incorrect with VERSION 3 records.
TYPEDB2 31.245 Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
TYPE102 31.258 Support for IFCID 359, "DB2 Statement ID" decoded.
TYPE102 31.261 Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
TYPE102 31.278 Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
UTILBLDP 31.276 Ad hoc read SMF UTILBLDP is enhanced WANTSMF= list.
TYPERMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
ASMRMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
TYPENMON 31.264 Support for Red Hat Linux Data Group,NFSCLIV4 metrics
TYPEDB2 31.272 Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
TYPE30 31.277 TYPE30MU dataset now has zero obs by default: useless
VGETOBS 31.250 A better way to identify TAPE data libraries.
READDB2 31.269 "Too few" IFCIDs listed caused no sort to PDBOUT.
TYPE110 31.253 SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
TYPEDB2 31.259 Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8
TYPETPMX 31.263 ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
TYPE7072 31.274 System with only CPs + ICFs, LPAR SHARE weight wrong.
TYPE7072 31.266 MSU Units (Hardware vs Software) in TYPE70/TYPE72GO.
GRAFCEC 31.246 NOT SORTED error with multiple CEC's data.
ANALDB2R 31.262 Some AVG Buff stats wrong, possible dataset not found
ANALHSM 31.260 Variable HSMPLEX added to all HSM reports.
TYPE80A 31.257 TOKDANAM='UTYPE' ERROR if last, new TOK variables.
ANALGRID 31.248 DATES= any one of the "one word" tokens didn't work.
VGETOBS 31.247 ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
VMXGRMFI 31.268 Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
TYPEDB2 31.275 MXGWARN: T102S225 DOES NOT EXIST.
Many 31.270 Messages with 'ERROR:' starting in byte one shifted.
Major enhancement added in MXG 31.08, dated Nov 12, 2013:
TYPEDB2 31.240 Support for DB2 V11.1. (MXG 30.30+ TOLERATES with no
EXECUTION error, but the QLST variables in DB2STATS
require MXG 31.04 for both DB2 V10.1 and V11.1.)
ASMRMFV 31.230 RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ASMRMFV 31.230 RMF III Support for DSNTYPE=LARGE.
MANY 31.221 ODS Support for TYPE=PDF, MANY ANALxxxx updated
TYPECIMS 31.233 Correction for IMF 4.2 thru 5.1 (WRONG VALUES)
TYPECIMS 31.206 Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).
TYPEPDM 31.226 Support for Alebra Parallel Data Mover SMF record.
TYPEJESC 31.225 Support for Emtex JESCONNECT SMF Record.
EXCICJRN 31.217 Support for CICS "multi journal records".
TYPETLMS 31.215 Support for new TLMS variables, compression percent
TYPE7002 31.220 Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
VGETOBS 31.212 Final (?) revisions to VGETOBS to bypass tape mounts.
TYPE110 31.214 CICSJS variables SJSMAJCP/SJSMINCP are not CPU time.
TYPE113 31.208 ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor.
TYPE6 31.207 31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
TYPE119 31.218 INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.
TYPE42 31.216 INVALID DATA FOR S42CSYNC.
ANALATEN 31.205 Analysis of Latent Demand report.
VMXGSRCH 31.219 Search which character variables contain text string.
WPS 31.224 Current status of WPS circumventions and differences.
Major enhancement added in MXG 31.07, dated Sep 20, 2013:
TYPE0 31.193 z/OS 2.1 ID=0 "IPL" RECORD now 68 bytes, MXG DELETES.
(ONLY A PROBLEM IF YOU THINK ID=0 IS AN IPL WHICH IT
often is not - always use the PDB.IPLS BUILDPDB DATA
to report IPL events. See change text.)
The DB2 MXG 31.06 "VGETOBS" enhancements still had some glitches:
ANALDB2R 31.204 ANALDB2R (31.06) with PDB=PDB and PDB on tape fails.
READDB2 31.191 READDB2 PDBOUT=, or PDBOUT=XXX may not work right.
VGETOBS 31.200 Revisions in concert with VMXGWORL for READDB2.
VMXGWORL 31.200 Revisions in concert with VGETOBS for READDB2.
Those VGETOBS changes solved two very different problems:
1. WPS failed when there was no LIBNAME when there was a
WHERE clause on PROC SQL read of DICTIONARY.TABLES.
Solved by looking at DICTIONARY.FILENAMES without a
WHERE first to see if the DD even exists.
2. SAS mounting and rereading every tape with every
execution of VGETOBS reading DICTIONARY.TABLES, even
when there was NO where clause.
Solved by keeping track of tape DDs and excluding
them from DICTIONARY.TABLES searches with a WHERE
CLAUSE NE.
-Solving problem 2 cut tape mounts in daily CICS/DB2 job
at one site from over 90 to less than 20.
TYPEDB2 31.196 Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
TYPE115 31.188 Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S.
FORMATS 31.189 Support for CEX41 Crypto Coprocessor type corrected.
JCLVSB2U 31.198 JCL example to change RECFM=VBS to RECFM=U w/o copy.
TYPEVMXA 31.194 MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112.
TYPETMMQ 31.190 Many new variables added to TMMQQU MQ QUEUE dataset.
TYPE117 31.199 S17NNDM added to the BY list _B117NOD for NODUP.
TYPEIDMS 31.197 After MXG 30.30, only IDMS 17, zero obs in IDMSINS.
Major enhancement added in MXG 31.06, dated Sep 3, 2013:
TYPERMFV 31.181 RMF III Support for z/OS 2.1 plus Enhancements.
TYPE115 31.179 Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.
TYPE102 31.166 Support for IFCID=380 STORED PROCEDURE DETAILS
TYPEBVIR 31.168 Support of Hydra/BVIR Version 3 new data fields.
TYPEXAM 31.160 Support for Velocity Software new segments new data.
All SMF 31.182 New INPUT SMF FILE DID NOT END WITH ID=3 message.
TYPE113 31.169 SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.
TYPE113 31.169 SMF 113 vars SM1132MT and SM1132MM were blank.
TYPE113 31.172 Macro to re-label SMF 113 counters for old machine
TYPE120 31.170 Variable SM1209BK (Short Server) added TYP1209C/S/U.
TYPESHDE 31.177 SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong.
TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.
READDB2 31.167 DB2 V8 ONLY. V8-only IFCID=225 were not read.
READDB2 31.165 PDB.DB2STAT1 not created with READDB2 STATISTICS.
TYPEBETA 31.162 Variable JOB and BETAJOBN are now consistent.
TYPE7072 31.174 WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial
TYPENMON 31.164 Protection for invalid NMON DISKxxxx records.
VMXGSRCH 31.171 UNABLE TO CREATE WORK.TABLES.DATA circumvented.
VGETOBS 31.180 Circumvent WPS 3 ABEND with unopened LIBNAME on tape.
READDB2 31.163 WPS 3 ONLY. WPS 3 Compiler macro resolution error.
Major enhancement added in MXG 31.05, dated Jul 23, 2013:
MANY 31.153 Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH DATA
TYPEVMXA 31.151 Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.
TYPETMD2 31.133 Support for TMON for DB2 Version 5 second iteration.
ASMRMFV 31.150 MAJOR RMF III enhancement - dynamic VSAM allocation.
TYPE70PR 31.140 SMF70GNM, Group Name, blank in MXG 31.03-31.04.
TYPE70 31.130 SHARE Weights for zIIP/zAAPs corrected.
TYPE78CU 31.127 Vars R783DCTM/DDTM (CU Connect/Disconnect) added.
ASUMTAPE 31.149 _GRPMNNM/_GRPMNCD failed after Change 30.203.
TYPERACF 31.146 INPUT STATEMENT ERROR RACF UNLOAD, invalid data too.
TYPE120 31.143 TYP1209E variables SM1209DA-DF are accumulated.
UTILEXCL 31.147 Support for CANPROD4, CANPROD5 and CANPROD6 fields
VMAC80A 31.139 Support for RACF TOKDANAM='UNAME'.
RMFINTRV 31.138 Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.
TYPECIMS 31.137 IMF TRXZxxxx variables incorrectly input.
TYPEWWW 31.137 IIS Log with ' ... ' COOKIE value caused MXG loop.
READDB2 31.128 LDB2*** parameters were not honored.
EXUTILEX 31.131 EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor.
Major enhancement added in MXG 31.04, dated Jun 26, 2013:
TYPENMON 31.119 Variables IPCSTIME and TIMEZONE added to NMONBBBP.
TYPEEDGR 31.118 Support for EDGRXEXT variables added in z/OS 1.13
TYPEDB2 31.117 DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
TYPETPMX 31.116 TYPETPMX variable JOBNUM truncated if 6 digits long
READDB2 31.115 READDB2 with COMPRESSED/Internal, NO OBS created.
Major enhancement added in MXG 31.03, dated Jun 17, 2013:
SAS Version 9.4 is COMPLETLY COMPATIBLE with MXG QA tests; no changes
to MXG are required, no errors nor new warnings were observed.
See SAS Technical Note in Newsletter SIXTY-TWO for comparison metrics.
TYPEDB2 31.117 ALL QLSTxxxx VALUES IN DB2 V10 ARE WRONG.
TYPEIMS 31.102 Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted.
TYPEIMSA 31.102 Support for IMS 13, INCOMPATIBLE, DLRAZAAP inserted.
TYPE110 31.110 CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.
ASMTAPEE 31.105 ML-51 corrects MXGC010E error when STKX=NO used.
TYPEDB2 31.093 New "INVALID" DB2 ID=100 ST=5 Startup now Supported.
(and more accurately, "UNDOCUMENTED/UNEXPECTED").
Prior MXG 31.02's could ABEND without this change.
MXG 31.01 and earlier will NOT fail, but will print
1,440 "CALL HOME" messages per subsystem per day.
EXPDBACC 31.094 BUILDPDB enhancement: create your own acct variables.
IMACICUS 31.090 MXG 31.02. LENUSRCH=32 should be LENUSRCH=0 default.
ANALID 31.086 SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.
ASMRMFV 31.111 Further internal enhancements to RMF III support.
Major enhancement added in re-dated MXG 31.02, dated May 5, 2013:
TYPEDB2 31.088 Protection for INVALID ID=100 SUBTYPE=5 DB2 record.
TYPEDB2 31.081 Support for DB2 V10 ID=100 ST=5 IFCID=369 CPU by CONN
New DB2 Statistics record with CPU and Wait Times and
all QBACxxxx variables by Connection Type.
Major enhancements/corrections added in MXG 31.02, dated Apr 29, 2013:
TYPEXDFG 31.049 Support for WAS XD (WebSphere Extended Deployment).
ASMIDMP 31.068 Pace-contributed IDMS exit code for Change 31.018.
JCLSQLID 31.067 Point-in-time mapping DBID/OBID hex to their names.
ANALDB2R 31.067 Point-in-time mapping DBID/OBID hex to their names.
ANALDB2R 31.061 New MXGACC03 report counts concurrent DBATs.
ASMRMFV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
TYPERMRV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
TYPERMFV 31.074 RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong.
TYPE74 31.072 Format MG0748L new value for 16 GB/s Link Type
IMACICUX 31.051 Support for user field CHARGE creates USCHARGE Var.
UTILEXCL 31.051 ***UNKNOWN FIELD*** protection still didn't protect.
IMACCADI 31.060 CA-Dispatch CADIxxxx values corrected.
TYPENMON 31.058 NMON records SEA, SEAPACKET, DONATE are supported.
TYPEDB2 31.056 Variable THREADS now correctly set for ROLLUPs.
TYPEPRPR 31.054 Corrections to '1031' and '1061' records.
TYPEWWW 31.052 IIS Weblog URIQUERY with &=1 and no name supported.
TYPE110 31.048 MXG 31.01 only, STID=29, CICSMDSA dataset wrong.
IMAC6ESS 31.047 ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.
TYPE90A 31.045 ID=90.6,7 EVENTIME is IPLTIME of the system.
Major enhancements/corrections added in MXG 31.01, dated Mar 13, 2013:
TYPEVFTP 31.023 Support for Software Diversified Services VFTP SMF.
TYPEVIP 31.022 Support for Software Diversified Services VIP SMF.
TYPESHDW 31.022 Support for Shadow user SMF subtype 21 record.
TYPEBVIR 31.016 Support for BVIR Version 2.0/2.0a/2.1.
TYPETMMQ 31.020 Support for TMON/MQ Version 2.15 new data.
TYPE85 31.006 Support for OAM SMF ID=85 STs 90,91,92 and 93.
TYPEIDMP 31.018 Support for PACE's IDMS 17 KOMAND/IDCS SMF record.
TYPE102 31.001 Support for variable QW0141OT in T102S141 dataset.
TYPENTSM 31.030 Major update for NTSMF adds datasets and variables.
TYPERMFV 31.021 RMF III Enhancements including ASI/ENC blocking.
TYPERMFV 31.004 RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.
VGETWKLD 31.028 Hardcoded VIEWs removed.
TYPE102 31.027 Variable QWHCEUWN added to T102Snnn DB2 datasets.
PREINIT 31.026 Pre-MXG-Initialization exit for SASHELP.VEXTFL.
TYPEDB2 31.015 "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
VMACSMF 31.014 New %LET SMFPUTHD=NO; suppresses header messages.
TYPE110 31.012 CICLDR output tests LDRTU instead of LDRFC.
TYPETMNT 31.010 MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record.
ANAL120 31.008 Example WebSphere SMF 120 reports revised.
TYPE113 31.003 Message UNINIT VARIABLE SM1132MM minimal impact.
CICINTRV 31.002 CICTSQ new A12xxxx variables now kept in CICINTRV.
TYPEBVIR 31.039 Option to add SYSTEM value to IBM TS7700 BVIR data.
TYPEBETA 31.036 BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
ANALDB2R 31.034 MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Version 9.4 and SAS 9.4.1 were both tested with NO CHANGES.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
with your existing, installed SAS JCL procedure - see below.
SAS Version 9.3 TS1M1 is RECOMMENDED for all PLATFORMS, because
SAS Version 9.3 TS1M0 REQUIRES THE HOT FIX in SAS NOTE SN43828
(for all platforms), and TS1M1 contains that Hot Fix.
Note: SAS 9.2 is reduced to SAS Level B support Sep 30, 2013.
Note: SAS 9.1.3 is reduced to SAS Level c support Sep 30, 2013.
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS93 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 31.31 will execute under SAS Version 9.3, on
all supported platforms, but as noted above, you need TS1M1. With
TS1M0, then the Hot Fix in SAS Problem Note SN43828 is REQUIRED to
correct an error in the %MACRO compiler, which is SAS portable
code, so that Hot Fix is required for ALL platforms.
The %MACRO compiler error is in processing %LET statements. While
only two MXG members failed repeatedly in MXG QA tests on z/OS,
there were random %LET errors in ASCII QA tests, so ANY use of
%LET statement on ANY platform are vulnerable to this error, as
the %MACRO compiler is SAS portable code, used on all platforms.
So this is NOT just an MXG error, but impacts ALL SAS programs.
With the Hot Fix on TS1M0, the full MXG QA test stream executed,
and there were no new warnings on z/OS.
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
MXG 26.03 thru MXG 31.31 will execute under SAS V9.4, V9.3, V9.2
or SAS V9.1.3 with Service Pack 4, on all supported SAS platforms.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS/DB2 Decompression Infile Exit.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN platform,
but SAS V9.2 does execute on that platform.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I can not guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
Version 26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows
Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,
and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS
platforms, including AIX, Linux, and other 'nix' variants, on many
different hardware platforms, and since they all work we don't
need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS hardware changes. However, MXG
Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for
the new zEC12 RMF data metrics added for that new platform.
In August 2013, the MXG-L ListServer was abuzz with several postings
from MXG users and additional references to SHARE papers that all
reported that many z/EC12s are 30%-40% better than zPCR projected.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990 8.8
MVS/ESA 4.2 Mar 29, 1991 9.9
MVS/ESA 4.2.2 Aug 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 COMPATIBLE Jul 23, 2013 31.05
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
CICS/ESA 3.2 Jun 28, 1991 9.9
CICS/ESA 3.3 Mar 28, 1992 10.01
CICS/ESA 4.1 Oct 27, 1994 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 29.05*
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 30.01*
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 30.08*
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 30.30*
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 31.03*
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 30.07*
DB2 10.1 DBID/OBID decode Jan 21, 2013 30.30*
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 31.04*
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
IMS log 11.0 Apr 1, 2010 28.02*
IMS log 12.0 Jan 23, 2012 29.29*
IMS log 13.0 Oct 25, 2013 31.03
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
The Monitor for CICS TCE 3.4 (for CICS/TS 5.1) 30.30
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V6R3 SMF 102 30.037
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 31.08*
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS 31.08*
IMF 5.1 a/k/a Mainview IMS 31.08
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
V. Incompatibilities and Installation of MXG 31.31.
1. Incompatibilities introduced in MXG 31.31:
a- Changes in MXG architecture made between 31.31 and prior versions
that can introduce known incompatibilities.
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes in MXG 31.31 after MXG 30.30:
Dataset/
Member Change Description
ANAL120 31.008 Example reports revised.
ANALATEN 31.205 Analysis of Latent Demand report.
ANALDB2R 31.034 MXG 30.10-30.30. PMAUD02 caused ERROR keyword parm.
ANALDB2R 31.061 New MXGACC03 report counts concurrent DBATs.
ANALDB2R 31.067 Point-in-time mapping DBID/OBID hex to their names.
ANALDB2R 31.262 Some AVG Buff stats wrong, possible dataset not found
ANALDB2R 31.286 Selection by PLAN moved into READDB2, saves time.
ANALGRID 31.248 DATES= any one of the "one word" tokens didn't work.
ANALHSM 31.260 Variable HSMPLEX added to all HSM reports.
ANALID 31.086 SMF Audit Reports DB2 ACCUMAC ZPARM enabled status.
ASMIDMP 31.068 Pace-contributed IDMS exit code for Change 31.018.
ASMRMFV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
ASMRMFV 31.111 Blocking SVP tables over 32K length enhancement.
ASMRMFV 31.150 MAJOR RMF III enhancement - dynamic VSAM allocation.
ASMRMFV 31.230 RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ASMRMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
ASMRMFV 31.287 MXG 31.02-31.09. ASMRMFV could skip RCD tables.
ASMRMFV 31.296 RMF III Enhancements including new TABERR parameter.
ASMTAPEE 31.105 ML-51 corrects MXGC010E error when STKX=NO used.
ASUMSMFI 31.073 Variable TYPETASK added to ASUMSMFI summary dataset.
ASUMTAPE 31.149 _GRPMNNM/_GRPMNCD failed after Change 30.203.
CICINTRV 31.002 CICTSQ new A12xxxx variables now kept in CICINTRV.
EXCICJRN 31.217 Support for CICS "multi journal records".
EXPDBACC 31.094 BUILDPDB enhancement: create your own acct variables.
EXUTILEX 31.131 EXUTILEX is NO LONGER SUPPORTED for UTILEXCL tailor.
FORMATS 31.189 Support for CEX41 Crypto Coprocessor type corrected.
FORMATS 31.251 WPS FAILS WITH 31.08 FORMATS, PICTURE NOT SUPPORTED.
FORMATS 31.291 MG073FR decodes SMF73CPP frame size 16/24/50/64KB.
GRAFCEC 31.246 NOT SORTED error with multiple CEC's data.
GRAFWRKX 31.294 New NEWMODEL parameter view workloads on new CPU.
IHDRTMO2 31.290 TMON/CICS TA records IHDRTMO2 now after the offsets.
IMAC6ESS 31.047 ESS GEPARMKY=0039 creates new ESSOPTNS in TYPE6.
IMACCADI 31.060 CA-Dispatch CADIxxxx values corrected.
IMACICUS 31.090 MXG 31.02. LENUSRCH=32 should be LENUSRCH=0 default.
IMACICUX 31.051 Support for user field CHARGE creates USCHARGE Var.
JCLSQLID 31.067 Point-in-time mapping DBID/OBID hex to their names.
JCLUOTT2 31.293 Sample JCL to create PDB.ASUMUOW,CICS with TMON/CICS.
JCLVSB2U 31.198 JCL example to change RECFM=VBS to RECFM=U w/o copy.
MANY 31.221 ODS Support for TYPE=PDF, MANY ANALxxxx updated
MXGLABEL 31.288 New %MXGLABEL creates LABEL with NAME and LABEL.
Many 31.270 Messages with 'ERROR:' starting in byte one shifted.
PREINIT 31.026 Pre-MXG-Initialization exit for SASHELP.VEXTFL.
READDB2 31.115 READDB2 with COMPRESSED/Internal, NO OBS created.
READDB2 31.128 LDB2*** parameters were not honored.
READDB2 31.163 WPS ONLY. WPS Compiler macro resolution error.
READDB2 31.165 PDB.DB2STAT1 not created with READDB2 STATISTICS.
READDB2 31.167 DB2 V8 ONLY. V8-only IFCID=225 were not read.
READDB2 31.191 READDB2 PDBOUT=, or PDBOUT=XXX may not work right.
READDB2 31.191 READDB2 revision for PDBOUT=WORK or PDBOUT=XXX.
READDB2 31.269 "Too few" IFCIDs listed caused no sort to PDBOUT.
RMFINTRV 31.138 Multi-period RSP/TRN/SWP mislabeled BAT1 vs BATHI.
TYPE0 31.193 TYPE 0 IPL RECORD now 68 bytes in z/OS 2.1, DELETED.
TYPE0 31.193 z/OS 2.1 SMF ID=0 Length changed, record DELETED.
TYPE102 31.001 Support for variable QW0141OT in T102S141 dataset.
TYPE102 31.027 Variable QWHCEUWN added to T102Snnn DB2 datasets.
TYPE102 31.166 Support for IFCID=380 STORED PROCEDURE DETAILS
TYPE102 31.258 Support for IFCID 359, "DB2 Statement ID" decoded.
TYPE102 31.261 Support for DB2 IFCIDs 370 and 371 (OPEN/CLOSE TRACE)
TYPE102 31.278 Support for DB2 Trace IFCID=733 PSEUDO DELETE CLEANUP
TYPE110 31.012 CICLDR output tests LDRTU instead of LDRFC.
TYPE110 31.048 MXG 31.01 only, STID=29, CICSMDSA dataset wrong.
TYPE110 31.075 ASCII execution, RTYPE/RRTYPE may be incorrect.
TYPE110 31.110 CICS/TS 5.1 MNSEGCL=5 file resource INCOMPATIBLE.
TYPE110 31.214 CICSJS variables SJSMAJCP/SJSMINCP are not CPU time.
TYPE110 31.253 SMSGDHWM/SMSGCCUR correction for CICS/TS 4.2 or later
TYPE111 31.283 Support for CICS Transaction Gateway V9R0 (COMPAT)
TYPE113 31.003 Message UNINIT VARIABLE SM1132MM minimal impact.
TYPE113 31.169 SMF 113 vars DWINSORM and DWDASORM wrong for zEC12.
TYPE113 31.169 SMF 113 vars SM1132MT and SM1132MM were blank.
TYPE113 31.172 Macro to re-label SMF 113 counters for old machine
TYPE113 31.208 ASUM113 LPARBUSY/MIPSEXEC wrong for zEC12 processor.
TYPE115 31.179 Support for MQ 7.1.0 SMF 115 subtypes 5, 6, and 7.
TYPE115 31.188 New TYPE115S dataset for SMDS/QEST data.
TYPE115 31.188 Support for MQ SMF 115 ST 2 SMDS/QESD, new TYPE115S.
TYPE117 31.199 S17NNDM added to the BY list _B117NOD for NODUP.
TYPE119 31.218 INVALID DATA FOR SCACTIME in ID=110 SUBTYPE=32.
TYPE120 31.143 TYP1209E variables SM1209DA-DF are accumulated.
TYPE120 31.170 Variable SM1209BK (Short Server) added TYP1209C/S/U.
TYPE30 31.277 TYPE30MU dataset now has zero obs by default: useless
TYPE30 31.280 IOTMNOCA=SMF30AIC-IOTMDASD corrected (was IOTMTOTL).
TYPE42 31.216 INVALID DATA FOR S42CSYNC.
TYPE6 31.106 PRINTWAY and PSF TYPE6 TASKTIME TCP/PSF/TCPE values.
TYPE6 31.207 31.07 only. Debugging SMFLN3=162 LENLEFT=552 removed.
TYPE70 31.130 SHARE Weights for zIIP/zAAPs corrected.
TYPE7002 31.220 Enhancement to CRYPTOGRAPHIC PROCESSOR (70-2) support
TYPE7072 31.174 WARNING: MULTIPLE LENGTHS FOR IFAUPTM and Tutorial
TYPE7072 31.266 MSU Units (Hardware vs Software) in TYPE70/TYPE72GO.
TYPE7072 31.274 System with only CPs + ICFs, LPAR SHARE weight wrong.
TYPE70PR 31.140 SMF70GNM, Group Name, blank in 31.03-31.04.
TYPE74 31.072 Format MG0748L new value for 16 GB/s Link Type
TYPE78CU 31.127 Vars R783DCTM/DDTM (CU Connect/Disconnect) added.
TYPE80A 31.257 TOKDANAM='UTYPE' ERROR if last, new TOK variables.
TYPE85 31.006 Support for OAM SMF ID=85 STs 90,91,92 and 93.
TYPE90A 31.045 ID=90.6,7 EVENTIME is IPLTIME of the system.
TYPEBETA 31.036 BETA93 had invalid data in BETA1 for 4.2.0 and 4.3.0.
TYPEBETA 31.162 Variable JOB and BETAJOBN are now consistent.
TYPEBVIR 31.016 Support for BVIR Version 2.0/2.0a/2.1.
TYPEBVIR 31.039 Option to add SYSTEM value to IBM TS7700 BVIR data.
TYPEBVIR 31.168 Support of Hydra/BVIR Version 3 new data fields.
TYPEBVIR 31.254 BVIR30 dataset was incorrect with VERSION 3 records.
TYPECIMS 31.137 IMF TRXZxxxx variables incorrectly input.
TYPECIMS 31.206 Support for IMF 5.1 (INCOMPAT, but only CIMSDBDS).
TYPECIMS 31.233 Correction for IMF 4.2 thru 5.1 (WRONG VALUES)
TYPEDB2 31.015 "Truncated" QPACLOCN/COLN/PKID/ASHC/AANM maybe wrong.
TYPEDB2 31.056 Variable THREADS now correctly set for ROLLUPs.
TYPEDB2 31.081 Support for DB2 V10 ID=100 Subtype 5 DB2STAT5 dataset
TYPEDB2 31.093 DB2STAT5 "INVALID" record supported, STARTUP event.
TYPEDB2 31.108 DB2STATS vars QXSTCWLP+ and QISTWMXU incorrect.
TYPEDB2 31.117 DB2 V10. All QLSTxxxx numerics WRONG (DBSTATR/STATS).
TYPEDB2 31.196 Support for APAR PM67806 adds QW0225DMH DMH GETM.
TYPEDB2 31.196 Support for DB2 APAR PM67806 adds QW0225DMH DMG GETMs
TYPEDB2 31.240 Support for DB2 V11.1. MXG 30.30 TOLERATES, see text.
TYPEDB2 31.245 Support for APAR PM90886 new IDAA/NETEZZA ELIGIBLEtm.
TYPEDB2 31.259 Variable QWHSNIDIP=IP*ADDR*FROM*QWHSNID QWHCATYP=8
TYPEDB2 31.272 Invalid SMF 101 subtype 1 from ASG TMON/DB2 DB2ACCTP.
TYPEDB2 31.275 MXGWARN: T102S225 DOES NOT EXIST.
TYPEDB2 31.282 DB2PM *ROLSUM*,*ROLLUP* both now set DB2PARTY='R'.
TYPEEDGR 31.118 Support for EDGRXEXT variables added in z/OS 1.13
TYPEIDMP 31.018 Support for PACE's IDMS 17 KOMAND/IDCS SMF record.
TYPEIDMS 31.197 After MXG 30.30, only IDMS 17, zero obs in IDMSINS.
TYPEIMS 31.102 IMS 13 inserted field in 07 Log record INCOMPAT
TYPEJESC 31.225 Support for Emtex JESCONNECT SMF Record.
TYPENMON 31.058 NMON records SEA, SEAPACKET, DONATE are supported.
TYPENMON 31.119 Variables IPCSTIME and TIMEZONE added to NMONBBBP.
TYPENMON 31.164 Protection for invalid NMON DISKxxxx records.
TYPENMON 31.264 Support for Red Hat Linux Data Group,NFSCLIV4 metrics
TYPENTSM 31.030 Major update for NTSMF adds datasets and variables.
TYPEPDM 31.226 Support for Alebra Parallel Data Mover SMF record.
TYPEPRPR 31.054 Corrections to '1031' and '1061' records.
TYPERACF 31.146 INPUT STATEMENT ERROR RACF UNLOAD, invalid data too.
TYPERMFV 31.004 RMF III, z/OS 1.13 APAR OA38660 ASI data wrong.
TYPERMFV 31.021 RMF III Enhancements
TYPERMFV 31.074 RMF III dataset ZRBLCP var LCPUPOLR/CHIN/CHIX wrong.
TYPERMFV 31.273 Support for RMF III CATG3 Cache Data ERB74CA dataset.
TYPERMRV 31.062 RMF III Enhancements - blocking CPU and CPCDB.
TYPESHDE 31.177 SHADOW variable SM01ADCT ADABAS COMMAND COUNT wrong.
TYPETLMS 31.215 Support for new TLMS variables, compression percent
TYPETMD2 31.133 Support for TMON for DB2 Version 5 second iteration.
TYPETMMQ 31.020 Support for TMON/MQ Version 2.15 new data.
TYPETMMQ 31.190 Many new variables added to TMMQQU MQ QUEUE dataset.
TYPETMMQ 31.190 New variables added to TMMQQU.
TYPETMNT 31.010 MSGID NOT FOUND for MXGTMNT SYSLOG SUBTYPE 8 record.
TYPETPMX 31.116 TYPETPMX variable JOBNUM truncated if 6 digits long
TYPETPMX 31.263 ERROR.VMACTPMX. VARNAME=$INCLAI or $DBS_SD NOT FOUND.
TYPEVFTP 31.023 Support for Software Diversified Services VFTP SMF.
TYPEVIP 31.022 Support for Software Diversified Services VIP SMF.
TYPEVMXA 31.151 Support for zVM 6.3 MONWRITE, INCOMPAT due to MXG.
TYPEVMXA 31.194 31.02-31.06, z/VM 6.2.12, STOSHG BROKEN CONTROL REC.
TYPEVMXA 31.194 MXG 31.02-31.06 BROKEN CONTROL, STOSHD MRHDRLEN=112.
TYPEWWW 31.052 IIS Weblog URIQUERY with &=1 and no name supported.
TYPEWWW 31.137 IIS Log with ' ... ' COOKIE value caused MXG loop.
TYPEXAM 31.160 Support for Velocity Software new segments new data.
TYPEXDFG 31.049 Support for WAS XD (WebSphere Extended Deployment).
TYPEZPRO 31.167A VOLTAGE Release 4.2 segment count circumvention.
UTILBLDP 31.276 Tool to ad hoc read SMF is enhanced WANTSMF= list.
UTILEXCL 31.051 ***UNKNOWN FIELD*** protection still didn't protect.
UTILEXCL 31.147 Support for CANPROD4, CANPROD5 and CANPROD6 fields.
UTILEXCL 31.295 Negative values in variable TASELGTM with IMACEXCL.
VGETOBS 31.180 Circumvent WPS ABEND with unopened LIBNAME on tape.
VGETOBS 31.200 Revisions in concert with VMXGWORL for READDB2.
VGETOBS 31.212 Final (?) revisions to VGETOBS to bypass tape mounts.
VGETOBS 31.247 ERROR: WORK.MXGTABLES NOT FOUND with earlier VGETOBS.
VGETOBS 31.250 A better way to identify TAPE data libraries.
VGETWKLD 31.028 Hardcoded VIEWs removed.
VMAC73 31.291 SMF73SPD Channel Speed now always in MBits/sec.
VMAC80A 31.139 Support for RACF TOKDANAM='UNAME'.
VMACSMF 31.014 New %LET SMFPUTHD=NO; suppresses header messages.
VMXGINIT 31.285 JCL //INSTREAM DD is no longer required for z/OS MXG.
VMXGRMFI 31.268 Some RMFINTRV xxxxSWAP xxxxTRAN xxxxEXCP un-formatted
VMXGSRCH 31.171 UNABLE TO CREATE WORK.TABLES.DATA BECAUSE ..VIEW....
VMXGSRCH 31.219 Search which character variables contain text string.
VMXGWORL 31.200 Revisions in concert with VGETOBS for READDB2.
WPS 31.224 Current status of WPS circumventions and differences.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 31.
====== Changes thru 31.296 were in MXG 31.31 dated Jan 20, 2014=========
Change 31.296 -RMF III Enhancements and Fixes
ASMRMFV -New parameter TABERR=ABEND/IGNORE/WARN directs ASMRMFV
ADOCRMFV when one or more RMF Monitor III table validation
ZASMRMFV errors have occurred (default WARN). Table validation
Jan 18,2014 has been part of ASMRMFV since Change 31.080 in MXG
V31.02.
-Validating RMF III tables prevents incorrect and/or
conflicting data from being absorbed into an MXG PDB that
could be difficult to detect, diagnose, and resolve.
-A validation error occurs when an offset or length within
a table is not as expected or is logically inconsistent.
For example, the length of the table header is greater
than the total table length. This should be a VERY RARE
event.
-However, in past versions ASMRMFV could issue Return Code
0000 when such errors occurred thus making it appear that
there were not any problems in the ASMRMFV run.
-With this change ASMRMFV will issue Return Code 0016 when
one or more table validation errors occur. This is the
only condition for which this Return Code is issued.
-When a table validation error occurs the entire table is
skipped and thus the data will not appear in the result
PDB.
-These errors are thus a significant event and should be
reported to MXG Technical Support as soon as possible.
Use TABERR=IGNORE to bypass these errors and not set
Return Code 0016 until the issue can be resolved.
-Such tables are skipped and written to the optional
RMFSKIP DD if present in JCL. They will not be included
in the result PDB so all data in the table is lost.
These are not reliable data sources and could result in
more serious problems if they were input to a PDB build.
-RMFV035* (*=I,S) is now a variable severity message that
reports table validation errors both in ASMRMFV detail
and summary reports. In some cases RMFV035* will report
more details on the specific error.
-Prologue documentation in ASMRMFV source code and in the
ADOCRMFV member has been updated with a discussion of the
TABERR= parameter.
-Performance for the output of some RMF III tables to the
RMFBSAM file is improved by using block data moves to the
output buffer when moving contiguous entries within a
table. In the past ASMRMFV moved single entries at a
time. This applies to the CPD, CSR, ENT, OPD, and SPG
tables only.
-RCD processing did not include the RCDRD section when
validating this table and this is corrected.
-ASMRMFV was initializing variable mode messages before
PARM processing was complete so that *ERR= PARM overrides
were not affecting the corresponding message format. The
overrides were functional but the corresponding message
format could be incorrect.
-The patch for Change 31.287 only is included in the
archival ZASMRMFV member intended only for use with
non-z/Architecture hardware. No other changes after
Change 31.181 are included as this member is stabilized.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 31.295 Negative values in variable TASELGTM, zIIP Eligible time,
UTILEXCL in dataset CICSTRAN, when UTILEXCL was used to create the
Jan 18, 2014 tailored IMACEXCL member (support for EXCLUDEd fields in
your CICS SMF 110 records). The generated IMACEXCL code
incorrectly subtracted TASZIPTM from OFFLCPTM.
-UTILEXCL logic to KEEP TASELGTM,TASZIPTM was added.
Thanks to Paul Volpi, UHC, USA.
Change 31.294 NEWMODEL parameter added to GRAFWRKX to allow you to
GRAFWRKX see what your workloads would look like on a different
Jan 18, 2014 CPU model. Formats TMPSUSEC and TMPNRCPU are defined
in member GRAFWRKX to map NEWMODEL to Hardware SU_SEC
and NRCPU Engine count for MSU Capacity for the new
processor, to recalculate CPU time and percent busy.
Change 31.293 Sample JCL to create PDB.ASUMUOW, PDB.CICS for TMON/CICS.
JCLUOTT2 The MONICICS file is read with tailored "TYPETMO2" logic
Jan 16, 2012 to create MONITASK dataset, but KEEPs only the variables
that are needed, to save disk space, CPU, and I/O. Then,
MONITASK dataset is summarized by ASUMUOW and ASUMCICX
to create the PDB.ASUMUOW and PDB.CICS summary datasets.
No DB2 nor MQ data is processed in this example.
Change 31.292 The DATASET name requested is now printed in the default
VMXGPRNT TITLE1 by VMXGPRNT. However, see also MXGLABEL that is
Jan 15, 2014 added by Change 31.288 which may be simpler to learn!
-MXGWARN that WORK.SP_L does not exist is suppressed.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.291 Variable SMF73SPD was in MBits/sec if SMF73MSC=0 or was
FORMATS in Bits/sec otherwise with Bits/sec in the label, but it
VMAC73 makes more sense to label and store MBits/sec for this
VMAC79 new Channel Speed metric added by APAR OA22918 for z196
Jan 16, 2014 (High Performance FICON support). SMF73SPD is zero for
FICON Express 4 channels; the enhanced metrics are only
generated by FE-8 and FE-8S or later channels.
-Variable SMF73CPP in TYPE73 and R79CCPP in TYPE79 are
decoded by MG073FR format to display the channel path
frame size (16/24/40/64KB).
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Thanks to Brian Currah, Independent Consultant, CANADA.
Change 31.290 For TMON/CICS Transaction Records, 'TA', the IHDRTMO2
IHDRTMO2 exit is now taken AFTER the offsets to the 22 subsections
VMACTMO2 have been INPUT so you can know what data is present and
Jan 15, 2014 so you could reset the NUMBER to zero to suppress their
processing; IHDRTMO2 comments identify entry variables.
Change 31.289 Cosmetic. VGETOBS could be called with DATASET=_NULL_,
VGETOBS notably in VMXGUOW if MQ/DB2/CICS is suppressed.
Jan 12, 2014 This change detects the _NULL_ and returns eliminating
warning messages.
Change 31.288 New MXGLABEL macro reads the contents of a SAS dataset to
MXGLABEL create a LABEL statement with the VARIABLE NAME and LABEL
Jan 16, 2014 as the label's value for each variable in that dataset.
These labels are the same as VMXGPRNT/VMXGPRA1/VMXGPRAL
print, but if you know how to use PROC PRINT, you can use
MXGLABEL and not have to learn those program's arguments:
%MXGLABEL(DATASET=PDB.JOBS,NAMEPOSITION=BOTTOM);
PROC PRINT DATA=PDB.JOBS SPLIT='*';
&MXGLABEL;
TITLE PRINT WITH NAME AND LABEL OF DATASET &MXGDATASET;
The VARIABLE NAME can be at the TOP or BOTTOM of the new
label when split-printed, and you can choose the bookend
character (around the variable name) and even change the
asterisk SPLIT CHARACTER.
-%MXGLABEL also creates a macro variable &MXGDATASET with
the name of the dataset dataset name (like for TITLEs).
-The LABEL statement is returned in both the old-style
macro token _MXGLABL and in the macro variable &MXGLABEL.
-Macro variables are limited to 64K characters, and with
a 32-character name and 40-character label, only 858 vars
labels would fit in 64K text, but this implementation has
no such limit, by storing only the NAME of the old-style
macro (%LET MXGLABEL= _MXGLABL;) for the macro variable's
value, so only your disk space limits amount of code.
THIS ONLY WORKS IF &MXGLABEL IS EQUATED TO _MXGLABL TEXT
BEFORE MACRO _MXGLABL IS INSTANTIATED. Equating after
instantiation will fail if the expanded text exceeds 64K.
-The USEFILE argument defaults to MXGLABEL and writes to
the WORK file as a CATALOG so it can be any 8-character
file name for the write and read. See Change 31.285.
-A LABEL statement AFTER the &MXGLABEL statement will
override the stored label; SAS uses the last statement.
Change 31.287 MXG 31.02-31.09. ASMRMFV could skip RCD tables during
ASMRMFV validation added in Change 31.080 (MXG 31.02) of the
Jan 12, 2014 RCDSD/RCDPD section entry lengths. There were no error
nor warning messages, but an uncleared register could
cause the calculated length to exceed 32K which caused
the entire RCD record to be not be written to RMFBSAM,
causing RCD datasets to have zero observations.
(The ASMRMFV report of record types read/written did
show there were RCD records read but now all written.)
The register is now cleared in the two overlooked places.
-This change to ASMRMFV also requires MXG at 31.09 to read
the new RMFBSAM 31.287 records, due to new source members
added to support the CAT records. Specify NOCAT instead.
-However, if you update your current ASMRMFV with these
two one-line-inserts in ASMRMFV, the RCD records won't
be skipped, and your current MXG VMACRMFV processing will
correctly populate the RCD datasets.
Find these two ICM statements in your ASMRMFV and insert
the SR statement between the JL and ICM like this:
JL SKIPRCD YES, ERROR
SR R0,R0 SET REG0=0 <===ADD THIS LINE
ICM R0,3,RCDPDAL(R9) GET LENGTH OF ONE RCDRD ENTRY
JL SKIPRCD YES, ERROR
SR R0,R0 SET REG0=0 <===ADD THIS LINE
ICM R0,3,RCDSDAL(R9) GET LENGTH OF ONE RCDRD ENTRY
Member JCLASM3 is the sample JCL for the assembly and
link-edit installation of the EDITed ASMRMFV.
Thanks to LaRae Balthazor, Charles Schwab, USA
Thanks to Anh Ngo, Charles Schwab, USA
Change 31.286 If you specified MXGxxxxx=NO, to skip that report, errors
ANALDB2R resulted: ANALDB2R syntax error caused that parameter to
Jan 11, 2014 be compiled as a DATA step statement, but there was no
semi-colon to end the statement, causing various errors.
NO or blanks are now taken as NO.
If you specified PLAN= with PDB=SMF, the PLAN name was
not passed to READDB2 so ALL records were read and then
selection was done by ANALDB2R after READDB2, where it
should have been done to minimize disk,I/O,CPU,etc.
PLAN is now included in this list of parameters that can
be passed from ANALDB2R to READDB2 for READDB2 selection.
AUTHID BEGTIME CONNID CONNTYPE DB2 ENDTIME PLAN
Thanks to Stephen Hughes, Excellus, USA.
Change 31.285 SEE CHANGE 32.022 WHICH REMOVED THIS CHANGE FROM MXG.
VMXGINIT INSTREAM FILEREF OR DDNAME IS STILL REQUIRED IN MXG.
Jan 13, 2014 ORIGINAL CHANGE TEXT:
Feb 4, 2014 The //INSTREAM DD is no longer required for MXG on z/OS.
Now, VMXGINIT, at MXG Initialization, executes
FILENAME INSTREAM CATALOG 'WORK.MXGTEMP.INSTREAM';
which allows INSTREAM to be used as an external I/O file.
On z/OS, the CATALOG will be used when there is no DD.
On ASCII, the VMXGINIT FILENAME INSTREAM is always used,
since it will be after any FILENAME in AUTOEXEC and will
replace an existing INSTREAM fileref if one exists.
MXG has always required an INSTREAM fileref, either as
//INSTREAM DD in the JCL, or FILENAME INSTREAM, because
MXG writes text (SAS statements) to it "on the fly" and
a %INCLUDE INSTREAM; executes the created program code.
-The CATALOG syntax has a three or four part name
FILENAME INSTREAM CATALOG 'lib.catalog.entry.entrytype'
where entrytype can be anything for READ, but only LOG,
OUTPUT, SOURCE, or CATAMS (the default 4th) for WRITE.
-In testing this transparent enhancement, I re-discovered
.On z/OS or ASCII, FILENAMEs allocated with a FILENAME
can be CLEARed, and the MXGNAMES/VMXGCNFG JCL for z/OS
uses FILENAME INSTREAM, so INSTREAM it could be cleared.
.On z/OS, FILENAMEs allocated in JCL cannot be CLEARED.
.But you should never need to CLEAR the JCL INSTREAM DD:
There's nothing that precious about FILENAME INSTREAM
except that it is guaranteed to be there when needed.
Especially since you can't clear the JCL DD anyhow!
You can always use a different NAME in your FILENAME
statement, with either CATALOG or TEMP to create an
external file for your "instream" code creation. I did
consider using TEMP instead of CATALOG for INSTREAM
default in VMXGINIT, but on z/OS the CATALOG syntax is
simpler, while the more complex (but more powerful)
TEMP option requires device and size and JCL DD stuff.
.ERROR: Catalog WORK.MXGTEMP DOES NOT EXIST if you try to
read INSTREAM (INCLUDE/INFILE) before it was written.
Change 31.284 If you specified MXGMQADD=NO and executed _SUOWMQ you got
VMXGUOW a SAS message that a data step was being stopped because
Jan 9, 2014 it was looping. This was caused by the absence of a SET
statement that is conditionally executed if MXGMQADD=YES.
An ELSE STOP; was added to prevent the message (which
did not cause an ABEND or failure.)
Change 31.283 Support for CICS Transaction Gateway CTG V9R0 (COMPAT).
VMAC111 -Variable CTGSTART, DAEMON*START*DATETIMESTAMP is INPUT
Jan 9, 2014 and kept in all TY111xx datasets.
-New variables added to TY111GD Daemon dataset:
CTGIRESP='INTRV*DAEMON*AVG RESP*WITH I/O'
CTGLRESP='LIFE*DAEMON*AVG RESP*WITH I/O'
CTGIXNHI='INTRV*PEAK*INFLIGHT*XA TRANS'
CTGIXNHI='LIFE*PEAK*INFIGHT*XA TRANS'
See correction in Change 32.007.
Change 31.282 APAR PI06009 to TDS DB2PM reports notes their report will
VMACDB2 display '*ROLSUM*' for DB2 V10 Packages with QPACRUSM='Y'
Jan 8, 2014 for the new Rollup Summary record flag, while '*ROLLUP*'
is unchanged in V9 if QPACROLL='Y'. With this alert, MXG
variable DB2PARTY='R' is now set if QPACRUSM='Y' so both
Rollup and Rollup Summary records are identified in the
DB2ACCTP dataset.
Change 31.281 DB2 dataset T102S377 variable QW0377PT was incorrectly
VMAC102 input as 4 bytes when it is a 2 byte field, which caused
Jan 8, 2014 wrong values in QW0377FL/QW0377PG/QW0377NU.
(This was my bad for missing my own coding error, that
wasted the customer and IBM DB2 Support's time.)
Thanks to Bart Steegmans, IBM DB2 Support, USA.
Change 31.280 MXG variable IOTMNOCA=SMF30AIC-IOTMDASD now correctly
VMAC30 compares the DASD connect time captured in SMF30AIS with
Jan 1, 2014 the sum of IOTM from the DASD DD segments; previously it
incorrectly used IOTMTOTL in the equation.
Values from minus 20 seconds to plus 20 seconds are found
occasionally, where minus 20 means that the DD segment
IOTM was greater than the SMF30AIC DASD connect time.
====== Changes thru 31.278 were in MXG 31.09 dated Dec 30, 2013=========
Change 31.278 -Support for DB2 Trace IFCID=377 (PSEUDO DELETE CLEANUP).
EX102367 creates T102S377 dataset.
EX102374 -Support for (HEADER ONLY) all of these new ID=102 IFCIDs
EX102375 that are documented in DB2 V11;
EX102376 367 374 375 376 378 379 382 383 384 385 386 397
EX102377 398 399 499
EX102378 Actual data records are required to decode new IFCIDs,
EX102379 but by adding the structure for all of these possible 102
EX102382 subtypes, only VMAC102 itself will need to be updated to
EX102383 decode the IFCID-unique variables in these records.
EX102384
EX102385
EX102386
EX102397
EX102398
EX102399
EX102499
IMAC102
VMAC102
VMXGINIT
Dec 28, 2013
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.277 TYPE30MU dataset now has zero obs by default. It is not
EXTY30MU actually used by IBM SCRT nor MXG for analysis, it can be
Dec 26, 2013 very large, because it replicates product segments in the
same interval, and because if you really need it, it can
be easily enabled, by removing the comment block in the
EXTY30MU exit member in your "USERID.SOURCLIB" tailoring.
Change 31.276 UTILBLDP is the RECOMMENDED ad hoc tool to read SMF data.
UTILBLDP New WANTSMF="list of ID.SUBTYPE" provides easier syntax
Dec 26, 2013 for selection of ID/SUBTYPES you want to be read. You
select the PRODUCTS with BUILDPDB=YES or USERADD=n m z.
You then use either WANTSMF= to select the ones you want,
or you use the existing ZEROOBS= to alternatively force
the unwanted subtypes to have zero observations.
%UTILBLDP(BUILDPDB=NO,
USERADD=42 7072 71 73 74 CMF,
WANTSMF=42.6 70.1 73 74.1 74.5 74.6 240);
%INCLUDE BUILDMXG;
Generally, you can use the argument with fewer arguments,
but to use ZEROOBS correctly you must know all subtypes
in advance, while using WANTSMF= you only need to list
the ID.SUBTYPEs you know about and want.
Thanks to Pat Artis, Performance Associates, Inc., USA.
Change 31.275 Spurious DATASET T102S225 DOES NOT EXIST messages are
READDB2 corrected for that archaic dataset, populated only with
VMACDB2 DB2 V8, where it is written as ID=102 SUBTYPE=IFCID=225,
Dec 25, 2013 and thus read with %READDB2. Instead, in DB2 V9 plus,
Dec 26, 2013 IFCID=255 is written as ID=100 records and read with
TYPEDB2/BUILDPDB. In all versions, however, all QW0225xx
variables are output in the PDB.DB2STATS dataset, which
contains all interval statistics
-MXGNOTEs listing the Subtypes/IFCIDS wanted are revised.
Change 31.274 On a system with only CPs and ICFs, the LPAR SHARE weight
VMAC7072 calculations were wrong, with values like weights instead
Dec 21, 2013 of the expected percentages. The test that deletes 'IFL'
now also delete 'ICF's from weight calculations.
Thanks to Stephen Hoar, Lloyds Banking, ENGLAND.
Change 31.273 Support for RMF III CATG3 Cache Data which writes SMF 74
ADOCRMFV subtype 5 records to the RMF III VSAM file with the same
ASMRMFV metrics as RMF I SMF records, but with more granularity
ASUMCACH (typical 1 minute RMF III INTERVAL and yet take less DASD
EXZRB74C space (only active devices are written in the one-minute
EXZRB74I III records, while all devices are written to RMF I SMF).
EXZRBCAT (Note: MXG outputs ONLY active devices so the output size
IMACZRB per interval will be the same.) This support creates the
VMACRMFV new ZRB74CA dataset, instead of naming it TYPE74CA, since
VMXGINIT archaic variables from segments that no longer exist are
Dec 23, 2013 not kept, but all other variable names are the same.
Dec 28, 2013 -ASUMCACH will now read either SMF TYPE74CA or RMF ZRB74CA
to create PDB.ASUMCACH, looking for ZRB74CA first.
-Notes for collection and use of RMF III Cache Data:
-The RMF Monitor I parameters CACHE and ESS must also be
in effect on the same system with the RMF Monitor III
CACHE parameter. The RMF Monitor I defaults are CACHE
and NOESS.
-If ESS is not in effect for RMF Monitor I on the cache
collection system the related PDB variables will be
missing values (in both TYPE74CA and ZRB74CA).
-From Newsletter FIFTY:
14. Specifying the RMF Monitor I CACHE Option in only
one SYSTEM's RMF parameters eliminates redundant
records on other systems and has been always
recommended. There are other RMF Monitor I options,
ESS(RANK) and ESS(LINK) and FCD along with CACHE
that should all be in one, and the same, SYSTEM, per
these IBM suggestions:
ESS(RANK) - Link performance statistics are gathered.
ESS(LINK) - Extent pool statistics and rank statistics gathered.
As ESS data gathering involves cache activity
measurement, it is recommended to specify both
options in common.
If you specify ESS together with NOCACHE, cache
data is gathered implicitly without writing SMF
74.5 records!
In a SYSPLEX, options CACHE and ESS can be specified
on any system sharing the measured devices.
Therefore specify the ESS and CACHE options together
on one selected system only to avoid duplicate data
gathering.
CACHE - Create SMF 74.5 TYPE74CA Cache Statistics
IMPORTANT: CACHE is the DEFAULT option IBM sets in
RMF Monitor I, so you MUST then ADD a statement with
NOCACHE in RMF parms for all but that one SYSTEM.
-With this change all RMF Monitor III documented tables of
practical use are now supported by MXG.
-Creating readable 74.5 records from the RMF III VSAM was
non-trivial in ASMRMFV, because those records can be more
than 32K bytes in the VSAM file, so longer records needed
to be broken into shorter, but complete, records.
-New ASMRMFV parameters CAT (alias H) and NOCAT (aliases
-CAT, -H) are provided to select or filter CATG3 table
data respectively.
-ASMRMFV messages RMFV036I and RMFV105I are updated to
show CAT table information.
-ASMRMFV validates the CAT header and each SMF Type 74.5
record contained in the CAT table.
-Initial ASMRMFV assembly environment message RMFV000I is
revised to show the assembly date as a Julian date, as a
date in ddmmmYYYY format, and as the 3 character day of
the week.
-The ASMRMFV source code prologue as well as the ADOCRMFV
documentation member are updated appropriately.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change
must be installed. See MXG SOURCLIB member JCLASM3 for
sample JCL for the assembly and link-edit install steps.
-Only data for active devices is collected which means
that for some Subsystem IDs (SSIDs) all device data
variables in the PDB could be missing for some RMF III
MINTIME intervals.
-Cache Controller data is gathered by individual device
address. There is no indication of which system in the
sysplex initiates a recorded event. Therefore, the data
can be gathered on any system sharing the cached devices.
-Avoid unnecessary high CPU utilization and duplicated
data by gathering cache activity data on only ONE system
per IBM documentation for either RMF Monitor I or RMF
Monitor III.
-Use the RMF Monitor I and RMF Monitor III parameter
NOCACHE to suppress cache data collection on all other
systems.
-Use CACHE(ssid1,ssid2,..,ssidn) in RMF Monitor III to
collect data for only those Subsystems needed. RMF
Monitor I does not support selection by SSID.
-Selection by Subsystem ID may also be needed if not all
subsystems are shared. In this case cache data
collection will be needed on more than one system.
-Consult the section "Generalizing Parmlib Members" in the
IBM RMF User's Guide for your z/OS level for a method to
control selection of which system records cache data.
Other approaches are certainly possible with system
automation tools.
-The best choice for a cache data collection system is one
with high uptime that is not already CPU stressed. z/OS
systems operating as z/VM guests will not record cache
data even if requested.
-All ASMRMFV messages that display a Julian date in the
format of YYYY.DDD are enhanced to show the date as
DDMMMYYYY and a 3 character day of the week.
-11 messages are updated to have the improved date
display:
RMFV000I, RMFV001I, RMFV006I, RMFV008I, RMFV012I,
RMFV013I, RMFV023W, RMFV025I, RMFV026I, RMFV032E, and
RMFV034I.
-Message RMFV008I showed an incorrect creation date when
a non-VSAM data set was supplied in error for a RMF III
VSAM data set. The creation date in this case will
not be shown.
-DSNAME= in the RMFV008I message is now abbreviated to
DSN= to conserve line space.
-1ST VOL= in the RMFV008I message is now abbreviated to
VOL= to conserve line space. It continues to show the
first volume for a multi-volume file.
Change 31.272 Invalid SMF 101 Subtype 1 created from ASG TMON/DB2 had
VMACDB2 INPUT EXCEEDED RECORD error that this change circumvents
Dec 19, 2013 while the problem is investigated. The triplets for the
QBAC and QTXK segments are reversed, and their count does
not always match the count of QPAC segments.
Change 31.271 Support for APAR OA43380 which adds CA*SPLITS and
VMAC42 CI*SPLITS in TYPE42S1-S4 and TYPE42D1-D datasets:
Dec 19, 2013 S1: SMF42FSA SMF42FSB
S2: SMF42FTA SMF42FTB
S3: SMFA2FSA SMFA2FSA
S4: SMFA2FTA SMFA2FTB
D1: SMF42GTA SMF42GTB
D2: SMF42GSA SMF42GSB
D3: SMFA2GTA SMFA2GTB
D4: SMFA2TSA SMFA2GSB
Change 31.270 Cosmetic. MXG Error Messages with 'ERROR:' starting in
VMAC28 byte one of the output are counted by SAS and flagged as
Dec 19, 2013 an ERROR on that page, and text printed in RED on the SAS
log, but that was not my intention, and these members are
corrected so that 'ERROR:' does NOT start in column one:
VMAC28 VMAC102 VMAC110 VMAC113 VMACDB2
VMACHURN VMACNMON VMACVMXA VMACXAM
Most of the "actual" error conditions detected by MXG are
printed 'MXGERROR: ' but there is a lack of consistency.
Thanks to MP Welch, Bank of America, USA.
Change 31.269 -If you specified "a small number" of IFCIDS, they weren't
READDB2 sorted into the output PDBOUT libname because of an
Dec 19, 2013 incorrect compare for GT 1 that should have been GT 0.
Dec 23, 2013 Probably caused by Change 31.128 (MXG 31.05).
Dec 25, 2013 -If you ran ANALDB2R with PDB=SMF and PDBOUT= was NOT set
to PDB, a U1950 ABEND was generated by VGETOBS if the PDB
libname did not exist in your SAS session. Caused
by the PDB2225 macro variable default of PDB and ANALDB2R
did not reset the value to the value of PDBOUT argument.
-Messages about datasets not being deleted were deleted.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.268 These RMFINTRV variables should not have been formatted
VMXGRMFI as TIME12.2 since none are durations:
Dec 18, 2013 OTHRSWAP OTHRTRAN OTHREXCP OTHRWKST OTHRSERV OTHRPGIN
TSO2SWAP TSO2TRAN TWO3SWAP TSO3TRAN TSO4SWAP TSO4TRAN
TRIVTRAN TRIVSWAP
Those variables have been buried in &R72VAR for a long
time and it was in the TIME12.2 format statement.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 31.267 Messages that there are 0 OBS or dataset was not found
VGETOBS are suppressed when dataset=_ALL_ is specified.
Dec 18, 2013
Change 31.266 Documentation of MSU/SERVICE variables. To be expanded.
VMAC7072 -In TYPE72GO dataset, MSU and Service units are the old
Dec 18, 2013 and original "Hardware MSU based on SU_SEC/R723MADJ.
Feb 3, 2016 -Variable SERVICE in TYPE72GO dataset is the sum of
these FIVE components
CPUUNITS SRBUNITS MSOUNITS IOUNITS ZIPUNITS.
(some old MXG notes have only the first four listed but
ZIPUNITS have always been included in SERVICE).
-Variable MSU72 is CPUTM*SU_SEC/1E6, "Hardware MSU", which
includes ALL of the recorded CPU times in the Service
Class 72s. This is the amount of MSU that were consumed
by this Service Class/Reporting Class during this
interval, based on SU_SEC.
-The MSU units in the TYPE70 MSU variables are "Software"
MSU based on the (smaller value) in CECSUSEC/SMF70CPA.
(because they are now used for "SOFTWARE PRICING").
-Current SMF70CPA=13,000 and SU_SEC=26,000 is an example.
-Text revised, Feb 3 2016: TYPE72GO variable MSUSOFT was
wrong, but was revised in Change 34.010 and does now
contain the Software MSU CECSUSEC/SMF70CPA based.
Change 31.265 Variable STC13MRC='Y' was incorrect when STC13MNR='Y'
VMACSTC should have been have been set, and STC13MNR='Y' never
Dec 17, 2013 was set; MXG tested 00/01 instead of 01/02 STC13RCI.
Thanks to Mike Jacques, BBand T, USA.
Change 31.264 -NMON data for Red Hat Linux has new Data Group metrics
EXNMONDG that create the new dataset
VMACNMON DDDDDD DATASET DESCRIPTION
VMXGINIT NMONDG NMONDG LINUX DATA GROUP METRICS
Dec 17, 2013 -The BBBP Configuration Records have no text in common
with the BBBP records previously supported so the
NMONBBBPxxx datasets will not be populated at this time.
If you can identify which BBBP data is important, I will
update the MXG Support for those data.
-Support for NFSCLIV4 record is supported with these new
variables created in NMONNFS dataset:
OPEN OPEN_CONF OPEN_NOAT OPEN_DGRD CLOSE SETATTR
RENEW SETCLTID CONFIRM LOCK LOCKT LOCKU
LOOKUP_ROOT RENAME
LINK SYMLINK CREATE PATHCONF STATFS READLINK
READDIR SERVER_CAPS DELEGRETURN GETACL SETACL
FS_LOCATIONS
Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.
Change 31.263 -ERROR.VMACTPMX. VARNAME=$INCLAI NOT FOUND because the MXG
VMACTPMX code for tokenid=51467 was $INCLA, which is now corrected
Dec 17, 2013 to $INCLAI for the test; the variable INCLA is unchanged,
Dec 18, 2013 but now will be populated.
-ERROR.VMACTPMX. VARNAME=$DBS_SD-bar NOT FOUND creates new
variable DBS_SDBA in TYPETPMX dataset.
Thanks to Paul Volpi, UHC, USA.
Change 31.262 -ANALDB2R Account Detail report had some incorrect average
ANALDB2R buffer calculations that could be repeated values. Values
Dec 16, 2013 impacted were Seq prefetch, list prefetch, dyn orefetch,
Dec 18, 2013 asycnh reads, hpool writes, hpool reads, hpool reads
failed.
-If you separated the larger datasets like DB2ACCT or
DB2ACCTP into separate DDNAMES and used the DB2ACCT*
parameters to point to those LIBNAMES, ANALDB2R did not
find the datasets since it only looked in the LIBNAME
pointed to by the PDB= parameter.
Thanks to Jim Lazowski, Northern Trust, USA.
Change 31.261 Support for DB2 IFCIDs 370 (OPEN TRACE DATASET) and 371
EX102370 (CLOSE TRACE DATASET) creates T102S370 and T102S371 data
EX102371 sets.
FORMATS
IMAC102
VMAC102
VMXGINIT
Dec 13, 2013
Thanks to Lori Masulis, Fidelity Systems, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 31.260 Variable HSMPLEX added to all reports and graphs and if
ANALHSM you are on SAS 9.3 or greater ODS GRAPHICS are used for
Dec 8, 2013 the graphs. A line plot was substituted for the bar chart
where AVG/MAX values by function are being graphed and
VMXGODSO/VMXGODSC were inserted to allow you to send the
output to HTML or PDF.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.259 Variable QWHSNIDIP='IP ADDRESS*FROM*QWHSNID' is added to
VMACDB2 DB2ACCT, DB2ACCTB, DB2ACCTP, DB2ACCTG, DB2ACCTR datasets
VMACDB2H and is populated only for QWHCATYP=8 (DDF Connections).
Dec 5, 2013 When the eight-byte text QWHSNID contains an IP address,
Dec 15, 2013 eight EBCDIC text characters represent the four hex bytes
('A971896F' is 169.113.137.111)), but the VTAM NID must
start with an alphabetic character, so those IP addresses
that start with digits 0 thru 9 for the first nybble, the
value in QWHSNID starts with 'G' thru 'P'. This encoding
was found in a note about message DSNL030I.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 31.258 -Support for IFCID 359 INDEX PAGE SPLIT record populates
VMAC102 the QW0359xx variables in existing T102S359 dataset.
Dec 3, 2013 QW0359DB='DATA*BASE*ID'
Dec 12, 2013 QW0359FL='FLAGS'
QW0359OB='INDEX*PAGE*SET*ID'
QW0359PG='SPLITTING*PAGE*NUMBER'
QW0359PT='PARTITION*NUMBER'
QW0359TE='TIMESTAMP*AT ENDING OF*SPLIT'
QW0359TS='TIMESTAMP*AT BEGINNING*OF SPLIT'
-The new DB2 Statement ID variable is written to SMF as
either a 4-byte binary or an 8-byte character field that
are now formatted HEX8. for the numeric variables or are
now INPUT as $CHAR8. and formatted $HEX16. for character
QW0172TZ QW0172H9 QW0172W9
QW0196W9 QW0196H9 QW1196H9 QW2196H9 .. QW8196W9.
QW0173CS QW0317ID
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori Masulis, Fidelity Systems, USA.
Thanks to Paul Volpi, UHC, USA.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.257 -INPUT STATEMENT EXCEEDED if TOKDANAM='UTYPE' was the last
VMAC80A segment because MXG expected a 4-byte binary number but
Dec 3, 2013 the field is a 1-byte EBCDIC &NUM1. field.
-New variables decoded and labeled with variable name:
TOKQUEST1 TOKQUEST2 TOKANS1 TOKANS2 TOKAD1 TOKAD2
TOKCOMPANY TOKCOUNTRY TOKFNAME TOKMNAME TOKLNAME
TOKSTATE TOKWTEL TOKZIPCODE
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 31.256 Cosmetic. INPUT for QPACLENX GE 428 actually read in 452
VMACDB2 so the INPUT is split to read thru 428 and then thru 452.
Dec 2, 2013
Change 31.255 Variable R744MCPI in dataset TYPE74MO for SCM does not
VMAC74 exist and was a "copy down" typo when that code block was
Dec 2, 2013 created; it is now deleted completely.
See Change 33.155. SCM data is now in TYPE74ST dataset.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.254 BVIR30 dataset was incorrect with VERSION 3 records.
VMACBVIR
Nov 28, 2013
Change 31.253 -Change 30.078 corrected SMSGDHWM/SMSGCCUR for CICS/TS 4.1
VMAC110 and earlier but the change of multiplicand was still
Nov 28, 2013 wrong for CICS/TS 4.2 and later.
Thanks to Paul Volpi, UHC, USA.
Change 31.252 -VMXGSUM. If a variable was missing in a NORMx parameter,
VMXGSUM a warning was issued pointing to a variable name but not
ASUM72GO to the specific NORMx parameter that was in error. The
Nov 25, 2013 warning message is now enhanced to contain the full text
of the NORMx parameter.
-ASUM72GO. The DURATM variable was not in the SUM= list
which raised a warning about a missing variable in NORM3.
Change 31.251 MXG 31.08-9 FORMATS fails with BACKLEVEL WPS VERSION 2
FORMATS in statement in line 22864:
Nov 22, 2013 PICTURE MGXLDATE OTHER='%0m/%0d/%0Y %0H:%0M:%0S'
Oct 10, 2014 (DATATYPE=DATETIME);
with "ERROR: Found "DATATYPE" when expecting )
because DATATYPE was not supported by WPS until their
Version 3.1 And MWRTDT format added in MXG 32.09 also
failed with WPS 2.05. MGXLDATE was never used and so
it was removed. MWRTDT is required by MOBWRK06 MOBILE
WORK Discount analysis to meet IBM's CSV file format.
Thanks to Ken Drody, State of Delaware, USA.
Thanks to Kre Martin Torsvik, EVRY AS, NORWAY.
Change 31.250 A spurious MXGWARN when a libname had not been referenced
VGETOBS led to a better way to identify TAPE data libraries and
Nov 22, 2013 to enhance the elimination of tape mounts:
If the LIBNAME has never been referenced:
First record is read as an INFILE and engine type is
identified so the LIBNAME can be issued with the
appropriate engine. If this is a disk library it is
NOT added to the list of DDs found on tape/sequential.
If the DDNAME is on tape and SPINTAPE NE YES and DATASET
NE _ALL_, OBS count is set to one and no further
processing is needed.
If SPINTAPE=YES or DATASET=_ALL_:
All tape volumes are read to find all datasets and
captured in MXGTABLES which is NOT deleted.
If DATASET NE _ALL_, then also looks for this
specific dataset in MXGTABLES, and will verify the
dataset exists and determine an OBS count.
Else if SPINTAPE NE YES and DATASET NE _ALL_ and
the dataset is on disk, looks for the specific
dataset without using MXGTABLES. This is also the
behavior on ASCII as LIBNAMEs must have been
identified to SAS with a LIBNAME statement.
If a dataset does not exist or has 0 OBS the calling
program may give you a message indicating the issue
and then will die gracefully. The results are in
global macro variables VGETDSN and VGETOBS. If
VGETDSN is empty, the dataset did not exist.
Thanks to MP Welch, Bank of America, USA.
Change 31.249 These datetime variables were INPUT but not formatted or
VMAC110 not LENGTH'd or were not kept, but no one had noticed,
Nov 18, 2013 except for the MXG QA tests, so this is cosmetic.
VMAC110 : DS7LSTRT DS7START
VMAC74 : SMF74GIE
VMAC75 : SMF75GIE
VMAC76 : SMF76GIE
VMAC77 : SMF77GIE
VMACBBMQ: CHLTOD0
VMACCIMS: IMSSTCK
VMACIMS : SYNCSTCK
VMACIMSA: STSTARTTOD SYNCSTCK TPCPCLCK
VMACOMCI: ESFTIME
VMACOPC : MT0OCCTOK
VMACROSC: TIME ==> Renamed to TEMPCKTI not KEPT
VMACSMF : TESTTIME ==> Renamed to SMFTIME
VMACSYSV: RTCLOCK RTCSTART SDCRETOD SCDRSTOD
VMACTMMQ: LMRKTOD2
VMACTMNT: REND ==> Renamed to RENDTIME
VMACTMO2: T2INEDTS T2INSDTS TMMDXSTK TXINEDTS TXINSDTS
VMACTMV2: IPLTIME
VMACVMXA: PLSFOB1T PLSFOBTM
VMACXPSM: OUTGTIME
Change 31.248 If you specified DATES= any of the "one word" tokens like
ANALGRID LASTWEEK, etc., a logic error occurred because &TO was a
Nov 17, 2013 null value. Now, FROM=INPUT("&FROM",?? DATE.) is used so
a missing value results instead of the error.
Thanks to Andrew Woods, Interactive Data, ENGLAND.
Change 31.247 ERROR: WORK.MXGTABLES NOT FOUND occurs if PROC ANYTHING
VGETOBS without a DATA= argument was executed after %VGETOBS was
Nov 15, 2013 executed, because in the absence of a DATA= argument, SAS
uses the &SYSLAST macro variable, and VGETOBS created and
then deleted the WORK.MXGTABLES dataset, but &SYSLAST is
not changed when that last-created dataset is deleted!
(But even if SAS had set &SYSLAST to a _NULL_ value, the
PROC ANYTHING would still fail with a NO DATASET FOUND.)
The MXGTABLES dataset, added in 31.06, is created and is
normally deleted by %VGETOBS, an internal utility used in
many (52) MXG members, primarily to determine if a SAS
dataset has any obs (but also used to avoid tape mounts
as documented in Change 31.212, and it is NOT deleted if
SPINTAPE=YES it set). Now that this exposure has been
understood, VGETOBS is revised to store &SYSLAST at entry
and that dataset is restored in &SYSLAST at exit. Had we
been slightly smarter, this change should have been made
to VGETOBS instead of changing ANALHSM in Change 31.211,
which also failed due to the absence of a DATA= argument
after VGETOBS had been executed there! Note that there
is NOTHING wrong in a PROC without a DATA= argument, as
long as the &SYSLAST dataset actually exists!
-Although undocumented, setting automatic macro variable
&SYSLAST also sets the automatic macro variable &SYSDSN
and the system option _LAST_.
Thanks to Otto Burgess, ATPCO, USA.
Change 31.246 The data used for testing had only a single CEC so the by
GRAFCEC statement that included CECSER had no problem. But when
Nov 13, 2013 data from multiple CECs was included a not sorted error
occurred because CECSER was not in the sort BY list.
Change 31.245 Support for APAR PM90886 adds these DB2ACCT variables for
VMACDB2 IBM DB2 Analytics Accelerator (IDAA)/NETEZZA modelling:
VMAC102 QWAC_ACCEL_ELIG_ELA='ACCEL*ELIGIBLE*ELAPSED*TIME'
Nov 13, 2013 QWAC_ACCEL_ELIG_CP ='ACCEL*ELIGIBLE*CP CPU*TIME'
Dec 13, 2013 QWAC_ACCEL_ELIG_SE ='ACCEL*ELIGIBLE*ZIIP CPU*TIME'
Dec 16, 2013 -IBM did confirm that the new fields are only in IFCID=3
Dec 18, 2013 (ID 101 Subtype 0) are not in IFCID=369 (ID 100 SUBTYPE
5) DB2STAT5 data which also contains the QWAC DSECT.
-Variable QWP4ACMO='ACCELMODEL*PARAMETER*VALUE' is
added to T102S106 dataset.
-Dec 13: The QWAC DSECT was received and code revised but
no data available for validation.
-Dec 13: The Q8ST DSECT was revisited and Q8STQUEW was not
input causing many of the Q8STxxxx variables in DB2STATS
to be incorrect.
-Dec 16: IBM Support confirmed the values in variables
Q8STCCPU and Q8STWCPU are percentages times 100 so they
are now correctly input with two decimal places.
-Dec 18: The new fields in DB2ACCT were validated.
Thanks to Tim King, Blue Cross Blue Shield of South Carolina, USA.
Thanks to Scott Chapman, AEP, USA.
Thanks to Clinton Moore, Verizon, USA.
====== Changes thru 31.244 were in MXG 31.08 dated Nov 12, 2013=========
Change 31.244 TYPE21 (a/k/a PDB.TAPES) variables BYTEREAD and BYTEWRIT
VMAC21 were wrong or missing for DEVICE=3590 when SMF21MFV was
Nov 12, 2013 NOT on (i.e, when SMF21MCR/MCW/MDR/MDW were NOT valid),
due to incorrect logic that did not use SMF21BRN/SMF21BWN
(SMF21NCT was ON, which applies ONLY to 3590 devices).
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 31.243 Change 31.186 (MXG 31.07) inserted LENGTH DEFAULT=&MXGLEN
ASUM113 but the 113 variables must be stored in LENGTH DEFAULT=8
Nov 12, 2013 because they are large numerics that are then DELTA'ed;
those defaults are now 8.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.242 Reserved Change Number
Nov 12, 2013
Change 31.241 Support for CICS User field CMODNAME,CMODHEAD=USTHRD00.
IMACICVF
UTILEXCL
VMAC110
Nov 12, 2013
=====Changes thru 31.240 were in FIRST MXG 31.08 dated Nov 12, 2013=====
Change 31.240 Support for DB2 V11.1 (COMPATIBLE). MXG 30.30+ TOLERATES
VMACDB2 V11 with no EXECUTION error, but MXG 31.04 is REQUIRED to
VMAC102 correct QLSTxxxx variables in DB2STATS for V10 and V11.
Nov 11, 2013 -All new V11 fields were added AT THE END OF SEGMENTS so
MXG Version 30.30+ tolerates V11.1, but new variables are
not output.
-Dataset PDB.DB2STATS now correctly contains all of the
IFCID=225 variables, and (as previously documented but
not actually implemented) dataset DB2ST225 will always
have zero observations, when TYPEDB2/BUILDPDB is used.
Unintentionally, DB2 V10 IFCID=225 data was output in
DB2ST225 dataset, and DB2 V9 IFCID=225 data output in
DB2STAT4 dataset. Fortunately, DB2ST225 and DB2STAT4
were then combined into PDB.DB2STATS, so there was no
actual error, as long as you use PDB.DB2STATS dataset.
Now, V9-V11 IFCID=225 are output in DB2STAT4 and the
DB2STAT4 KEEP= list contains all QW0225xx variables.
-If you still have archaic DB2 V8 with IFCID=225 records,
you will need to use %READDB2(IFCIDS=STATS) to create the
WORK.T102S225 dataset for V8 and DB2STAT4 for V9-V11 so
all 225s from all versions are output into PDB.DB2STATS.
-Dataset DB2ACCT new variables in DB2 V11.1:
QWACATCT='ACCUMULATED*AUTONOMOUS*WAIT*COUNT'
QWACATRY='AUTONOMOUT*ROLLUPS*IN THIS*RECORD?'
QWACATWT='ACCUMULATED*AUTONOMOUS*WAIT*TIME*/
QWACPQCT='WAITS*FOR*PARALLEL*SYNCH'
QWACPQRY='RECORD*CONTAINS*PARALLEL*QUERY*ROLLUP?'
QWACPQWT='WAIT TIME*FOR PARALLEL*SYNCH*/
QXALTMP ='ALTER*MASK*OR*PERMISSION'
QXCREMP ='CREATE*MASKS*OR*PERMISSION'
QXCRTSV ='CREATE VARIABLE'
QXDEGAT ='PARALLEL*FALLBACKS*SEQ MODE*AUTONOMOUS'
QXDRPMP ='DROP*MASK*OR*PERMISSION'
QXDRPSV ='DROP VARIABLE'
QXHJINCS ='RID APPEND*HYBRID*JOIN*NO RIDPOOL'
QXHJINCT ='RID APPEND*HYBRID*JOIN*RIDS EXCEEDED'
QXMAXESTIDG='MAX PARALLEL*GROUP*ESTIMATED*DEGREE'
QXMAXPLANDG='MAX PARALLEL*GROUP*PLANNED*DEGREE'
QXN1093A ='SERVICEABILITY*QXN1093A'
QXN1093B ='SERVICEABILITY*QXN1093B'
QXPAROPT ='PARALLEL*DEGENERATED*OPTIMIZATION'
QXPFMAXUG ='SERVICEABILITY*QXPFMAXUG'
QXPFMAXUM ='SERVICEABILITY*QXPFMAXUM'
QXPFSENUM ='SERVICEABILITY*QXPFSENUM'
QXPFSENUMG='SERVICEABILITY*QXPFSLNUMG'
QXPFSLNUM ='SERVICEABILITY*QXPFSLNUM'
QXRSMIAP ='RID LIST*RETRIEVAL*SKIPPED'
QXSISTOR ='SPARSE*INDEX*DISABLES*INSUFF STORAGE'
QXSIWF ='SPARSE*INDEX BUILDS*PHYS WORK FILE'
QXSTARRAY_EXPANSIONS='ARRAY*VARIABLE*EXPANDS*GT 32K'
QXSTODGNGRP='PARALLEL*DEGENERATE*TO SEQ*SYSTEM STRESS'
QXSTOREDGRP='PARALLEL*REDUCED*SYSTEM*STRESS'
QXWFRIDS ='RID OVFLO*NO RIDPOOL*STORAGE'
QXWFRIDT ='RID OVFLO*RIDS EXCEED*INTERNAL LIMIT'
QTGAFCNT ='FALSE*LOCK*UNLOCK*CONTENTIONS'
-Dataset DB2ACCTP new variables in DB2 V11.1:
QPACAACW='WAIT*DURATION*ACCELERATOR'
QPAC_PQS_WAIT='WAIT*DURATION*PAR QUERY*SYNC'
QPACAACC='WAIT*TRACES*ACCELERATOR'
QPAC_PQS_COUNT='WAIT*DURATION*PAR QUERY*SYNC'
-Dataset DB2ACCTW now outputs all segments in each record;
previously, only the first segment was output; there were
no new variables added by V11; this was discovered when
examining possible new variables!
-Dataset DB2STATS (from Subtype 0) new variables:
QWSDLRG ='HIGH USED*RBA ADDRESS*OF LOG'
QSST_RSMAX_WARN='TIMES*REALSTORAGE_MAX*WARNING*REACHED'
QSST_P64DISNUM='64-BIT*POOL*CONTRACTS'
QSST_P64DISBLK='64-BIT POOL BLOCKS*REQUIRED*DISCARD
QSST_P64DISPGS='64-BIT POOL PAGES DISCARDED'
QSST_CONTSTOR_NUM=31-BIT*POOLS*CONTRACTED*CONTSTOR'
QDSTNQMN='MIN QUEUED*DURATION*THIS PERIOD'
QDSTNQMX='MAX QUEUED*DURATION*THIS PERIOD'
QDSTNQAV='AVG QUEUED*DURATION*THIS PERIOD'
QDSTNCCW='QUEUED*CONNS*SOCKETS*CLIOSED*MAX WAIT'
-Dataset DB2STATB (from Subtype 1) new variables:
(where n=1,2,3,4 for the four groups of buffer vars)
QBnTSMIN='MIN*BUFFERS*ON SLRU'
QBnTSMAX='MAX*BUFFERS*ON SLRU'
QBnTHST ='TIMES WHEN*LEN OF*SLRU=VPSEQT'
QBnTRHS ='TIMES*RANDOM*GETPAGE*BUFFER HIT'
-Dataset DB2STATS (from Subtype 0) INPUT but NOT KEPT
QJSTSPNN &PIB.4.
QJSTSPNI &PIB.8.
QJSTCLID &PIB.4.
QJSTCL2 $EBCDIC2.
QJSTCLSN $EBCDIC10.
QJSTAVAL $EBCDIC128.
because all are documented as Serviceability without
any labels. They could be output using _KDB2ST0 macro.
-Dataset DB2STATS (from Subtype 1) new variables:
QISTI2AC='NON-SORT*DM*IN MEM*WKFILE*ACTIVE'
QISTI2AH='NON-SORT*DM*IN MEM*WKFILE*MAXIMUM'
QISTI2OF='TYPE-2*INMEM WFS*OVERFLOWS'
QISTIMNC='WF NOT*CREATED*DUE TO*CRITICAL*STORAGE'
QISTASTH='WFDB*AGENT USAGE*ALERT*THRESHOLD'
QISTSSTH='WFDB*SPACE USAGE*ALERT*THRESHOLD'
QISTAMXU='WFDB*MAX STORAGE*USED BY*ANY THREAD'
QISTWSTG='CURR WFDB*STORAGE*CONFIG*ALL TBLSP'
QISTDGTTSTG='WFDB*DGTT*PREFERRED*STORAGE'
QISTDGTTCTO='CURR*ALL AGENT*TOT STORAGE'
QISTDGTTMXU='MAX*ALL AGENT*TOT STORAGE'
QISTWFSTG='TOT*PREFER*STORAGE*CONFIG*IN WFDB'
QISTWFCTO='CURR*TOT*STORAGE*ALL WF*ALL AGENTS'
QISTWFMXU='MAX TOT*STORAGE*ALL WF*ALL AGENTS'
QISEKSPA8='STORAGE*ALLOCATED*SHAREABLE*SQL'
-Dataset DB2STATS (from Subtype 4) new variables:
QW0225_LMWRITE_REAL='LM*WRITE*BUFFER*BYTES*REAL'
QW0225_LMWRITE_AUX ='LM*WRITE*AUX?*RESERVED'
QW0225_LMCTRL_REAL ='LM*WRITE*CONTROL*BYTES*REAL'
QW0225_LMCTRL_AUX ='LM*WRITE*CONTROL*BYTES*AUX'
QW0225SC8='ALLOC*SHAREABLE*STORAGE*DYNAMIC SQL'
QW0225LS8='REQ*SHAREABLE*STORAGE*DYNAMIC SQL'
QW0225SX8='ALLOC*SHAREABLER*STORAGE*STATIC SQL'
QW0225HS8='HWM*REQ*SHAREABLE*STORAGE*DYNAMIC SQL'
-Dataset T102S106 new variable, added back in DB2 V10:
QWPBIMTZ='IMPLICIT*TIME*ZONE'
9999999=CURRENT
-9999999=SESSION
Other values, -779 to +840 represent -12:59 to +14:00
-Only these other ID=102 IFCIDs have been data-verified;
none were changed: 105, 199, 254, 261. Other IFCIDs for
V11 will need actual SMF data for update/validation.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 31.239 Values for MG073FE format values 07x,08x,11x,12x and 13x
FORMATS were corrected:
Nov 7, 2013 07X='07X:FEX8 AUTO@2GBPS'
08X='08X:FEX8 AUTO@4GBPS'
11X='11X:FE8XS AUTO@2GBPS'
12X='12X:FEX8S AUTO@4GBPS'
13X='13X:FEX8S OP@8GBPS'
Thanks to Pat Sheehan, FIS Technology.
Thanks to Kenneth Thornbrough, FIS Technology, USA
Change 31.238 Variable QAPLTFM (PLATFORM) added to TMMQQAA dataset.
VMACTMMQ
Nov 7, 2013
Change 31.237 The PCTIFLBY in datasets ASUMCELP and ASUMCEC incorrectly
VMXG70PR used the sum of IFLs allocated to all LPARS, which makes
Nov 6, 2013 no sense for these CEC-level datasets. It is corrected
to use the number of installed IFLs, NRIFLCPU, which is
also now stored in the count variables IFLCPUS/LPARCPUS.
Thanks to Julian Smailes, Experian, ENGLAND.
Change 31.236 DB2 Trace IFCID=196 now outputs sets of variables for up
VMAC102 to nine lock holders/waiters.
Nov 6, 2013
Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 31.235 REPLACED MAR 27, 2014: See Change 32.073 which supports
VMACSMF reading from //SMF for VBS dumped data and/or //LOGGER.
VMXGINIT Original change text:
Nov 12, 2013 SMF Logstream DATA MIGHT be readable directly by MXG with
%LET READLSMF=0; in your //SYSIN.
which:
Changes the DCB for INFILE SMF to VB,32756,32760 inside
the _SMF macro that is defined in VMACSMF.
(Reading with VBS caused an IEC141I 013-A8 ABEND),
and the value in READLSMF is used for OFFSMF.
(This was coded when I thought perhaps OFFSMF=4 would
be required for the LOGGER, which is required to read
VSAM, but OFFSMF=0 with VB appear so far to work fine.)
-The SMF DD needs SUBSYS=(LOGR,IFASEXIT). The DCB on the
SMF DD is unimportant since what is set in _SMF is used.
Unfortunately, unlike VSAM that can be detected so the
normal MXG program reads either VSAM or BSAM dumped SMF
data, there is no way to detect the input is Logstream
Data, so you must use %LET READLSMF=0; to try to read!
-If you test this technique, please protect your job with
a TIME= parameter to ABEND if a CPU Loop occurs. An early
test did appear to CPU loop, but that case has NOT been
repeated in any subsequent tests.
-Reading the LOGGER file with either RECFM=VB or RECFM=U
and using INPUT;LIST; produces a SAS hex dump that does
NOT show a BDW nor RDW and it is possible that using
U or VB might be equally functional. Please report any
success OR FAILUREs to support at mxg.com and this change
text will be updated if more is discovered.
-A note posted to IBM-MAIN after MXG 31.08 was GA states:
We do not ship an official mapping macro for the SMF
buffers returned by a log stream browse. The intended
interface to get SMF records in log streams is IFASMFDL.
You can however IXGBRWSE the log stream and see the
buffers are returned in a consistent format, but this is
of course not supported by IBM.
In some cases the data returned by the log stream browse
has to be manipulated by SMF before the user sees it,
such as if zEDC compression is turned on in z/OS 2.1.
Thanks to Seighart Seith, FICUCIA, GERMANY.
Change 31.234 Final semicolon for one of the several LIBNAMEs was not
VGETDDS generated, but only if GDGs were involved. &EXOUT was
Nov 4, 2013 not always initialized; it is used to keep track of DDs
that were found in EXTFILES that may or may not be SAS
data libraries; if at the end it is non-zero length a
warning is produced showing the DDs that were found that
way. &INCR, used only for GDG, was not used in two %DOs.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.233 Correction for IMF 4.2 thru 5.1 WRONG VALUES IN CIMSTRAN.
VMACCIMS MXG code was misaligned, impacting these newer variables:
Nov 4, 2013 TRNEWLMC TRNOTCON TRNOTSTC TRNOTSOC TRNOTPRT TRNOTIP
TRNOTCLN TRNOTUSR TRNOTSTF TRNOTSYF TRNOTSLF TRNOTCLF
TRNOTSCF TRNOTCOR TRNOTCLP TRNMQMID
Also TRNOTCON is now formatted DATETIME21.2 and variables
TRNOTUSR, TRNOTSTC, TRNOTCLN, and TRNOTMAM are EBCDIC and
not $HEX formatted.
-This update also required VMXGINIT from 31.08 to support
&IMFMQ that was added by Change 31.206.
Thanks to Jan Tielemans, KBC, BELGIUM.
Change 31.232 ZRBDVT observations with DVTSAMPA=0 but non-zero ACTIVITY
EXZRBDVT in EXZRBDVT's definition were not output; these variables
VMACRMFV CONNTM PENDTM DISCTM DVBUSYTM CUBUSYTM SWPODLTM were set
Nov 3, 2013 to a missing value when DVTSAMPA=0, but some, plus CMRTM
were found to be non-zero even with DVTSAMPA=0. Now they
are always calculated, and all are included in ACTIVITY
so observations are output when ANY are non-zero. So, how
can there be activity with DVTSAMPA=0? All cases observed
were for TAPE devices and all were the last observation
for a VOLSER; some variables (CONNTM, DISCTM) were almost
equal to the DURATM. Presumably, this is activity for
the dismount of a VOLSER. This condition was discovered
when the new ASMRMFV DVTNOZEROIO option (Change 31.230)
wrote 607 records (of 1,932,611) that were not output by
the ACTIVITY test in EXZRBDVT.
-A cosmetic change was made in VMACRMFV so the ZRBxxxx
datasets are created in alphabetical order to make it
is easier to find how many obs were created in each.
Change 31.231 $MGSMFID format now decodes SMF ID=28 & ID=119 subtypes.
FORMATS
Nov 2, 2013
Thanks to MP Welch, Bank of America, USA.
Change 31.230 -RMF III Enhancements: BIG DISK SPACE SAVED in ZRBDVT.
ADOCRMFV -Enhanced DVT table filtering added as discussed below.
ASMRMFV -New parameters ZEROIO/NOZEROIO are added and are only
Nov 3, 2013 applicable to RMF Monitor III DVT processing by ASMRMFV.
Nov 7, 2013 -Alias for ZEROIO is ZIO and the aliases for NOZEROIO are
NOZIO or NZIO. The default is NOZEROIO.
-ZEROIO specifies output of all volume entries from the
DVT table to the RMFBSAM file regardless of I/O activity.
This was the ASMRMFV behavior in prior versions.
-NOZEROIO specifies output of only volume entries from the
DVT table to the RMFBSAM file that have I/O activity.
This is new default ASMRMFV behavior with this version.
THIS CHANGED THE ZRBDVT SIZE FROM over 66,666 cyl to less
than 14,000. Note that we also recommend that ASMRMFV use
PARM='NOSHD,NORED' to reduce the output size, and if you
are not planning on detail analysis of wait types, NOUWD
can be added for further space reduction.
-DSNTYPE=LARGE is now supported for the required RMFBSAM
output file as well as the optional RMFFILT and RMFSKIP
files
-A DVT volume entry in a MINTIME interval is considered to
HAVE I/O activity if ANY of the following I/O measures
are NON-ZERO using the DVT fields and calculations shown:
* Connect Time (DVTCOTIL-DVTCOTIF)
* Pend Time (DVTPETIL-DVTPETIF)
* Disconnect Time (DVTDISIL-DVTDISIF)
* I/O Queue Length (DVTIOQLC)
* Accumulated I/O Instruction Count (DVTSAMPA)
* Initial Command Response Time (DVTCMRIL-DVTCMRIF)
-Stated another way, if all of these I/O measures are zero
for a DVT volume entry and NOZEROIO is in effect the
entry is NOT output to the RMFBSAM file.
-During testing there was about a 93% reduction in DVT
output record volume with NOZEROIO in effect which also
improves performance during the PDB build. This may not
be typical and your results may vary.
-A second new filtering parameter only applicable to RMF
Monitor III DVT table processing is
DEVTYPE=ALL/DASD/TAPE.
-Aliases are DEVT= and DT=. The default is DEVTYPE=ALL
which provides the same behavior as earlier ASMRMFV
versions.
-DEVTYPE=ALL specifies that all DVT volume entries
regardless of device type are output to the RMFBSAM file.
-DEVTYPE=DASD specifies that only DVT volume entries for
disk devices are output to the RMFBSAM file. This
setting may be relevant for users only interested in disk
analysis from their PDB. Abbreviations for the DASD
value are DAS, DA, or D.
-DEVTYPE=TAPE specifies that only DVT volume entries for
tape devices are output to the RMFBSAM file.
Abbreviations for the TAPE value are TAP, TA, or T.
-DEVTYPE=DASD or DEVTYPE=TAPE may be used together with
NOZEROIO. In this case device type filtering occurs
before any zero I/O filtering.
-If both DEVTYPE=DASD and DEVTYPE=TAPE are specified only
the last occurrence takes effect.
-Enhancement for the Direct Method of running ASMRMFV is
discussed below.
-A new keyword MAXDSNAMES= is provided to allow user
specification of the number of entries in the dsname
table to contain INDSNAME= patterns when the Direct
Method is used with ASMRMFV. Aliases for MAXDSNAME= are
MAXDSNAME=, MAXDSN=, or MAXDS=.
-Prior to the addition of MAXDSNAMES= the only way to
change dsname table size was by a source change to
ASMRMFV followed by a re-assembly and re-link. The
dsname table was integrated as part of the program but
now resides in a separate memory area.
-MAXDSNAMES=nnnn specifies the number of entries to be
allocated in the dsname table. nnnn is an integer
ranging from 1 to 9999. The default is MAXDSNAMES=256.
Each dsname entry requires 44 bytes.
-While MAXDSNAMES=9999 is the maximum value supported by
ASMRMFV, in reality a realistic value is the maximum
number of TIOT entries supported by z/OS for single unit
DD statements.
-Initial ASMRMFV RMFV001I messages that show the current
execution environment are enhanced to show the TIOT SIZE
as defined in the ALLOCxx member in PARMLIB (shown as
TIOT SIZE=nnK), the maximum number of single unit DD
statements possible with that TIOT size (shown as
MAXDD=nnnn), and the number of DD statements used at the
start of ASMRMFV execution (shown as USEDD=nnnn).
-The actual maximum number of entries allowed for
MAXDSNAMES=nnnn is the value for MAXDD= less the value
for USEDD=. If MAXDSNAMES=nnnn exceeds this value it is
set instead to the result of MAXDD - USEDD.
-MAXDSNAMES=MAX may be specified instead and the result is
the number of dsname entries calculated as just described
above.
-NOTE: If MAXDSNAMES=nnnn or MAXDSNAMES=MAX is specified,
it MUST appear before ANY INDSNAME= parameters appear.
The first INDSNAME= option triggers the allocation of the
dsname table and the number of entries cannot then be set
later.
-New message RMFV038I appears when a dsname table is
allocated showing the number of dsname entries and size
in bytes.
-New second message RMFV038I appears when a dsname table
is freed or exhausted showing the number of entries
available/used and the percentage used.
-A second 32K output buffer used for filtering only has
been added. Any tables written to the optional RMFFILT
DD will be blocked just as if they were written to
RMFBSAM.
-NOZEROASI and NOZERODVT options were not always properly
shown in the RMFV037I options list message.
-Messages RMFV006I for filters and RMFV037I for options
are updated to show the new NOZEROIO and DEVTYPE=
parameters.
-Message RMFV007S had an incorrect value for Reason Code
when a GETMAIN, FREEMAIN, or DLVRP service error
occurred. These services do not issue a Reason Code
(only a Return Code) so this field is set to blanks in
these cases.
-Fixed a S0C4 Abend when the FROMDATE= value exceeded the
TODATE= value. ASMRMFV was attempting to read past the
SYSIN end of file when it should have terminated parm
processing. The same issue could occur if FROMTIME=
exceeded TOTIME= where FROMDATE= and TODATE= were the
same date.
-ASMRMFV now supports keywords up to 11 characters in
length for future development.
-NOTE: The prior suggestion for initial setting of ASMRMFV
parameters for new users was PARM='NODVT'. However, now
that a large percentage of DVT volume entries with zero
I/O activity can be filtered out with NOZEROIO by
default, that suggestion is changing.
-Instead use PARM='NOSHD,NORED' in JCL (or NOSHD NORED in
SYSIN). The MXG distributed EXZRBSHD and EXZRBRED output
exits for VMACRMFV suppress the respective SAS data sets
from being created later in the PDB build because they
contain only control data not useful for analysis.
Excluding these tables in ASMRMFV processing will reduce
PDB build overhead by not creating SHD and RED table
output in the RMFBSAM file in the first place.
-NOTE: If you do not plan to develop your own USE/WAIT
analysis by type of WAIT, you can also use add NOUWD to
the PARM= or SYSIN file to further reduce PDB build
overhead.
-The ASMRMFV source prologue as well as the ADOCRMFV
documentation member are updated appropriately.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Peter Gray, HP Australia, for the DSNTYPE=LARGE suggestion.
Change 31.229 -Documentation. Regarding the inconsistent interval data
VMACXAM DURATION (seconds) mentioned, contact VELOCITY SOFTWARE
Oct 25, 2013 for a band-aid "fix" with your zWRITE data-collection
script. Explain that you want to see consistent
15-minute interval data for the entire 24-hour period.
This would be akin to the IBM RMF SYNC(59M|00M) option.
-Also, you want to be up-to-date on VELOCITY zWRITE/zVPS
maintenance, that being at least PROD4142 to address some
instances when not all data was being flushed from the
in-memory buffers at zWRITE data-close (typically
end-of-day) time.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.228 IMS zIIP CPU time is created in IMF CIMSTRAN dataset as
VMACCIMS CPUZIPTM=TRXZTCPU-TRXZONCP;
Oct 25, 2013
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.227 These report members failed after the default argument
ANALAVAI PDB= was changed to &PDBMXG, which fails due to timing of
ANALBLSR macro variable resolution. This example shows the problem
ANAL72GO and that a direct circumvention requires THREE periods to
Oct 23, 2013 properly resolve to PDB.TYPE72GO:
Nov 12, 2013 %MACRO TESTIT(PDB=&PDBMXG);
%LET A=&PDB..TYPE72go;
%LET B=&PDB...TYPE72go;
%PUT A=&A;
%PUT B=&B;
%MEND TESTIT;
%TESTIT;RUN;
Why only these three, when MANY of the %MACRO members in
MXG have the same syntax? Because all of the others have
a %LET PDB=%UPCASE(&PDB); statement after the %MACRO, and
that (accidentally?) circumvents the macro timing, so if
these three had been properly created with the %UPCASE,
this peculiarity would not have been observed.
-ODS Graphics likes to override time formats with DATETIME
formats. YAXIS statement inserted to force it to use
the format as specified in the data. Nov 12 update.
Change 31.226 Support for Alebra Parallel Data Mover USER SMF record
EXTYPDM Performance Record creates TYPEPDM dataset:
IMACPDM dddddd Dataset Description
TYPEPDM TYPDM TYPEPDM Alebra PARALLEL DATA MOVER
TYPSPDM
TESSUSR1
VMACPDM
VMXGINIT
Oct 23, 2013
Change 31.225 Support for Emtex JESConnect product's SMF Performance
EXTYJESC Record creates TYPEJESC dataset:
IMACJESC dddddd Dataset Description
TYPEJESC TYJESC TYPEJESC JES2 CONNECT
TYPSJESC -VMXGIPV4 is created to convert IPV4 $CHAR4 fields into
TESSUSR1 dotted IPV4 text IP Address, similar to VMXGIPV6.
VMACJESC
VMXGIPV4
VMXGINIT
Oct 23, 2013
Thanks to Larry Stahl, IBM Global Services, USA.
Change 31.224 WPS Version 3.0 QA tests found these incompatibilities:
ANAL80A -INFILE operand TERMSTR, set in macro variable &MXGCRLF to
ANALAVAL CR/CRLF/LF for ASCII in VMXGINIT, to define the end of
ANALPATH line delimiter for input data files that can be either
ANALTAPE PC or Unix format, is not supported in WPS, so it is now
TYPESVC set only for execution under SAS. Currently, it is used
UTILEXCL only in TYPERACF, TYPETAPR and TYPEWWW.
VMXGINIT -In WPS, PROC APPEND BASE=PDB.CICSDICT NEW=CICSDICT; does
Oct 22, 2013 not propagate the Data Set Label from CICSDICT when the
BASE does not exist, while SAS does propagate that Label.
Using BASE=PDB.CICSDICT (LABEL='CICDIC: CICS DICTIONARY')
NEW=CICSDICT; also does not work with WPS while it does
work under SAS. So, an extra DATA step was needed after
the PROC APPEND to label the dataset.
(The absence of the Data Set Label caused the MXG QA job
to complain in DOCVER when the label was not found.)
-TYPESVC/TYPSSVC - WPS does not support NAMED INPUT.
-ANAL80A - WPS does not support PROC REPORT.
-ANALAVAL- WPS does not support PROC CALENDAR.
-ANALMPL,ANALTAPE - WPS does not support VREVERSE in PLOT.
-ANALPATH- WPS doesn't support OVERPRINT in PUT statement.
Change 31.223 CICS variable WMQASRTM is added into the CPUTM variable
VMAC110 in CICSTRAN datasets; back in CICS/TS 4.1 IBM added the
Oct 20, 2013 field (WMQASRBT, clock and count) and documented it:
The WebSphereMQ SRB time this transaction spent
processing MQ API requests. This field is zero for
point-to-point messaging activity, but is non-zero if
MQ API requests result in publish and subscribe type
messaging. Note: WebSphere MQ only returns this value
to CICS when MQ Class 3 accounting information is being
collected in WebSphere MQ. To collect the MQ Class 3
accounting info, START TRACE(ACCTG) DEST(SMF) CLASS(3)
must be issued in WebSphere MQ.
This SRB CPU time is already included in the CPUTCBTM in
the SMF 30s for the CICS region.
Note: VMAC110/UTILEXCL/DOCVER have these MQ variables
MQGETWTM MQGETWCN MQREQS MQWTCBUS MQQONTCPU MQREQUS
that were originally decoded in 2003 in Change 21.212,
from CMODNAME='MQSERIES' and CMODHEAD='MQGETW/MQREQS/
MQWTCBUS/MQONTCPU/MQREQUS' but I can not find any of
those names in CICS Data Areas, nor have those names
appeared in any CICS Dictionaries in recent versions so
I presume they are no longer created, and the newer
WMQGETTM WMQGETTM WQMREQCT WMQASRTM WMQASRCN variables
have replaced the 2003 variables. They exist in DOCVER
only because I force them to be part of the MXG QA, and
since they are ONLY created by UTILEXCL and ONLY IF the
CMODHEAD/CMODNAME are found, it is unlikely they will
even exist in your CICSTRAN dataset.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.222 INPUT STATEMENT EXCEEDED RECORD for RMF III SPG record if
VMACRMFV the system had more than 1361 devices; NRVOLSTV=1674 was
Oct 19, 2013 used for the VOL count, but that is the total number of
VOLs in ALL SPG records. Instead, SPGVOLNR is the count
of vols in this record, and is now used for the loop.
Thanks to MP Welch, Bank of America, USA.
Change 31.221 Revisions to ODS support. Revised VMXGODSO/ODSC members
ANAL72GO and to the programs that use them.
ANALACTM -VMXGODSO (Open ODS destination) now supports TYPE=PDF
ANALAVAI and passes the ODSTYPE to VMXGODSC.
ANALDB2B -VMXGODSC now actually correctly closes the current ODS
ANALGRID destination and restores the original ODS settings using
ANALHTML two new user-supplied parameters:
ANALID ODSORIGTYPE= the type of ODS output you want set after
ANALIDMS close. If you leave it blank, it will
ANALINIT revert to HTML on ASCII and to LISTING
ANALNAT in all other cases.
ANALNATR ODSORIGFILE= if you want to direct the output after
ANALPKGS close to a specific destination; can be
ANALRAID blank
ANALRANK -ANAL72GO adds the ODSORIGTYPE and ODSORIGFILE parameters
ANALS225 for VMXGODSC and also adds ODS GRAPHICS if you are on SAS
ASUMRAID 9.3 or greater and only uses SAS/GRAPHS for earlier SAS
GRAFCEC versions (if SAS/GRAPH is detected) and WPS.
GRAFRAID -ANALACTM. Added ODSORIGTYPE and ODSORIGFILE parameters
GRAFRMFI for VMXGODSC. The report of the WLM configuration needs
GRAFWRKX landscape orientation; to make that happen with TYPE=PDF
VGETWKLD the OPTIONS ORIENTATION=LANDSCAPE; statement is added
VMXG2DTE before the ODS PDF statement. Since ORIENTATION is an
VMXGODSC option in the format NAME=VALUE, which was not previously
VMXGODSO used in VMXGOPTR, it was also revised to support it.
VMXGOPTR -ANALAVAI. Adds the ODSORIGTYPE and ODSORIGFILE parameters
VMXGRMFI for VMXGODSC and corrects a macro variable resolution
Nov 2, 2013 problem discovered in testing.
Dec 8, 2013 -ANALDB2B. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC.
-ANALGRID. VMXGODSO/VMXGODSC execution is now conditional
so you can combine the output of ANALGRID in a single
file with other reports and graphs, such as:
%VMXGODS(TYPE=PDF,FILE=MYREPORT.PDF);
%ANALGRID(ODSTYPE=NO,other parameters);
PROC SGPLOT;
etc...
%VMXGODSC;
-ANALHTML. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC.
-ANALID. If you invoked ANALID without running TYPEID,
it would fail without really telling you why because it
could not find the _WTYID _LTYID datasets. Now if it
detects that TYPEID has not been run it automatically
includes VMACID to create those macros.
-ANALIDMS. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC.
-ANALINIT. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC, and some reformatting for PDF output.
-ANALNAT and ANALNATR. PLOTs changed to SGPLOT. Comments
added to show how to create PDF output as well as HTML.
-ANALPKGS. PDF comments added and HTML commented so that
you can choose which you prefer
-ANALRAID. Added ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC. Modified for PDF output.
-ANALRANK. Adds the ODSORIGTYPE and ODSORIGFILE parameters
for VMXGODSC. Reduce to a single report.
-ASUMRAID modified for use with VMXGODSO and VMXGODSC. Now
makes GRAFRAID obsolete since it creates the same output
using HTML or PDF, but does it without SAS/GRAPH.
-ANALS225. Uses DB2STATS as input since the IFCID=225 data
in completely contained in PDB.DB2STATS datasets and the
T102S225 is not created. DB2 interval records are now
created every minute (cannot be changed) so the revised
report provides for summarization to any chosen interval.
ODSORIGTYPE and ODSORIGFILE parameters added.
-GRAFCEC modified to use VMXGODSO and VMXGODSC for HTML
or PDF and to use SGPLOT when on SAS 9.3 or higher.
-GRAFRAID - marked as obsolete. ASUMRAID creates the same
output more cleanly and without requiring SAS/GRAPH if
you use PDF or HTML.
-GRAFRMFI modified to use VMXGODSO and VMXGODSC for HTML
or PDF and to use SGPLOT when on SAS 9.3 or higher.
-GRAFTAPE. Adds the ODORIGTYPE and ODSORIGFILE parameters
for VMXGODSC and adds ODS GRAPHICS if you are on SAS 9.3
or later, and uses SAS/GRAPH for earlier SAS and WPS.
-GRAFWRKX (hourly bar chart of each workload in RMFINTRV)
now uses and describes each of the SGPLOTs; ODSORIGTYPE
and ODSORIGFILE added to parameters for VMXGODSC.
Dec 8: ODS statement parameter ODSSTYLE added pointing at
STYLES.MXGSTYLE1.
-VMXG2DTE. Option added to CYCLE parameter to enable tests
at any time. CYCLE=FORCE will override the input DD in
the MTD database.
-VMXGOPTR. Enhanced to handle options where the format is
OPTION optionname=value (LINESIZE PAGESIZE VMXGOPTR),
needed for ODS TYPE=PDF when landscape is desired.
-VGETWKLD modified to end if no workloads are found and
fill in all macro variables expected downstream.
-VMXGRMFI trend logic modified to stop if no workloads are
found.
-VMXGODSO Dec 8, 2013: Cleanup and realignment of code and
added new ODSSTYLE= argument (especially for PDF output).
Change 31.220 Enhancement to CRYPTOGRAPHIC PROCESSOR support.
VMAC7072 -TYPE7002 dataset variables R702ASDC R702ASDB R702ASDI
Oct 16, 2013 were misspelled (R702AEDC,R702AEDB,R702AEDI).
-IBM RMF Report tokens for the OVERVIEW/EXCEPTION reports
are now added as variables to the crypto datasets:
TYPE7002 - PCCIC
CRYCKR='COPROCESSOR*KEY-GEN*RATE'
CRYCTE='COPROCESSOR*TOTAL*AVG EXECUTE*TIME'
CRYCTR='COPROCESSOR*TOTAL*RATE'
CRYCTU='COPROCESSOR*TOTAL*PCT UTILIZATION'
TYPE70X2 - PCICA
CRYAC1E='ACCELERATOR*1024BIT-CRT*AVG EXECUTE*TIME'
CRYAC1R='ACCELERATOR*1024BIT-CRT*RATE'
CRYAC1U='ACCELERATOR*1024BIT-CRT*PCT UTILIZATION'
CRYAC2E='ACCELERATOR*2048BIT-CRT*AVG EXECUTE*TIME'
CRYAC2R='ACCELERATOR*2048BIT-CRT*RATE'
CRYAC2U='ACCELERATOR*2048BIT-CRT*PCT UTILIZATION'
CRYAC3E='ACCELERATOR*4096BIT-CRT*AVG EXECUTE*TIME'
CRYAC3R='ACCELERATOR*4096BIT-CRT*RATE'
CRYAC3U='ACCELERATOR*4096BIT-CRT*PCT UTILIZATION'
CRYAM1E='ACCELERATOR*1024BIT-ME*AVG EXECUTE*TIME'
CRYAM1R='ACCELERATOR*1024BIT-ME*RATE'
CRYAM1U='ACCELERATOR*1024BIT-ME*PCT UTILIZATION'
CRYAM2E='ACCELERATOR*2048BIT-ME*AVG EXECUTE*TIME'
CRYAM2R='ACCELERATOR*2048BIT-ME*RATE'
CRYAM2U='ACCELERATOR*2048BIT-ME*PCT UTILIZATION'
CRYAM3E='ACCELERATOR*4096BIT-ME*AVG EXECUTE*TIME'
CRYAM3R='ACCELERATOR*4096BIT-ME*RATE'
CRYAM3U='ACCELERATOR*4096BIT-ME*PCT UTILIZATION'
TYPE70Y2 - CPACF
CRYIADO='AVG TIME*COPROCESSOR*CALLS*AES*DECRYPT'
CRYIADR='RATE*OF*AES*DECRYPT*SERVICE*CALLS*SENT'
CRYIADS='AVG BYTES*PER*AES*DECRYPT*SERVICE*CALL'
CRYIAEO='AVG TIME*COPROCESSOR*CALLS*AES*ENCRYPT'
CRYIAER='RATE*OF*AES*ENCRYPT*SERVICE*CALLS*SENT'
CRYIAES='AVG BYTES*PER*AES*ENCRYPT*SERVICE*CALL'
CRYIH2I='INSTR*TO*HASH*DATA*SHA-224*SHA-256*ALGO'
CRYIH2R='HASHING RATE*SHA-224*SHA-256*ALGORITHM'
CRYIH2S='HASHING SIZE*SHA-224*SHA-256*ALGORITHM'
CRYIH5R='HASHING RATE*SHA-384*SHA-512*ALGORITHM'
CRYIH5S='HASHING SIZE*SHA-384*SHA-512*ALGORITHM'
CRYIHAI='INSTR*TO*HASH*DATA*SHA-1*ALGORITHM'
CRYIHAR='HASHING RATE*SHA-1*ALGORITHM'
CRYIHAS='HASHING SIZE*SHA-1*ALGORITHM'
CRYIMGI='INSTR*TO MAC*GENERATE'
CRYIMGR='MAC*GENERATION*RATE'
CRYIMGS='MAC*GENERATION*SIZE'
CRYIMVI='INSTR*TO MAC*VERIFY'
CRYIMVR='MAC*VERIFY*RATE'
CRYIMVS='MAC*VERIFY*SIZE'
CRYIPTR='PIN*TRANSLATION*RATE'
CRYIPVR='PIN*VERIFY*RATE'
CRYISDDI='SINGLE*DES*INSTR*DECIPHER*THE*DATA'
CRYISDDR='SINGLE*DES*DECRYPT*RATE'
CRYISDDS='SINGLE*DES*DECRYPT*SIZE'
CRYISDEI='SINGLE*DES*INSTR*ENCIPHER*THE*DATA'
CRYISDER='SINGLE*DES*ENCRYPT*RATE'
CRYISDES='SINGLE*DES*ENCRYPT*SIZE'
CRYITDDI='TRIPLE*DES*INSTR*TO*DECIPHER*THE*DATA'
CRYITDDR='TRIPLE*DES*DECRYPT*RATE'
CRYITDDS='TRIPLE*DES*DECRYPT*SIZE'
CRYITDEI='TRIPLE*DES*INSTR*TO*ENCIPHER*THE*DATA'
CRYITDER='TRIPLE*DES*ENCRYPT*RATE'
CRYITDES='TRIPLE*DES*ENCRYPT*SIZE'
TYPE70Y3 - CE4XP
CRYPAGE='GENERATION*ASYMMETRIC-KEY*AVG EXEC TIME'
CRYPAGR='GENERATION*ASYMMETRIC-KEY*RATE'
CRYPAGU='GENERATION*ASYMMETRIC-KEY*PCT UTILIZATION'
CRYPFAE='FAST*ASYMMETRIC-KEY*AVG EXEC TIME'
CRYPFAR='FAST*ASYMMETRIC-KEY*RATE'
CRYPFAU='FAST*ASYMMETRIC-KEY*PCT UTILIZATION'
CRYPSAE='SLOW*ASYMMETRIC-KEY*AVG EXEC TIME'
CRYPSAR='SLOW*ASYMMETRIC-KEY*RATE'
CRYPSAU='SLOW*ASYMMETRIC-KEY*PCT UTILIZATION'
CRYPSCE='COMPLETE*SYMMETRIC-KEY*AVG EXEC TIME'
CRYPSCR='COMPLETE*SYMMETRIC-KEY*RATE'
CRYPSCU='COMPLETE*SYMMETRIC-KEY*PCT UTILIZATION'
CRYPSPE='PARTIAL*SYMMMETRIC-KEY*AVG EXEC TIME'
CRYPSPR='PARTIAL*SYMMETRIC*RATE'
CRYPSPU='PARTIAL*SYMMMETRIC-KEY*PCT UTILIZATION'
CRYPTE='PKCS11*COPROCESSOR*AVG EXEC TIME'
CRYPTR='PKCS11*COPROCESSOR*TOTAL*RATE'
CRYPTU='PKCS11*COPROCESSOR*TOTAL*PCT UTILIZATION'
Thanks to David Wilbur, State of Washington CTS, USA.
Thanks to Steve Majerick, State of Washington CTS, USA.
Change 31.219 -If you only want to know which character variable(s) in
VMXGSRCH which dataset(s) contains a text string, RESULTS=COUNT
Oct 15, 2013 produces the simple report of names and counts.
-Specifying RESULTS=PRINT prints all variables in those
found observations (printing the first NOBS observations
with both variable name and label as heading) and now
also produces the COUNT report after the prints.
-A log message is printed when observations are found.
-The VALUE= argument does not need to be the exact value
of a variable. VALUE=XYZ will find XYZ123 or ABCXYZ or
any variable that has XYZ anywhere in its value.
Change 31.218 INVALID DATA FOR SCACTIME in ID=119 SUBTYPE=32 because
VMAC119 variable SCORIGIN was overlooked and not INPUT causing
Oct 10, 2013 the misalignment by one byte.
Thanks to Thomas Heitlinger, Fiducia IT AG, GERMANY.
Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.
Thanks to Dennis Gaertner, Fiducia IT AG, GERMANY.
Change 31.217 Support for CICS "multi journal records" adds examples in
EXCICJRN the EXCICJRN member to decode multiple journals to create
Oct 10, 2013 multiple datasets from different journal records. You
would copy the example EXCICJRN member into your "USERID"
MXG tailoring library, then comment out its default code
block, un-comment and modify its "multi" example code to
create and output your variables into CICSJOUR, then copy
the MACRO _SCICJRN and MACRO _KCICJRN definitions into
IMACKEEP in your tailoring library, to define which of
the WORK.CICSJOUR variables are output into which of your
new datasets. Then your SYSIN program would be:
%LET MACFILE=
%QUOTE( IF ID=110 AND SUBTYPE=0; );
%INCLUDE SOURCLIB(TYPE110);
_SCICTRN
RUN;
if you ONLY want to process the Journal Records.
Thanks to Paul Bennett, Euroclear, BELGIUM.
Change 31.216 INVALID DATA FOR S42CSYNC because it is not an SMFSTAMP8
VMAC42 value, instead containing a nonstandard 2013281F0916483F
Oct 10, 2013 format that is now "hand" decoded to 08OCT2013:9:16:48.3.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 31.215 New variables added to TYPETLMS are now supported:
VMACTLMS BACODLVL='ENHANCED*CODE*LEVEL*03X'
Oct 7, 2013 BAKEYIDX='ENCRYPTION*KEY*INDEX'
BAPCTCMP='PCT*OF COMPACT*FOR FILE'
BAPCTFIL='PCT*VOLUME*USED*BY FILE'
BAUSQFIL='USAGE*SEQUENCE*FOR FILE'
Thanks to Scott Barry, SBBWorks Inc, USA.
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 31.214 CICS dataset CICSJS variables SJSMAJCP and SJSMINCP in
VMAC110 statistics dataset CICSJS were incorrectly documented and
Oct 3, 2013 labeled as CPU time so MXG input them as such, but IBM
now confirms that they are elapsed time in milliseconds
in the record, so both are now correctly input, labeled
(TOTAL*ELAPSED*TIME IN MAJOR/MINOR GARBAGE COLLECTION)
and formatted TIME13.3 to display the millisecond as the
final digit in the decimal place.
Thanks to Mark Wittie, Fidelity Institutional, USA.
Thanks to Warren Cravey, Fidelity Institutional, USA.
Thanks to Paul Albrecht, Fidelity Institutional, USA.
Change 31.213 MXG 31.06-31.07 only, and only if syntax of 102.xxx was
UTILBLDP used to select ID=102 records by IFCID/SUBTYPE. Errors
Oct 4, 2013 for old-style MACRO _V102xxx were printed on the log.
Introduced in Change 31.184.
Change 31.212 New (internal) parameters SPINTAPE and NOEXIMSG added.
ANALDB2R -SPINTAPE=YES will cause VGETOBS to read an input SAS data
VGETOBS library when it is on tape/sequential format, building
Oct 18, 2013 the MXGTABLES dataset that list all SAS datasets on the
tape. Used now in ANALDB2R but available to other MXG
utilities. Normally, the MXGTABLES is used and then
discarded by VGETOBS, but with this parameter it is kept.
Default for SPINTAPE is NO in VGETOBS, set by caller.
-Option DATASET=_ALL_ will also cause MXGTABLES to be kept
for use in subsequent internal utilities.
-NOEXIMSG=NO (default) added to suppress messages when the
input datasets are on tape, after the first time that DD
is encountered.
-ANALDB2R exploits this new VGETOBS to snapshot a list of
all of the datasets found in the first libname in PDB=,
whether it is on tape or disk, and then builds a MACRO
variable with that list of available datasets, avoiding
the earlier design that required many executions of the
VGETOBS macro, potentially eliminating many tape mounts.
Change 31.211 ANALHSM exploited the fact that SAS will always look for
ANALHSM the last dataset created when doing a SORT or PRINT. But
Sep 26, 2013 the latest changes to VGETOBS now create a temporary
dataset that intervenes and disappears so the explicit
dataset to be sorted/printed had to be specified.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 31.210 Variables R744SATM,R744SDTM,R744SQTM,R744SSTM are in
VMAC74 seconds per event, but that was not obvious. Their label
Sep 25, 2013 now contain *SECONDS*PER....' and are formatted 8.6.
So a value of 0.000094 is 94 microseconds per ....
Thanks to Cesar V Cocco, CitiCorp, USA.
Change 31.209 -If you specified PDB=YES and used the LDB2xxxx parameters
READDB2 to reroute the output datasets, there was a failure when
CLEARDB2 looking for the YES DDNAME in VGETOBS. Should have been
Sep 27, 2013 pointing to the PDB2xxxx specific MACRO VARIABLE rather
than PDBOUT.
-Specifying STATS/STATISTICS but then Suppressing one of
the statistics datasets caused DATASET NOT FOUND errors;
now if a required dataset is not present, DB2STATS won't
be created but the READDB2 won't terminate with an error.
Not all old style macros defined in VMACDB2 were cleared.
This could cause many strange errors, but ONLY if there
were multiple executions of READDB2 in the same session,
e.g., the MXG QA Test stream. This change was found when
many additional %READDB2 QA tests of previously reported
errors were added to the QA stream.
-%TRIM and %QCMPRES %MACRO functions were replaced by
these %SYSFUNC calls to use COMPBL as those %MACRO
functions did not always work correctly and caused
errors where macro variables exceeded the 64K limit.
In addition, elimination of %TRIM and %QCMPRES removes
the past issues with incorrect SASAUTOS allocations.
%LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));
%LET IDREADS=%QCMPRES(&IDREADS 102);
%LET IDREADS=%SYSFUNC(COMPBL(&IDREADS 102));
%LET IDREADS=%QCMPRES(&IDREADS 102);
Change 31.208 -ASUM113 variables LPARBUSY and MIPSEXEC were wrong for
ASUM113 the zEC12 processor; they should be divided by DELTASUM
Sep 24, 2013 and not DELTATM in those equations for the processor
Thanks to Andrew Hebden, Barclays, ENGLAND.
Change 31.207 -MXG 31.07. Debugging PUT statement in VMAC6 printed
VMAC6 SMF6LN3=162 LENLEFT=552 for every SMF 6 record.
Sep 24, 2013
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 31.206 -Support for IMF 5.1 (INCOMPATABLE, but only impacting the
VMACCIMS CIMSDBDS dataset; other existing datasets are unchanged.)
EXIMFMQ -New variables added to CIMSDBDS dataset:
IMACCIMS DBTDBVER='DB*VERSION'
VMXGINIT DBTFLOVF='FALSE*OVERFLOW*OCCURRED?'
FORMATS -New CIMSMQ dataset contains these MQ variables:
Sep 23, 2013 MQSSID ='MQSSID' MQGET ='MQGET*CALLS'
MQBACK ='MQBACK' MQINQ ='MQINQ '
MQCLOSE ='MQCLOSE' MQOPEN ='MQOPEN'
MQCMT ='MQCMT' MQPUT ='MQPUT*CALLS'
MQCOMM ='MQCONN' MQPUT1 ='MQPUT1*CALLS'
MQDISC ='MQDISC' MQSET ='MQSET*CALLS'
MQFLG1 ='MQFLAG1' MQUNKN ='MQUNKN'
Change 31.205 A graphical analysis of Latent Demand, based on Tivoli's
ANALATEN discussion found at:
Sep 21, 2013 HTTP://PUBLIB.BOULDER.IBM.COM/TIVIDD/TD/TDS390/
SH19-6818-08/EN_US/HTML/DRLM9MST50.HTM
Mar 22, 2014: Check for postings in archives and try:
http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/
/BOOKS/DRL5FS09/3.3.3?DT=20100105101315
====== Changes thru 31.204 were in MXG 31.07 dated Sep 20, 2013=========
Change 31.204 Change 31.200 (VGETOBS enhancement) stumbles with PDB=PDB
ANALDB2R if the data library that contains all of the DB2 datasets
Sep 19, 2013 is on tape. While that is, in general, bad practice, as
a mount and read is required for EVERY dataset needed by
your ANALDB2R request, it previously worked and will in
the near future, but for now, if your PDB is on tape and
you used ANALDB2R(PDB=PDB), this circumvention will avoid
the error (UNINIT variables messages, then other errors).
%ANALDB2R(PDB=WORK,DB2ACCT=PDB,USEACCT=YES,PMSTA02=NO,
PMSPR01=NO);
%ANALDB2R(PDB=PDB,STATSUSE=DETAIL,PMACC01=NO,
PMACC02=NO);
Please contact support@mxg.com to request CHANGE 31.204
when it is available.
This change is only documentation as of this date.
Thanks to John Schoenbeck, IBM Global Services, USA.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 31.203 -TYPE70 calculations of SHARE values were wrong if there
VMAC7072 were IFL engines in the CEC, because MXG output those IFL
VMXG70PR engines in TYPE70EN/EC/FORRMFI datasets and those SHAREs
Sep 23, 2013 values for the IFLs were incorrectly included in the z/OS
SHARE calculations. Only if IFLs are shared are there
non-zero SHARE values.
-ASUM70PR count of LPARIFLS in PDB.ASUM70LP/PDB.ASUMCELP
was wrong (larger than NRIFLCPU) if there were multiple
RMF intervals for the same summary INTERVAL, as when RMF
was stopped/started/changed.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 31.202 -Variable SM120AD4 was a missing value because AD3 and AD4
VMAC120 are 16-byte fields with 8-low order bytes of nulls and
Sep 18, 2013 MXG did not skip the AD3 low order bytes.
-But my data does not match the documentation. Following
SM120AD4 there is an 8-byte undocumented field containing
'FFFFB62000000000'X (-19830.66931 decimal) that looked to
be a GMT OFFset, but SM120ACD 'FFFFBCF10CC00000'X has the
correct value of -18000.85 for the -5 hour timezone so I
have no idea what that value actual is; it is input into
SM120TZX but not kept nor used. After that field there
are 24 reserved bytes.
Thanks to Mark Wittie, Fidelity Institutional, USA.
Change 31.201 Support for APAR OA40376 for z/OS 1.3 adds variables to
VMAC74 SMF 74 Subtype 5 RAID Rank/Extent Pool data; these vars
Sep 18, 2013 were added in z/OS 2.1 but overlooked previously:
R7451ZHL='ZHPF*LIST PREFETCH I/O REQUESTS'
R7451ZHH='ZHPF*LIST PREFETCH I/O HITS'
R7451GSF='GLOBAL*MIRROR*COLLISIONS*SIDEFILE'
R7451GSS='GLOBAL*MIRROR*COLLISIONS*SYNCHRONOUS'
APAR OA42682 adds BIT 4 value to R744FFLG.
Thanks to Lou Horton, NYS Office of Info Technology, USA.
Change 31.200 MXG 31.06 READDB2 could still fail on z/OS only, mostly
VGETOBS due to the IFCID=225 which has a unique requirement to
VMXGWORL use VMXGWORL, but recent changes to VGETOBS, which now
Sep 18, 2013 always returns the DSN of all sequential format datasets,
confused VMXGWORL which incorrectly used the _L102225
token instead of _W102225. Now, VGETOBS passes SEQ back
in the VGETMTYP macro variable, which, when detected,
redirects VMXGWORL to use the _W rather than the _L, that
might not exist. If the _W doesn't exist, then the _L
will be used, but if it does not exist, then there will
be a dataset not found failure.
-The incorrect note in comments in 31.06 READDB2 that the
PDB=XXX option of READDB2 required DISK was incorrect
and has been removed.
-Perhaps in our defense of this error:
The 31.06 VGETOBS solved two very different problems:
1. WPS failed when there was no LIBNAME when there was a
WHERE clause on PROC SQL read of DICTIONARY.TABLES.
Solved by looking at DICTIONARY.FILENAMES without a
WHERE first to see if the DD even exists.
2. SAS mounting and rereading every tape with every
execution of VGETOBS reading DICTIONARY.TABLES, even
when there was NO where clause.
Solved by keeping track of tape DDs and excluding
them from DICTIONARY.TABLES searches with a WHERE
CLAUSE NE.
-Solving problem 2 cut tape mounts in daily CICS/DB2 job
at one site from over 90 to less than 20.
Thanks to John Schoenbeck, IBM Global Services, USA.
Change 31.199 Variable S17NNDM was added to the BY list _B117NOD macro
VMAC117 to order by NODE name and to fully remove duplicates.
Sep 17, 2013 I missed this because my test data had only one value.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.198 -This JCL example changes the DSCB of a z/OS dataset from
JCLVBS2U RECFM=VBS to RECFM=U, WITHOUT copying the data, saving
Sep 17, 2013 the CPU and I/O and time for the copy. The changed file
can then be downloaded with ftp (the RECFM=U preserves
BDWs and RDWs) for sites that want to archive AND process
the file on the download platform (using RECFM=S370VBS &
LRECL=32760 on the FILENAME statement to read).
//JCLVBS2U EXEC PGM=IEBGENER
//SYSIN DD DUMMY
//SYSPRINT DD SYSOUT=*
//SYSUT2 DD DSN=ZOS.VBS.FILE.TO.CHANGE,
// DISP=MOD,DCB=RECFM=U
//SYSUT1 DD DSN=NULLFILE,DCB=*.SYSUT2
The key is to use DISP=MOD and to copy NULLFILE which
ONLY changes the DSCB attributes and does NOT touch
the actual data in the original file.
-Note: if you ONLY want to READ the data and do not need
to archive, you would use the SAS ftp Access method that
is documented in the INSTALL member to directly read the
z/OS data over ftp without prior download, only writing
the SAS datasets on the download platform.
-While the technique can also change RECFM=U to VBS, and
while you can create a RECFM=VBS file on ASCII and upload
to z/OS, you cannot simply upload that file into RECFM=U
and then change the RECFM; you must upload the VBS data
into a RECFM=U,BLKSIZE=32760 file on z/OS, and then use
either the SAS UDEBLOCK or the ASM ASMDBLKU program to
reconstruct legitimate VBS data to read on z/OS.
Thanks to Dan Kaberon, EMC, USA.
Change 31.197 After MXG 30.30, for IDMS 17, dataset IDMSINS had zero
VMACIDMS obs because only SEQN=1 exists in version 17, but MXG
Sep 12, 2013 update expected SEQN=2 and did not output.
Thanks to Gitta Janssens, ColruytGroup, BELGIUM
Change 31.196 Support for APAR PM67806 adds new QW0225DMH with total
VMACDB2 DMH GETM storage, for both DB2 V9 and DB2 V10.
Sep 11, 2013 Today's change only supports V9 pending V10 APAR doc.
Thanks to Kerry J. Sommers, John Deere, USA.
Change 31.195A Cosmetic. DEBUGGING PUT statement TY50xxxx= in line 306
VMAC50 is now commented out.
Sep 10, 2013
Thanks to Dan Case, Mayo Clinic, USA.
Change 31.195 Cosmetic. Missing values messages for TASSYTI-TASENTI
VMACIDMS division by 4096 are eliminated by making the INPUT and
Sep 9, 2013 calculation inside a conditional DO group.
Change 31.194 31.02-31.06, z/VM 6.2.12 BROKEN CONTROL RECORD error. The
VMACVMXA MXG input INCORRECTLY expected 120 bytes in STOSHD (3.16)
Sep 9, 2013 record, but this record had only 112 so the INPUT of
ASCCTRSV and ASCDSRSV are now conditional and corrected.
Thanks to David Campbell, SunTrust, USA.
Change 31.193 -An undocumented change in z/OS 2.1 increased the length
VMAC0 of ID=0 records to 68 bytes, which caused the MXG ERROR
Sep 9, 2013 message that the ID=0 record was invalid and was deleted.
Sep 19, 2013 MXG 31.06 eliminated that ERROR message and the DELETE;
31.07 creates these two new variables in TYPE0 dataset:
SMF0MSWT='SWT STC*WAIT TIME*LIMIT*MINUTES'
SMF0MTWT='TWT TSO*WAIT TIME*LIMIT*MINUTES'
These fields are non-zero only if the corresponding new
SWT or TWT keywords are specified in your SMFPRMxx.
-That length test for the TYPE 0 record is ancient, from
the days when a TYPE 0 WAS an IPL event; many times when
a SYSPROG attempted to create a USER SMF record they had
accidentally created a record with ID=0, which then was
reported as an IPL, when there had been no IPL. Now, as
BUILDPDB creates the PDB.IPLS dataset from ID=90 that
DOES report an IPL event, the erroneous deletion of these
valid ID=0 records should not impact your IPL reporting.
But, because some sites still treat a zero as an IPL,
I chose to leave the length check in place for future
a SYSPROG to trigger!
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 31.192 Cosmetic. Comments for IMACICE1/E2/EZ tailoring now cite
UTILEXCL REPORT THREEA to find the counts of fields in those
Sep 9, 2013 optional members.
Change 31.191 READDB2 did not handle PDBOUT=WORK nor PDBOUT=XXX as
READDB2 documented, and could need an unneeded //PDB DD.
Sep 11, 2013 -PDBOUT=WORK, or PDBOUT=, was unintentionally changed by
Change 31.128 (MXG 31.05), writing DB2ACCT to the //PDB
LIBNAME instead of to //WORK, which caused an ABEND if
there was no //PDB DD in the JOB (and one is not needed
with PDBOUT=WORK). Circumvention: add a temporary DD;
//PDB DD UNIT=SYSDA,SPACE=(CYL,(500,500))
-PDBOUT=XXXXX (for some time) only wrote the T102Sxxx data
to the XXXXX LIBNAME; all DB2xxxxx Account and Statistics
datasets were instead written to their default (PDB).
-Now, PDBOUT= null, WORK, or XXXXX will create all output
only in the expected LIBNAMEs; as has been documented in
READDB2, with those PDBOUT vaLUES, you can not change the
output libnames, neither with a %LET Pdddddd=DDNAME nor
nor by using READDB2's LDB2ddd=DDNAME option.
-ACCIDENTALLY, if your PDBOUT=XXX was PDBOUT=PDB, almost
everything DID work as you expected.
Thanks to Otto Burgess, ATPCO, USA.
Change 31.190 -New variables are now INPUT and kept in TMMQQU dataset:
VMACTMMQ QUACCT QUAPPLNM QUAPPLTY QUASID QUBROWSE QUCCONNM
Sep 6, 2013 QUCFSTR QUCHNL QUCLWPRI QUCLWRNK QUCLWUSQ QUHSTAT
Oct 14, 2013 QUINPUT QUINQUR QULGD QULGT QULPD QULPT
QUMEDLGE QUMSGAGE QUMSGQTL QUMSGQTS QUNPMCLS QUOPENOP
QUOUTPUT QUPID QUPSBN QUPSID QUPSTID QUQMON
QUQMONST QUQMURID QUQSGD QUSET QUSTATQ QUTASKNO
QUTID QUTPIPE QUTRANID QUUNCOM QUURID QUURTYPE
QUUSERID QUALTDTE
-A new message reports record counts and bytes of both
compressed and uncompressed input.
-BY List macros have been revised to remove duplicates.
Change 31.189 Format $MGRMFCX for Crypto Coprocessor type expected
FORMATS '10'X for CEX41, but the value in the RMF record is an
Sep 6, 2013 '0A'x, so that value is now used for R7023CT/R7024CT.
Thanks to Michael Creech, Lender Processing Services, Inc., USA
Change 31.188 Change 31.120 added support for MQ SMF 115 ST2 SMDS/QESD
EXTY115S data new in MQ 7.1.0, but output only the first segment
IMAC115 and output it in incorrectly in MQMMSGDM, an interval
VMAC115 dataset. Since there are many structures, now, the SMDS
VMXGINIT data is output in new TYPE115S dataset with one obs for
Sep 4, 2013 for each application structure.
The IBM doc in CSQDQESD is incorrect, showing a length
of 328, but that includes the 8-bytes of the ID/EYEC,
and so only 320 bytes of data is documented. However,
the LQ length is 328, and IBM has added 8 bytes at the
end of each segment. but then, that first entry is 332!
MXG recognizes the IBM error and circumvents in code.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
====== Changes thru 31.187 were in MXG 31.06 dated Sep 3, 2013=========
Change 31.187 MXG 31.05. After Change 31.156, z/OS under VM only, zero
VMAC7072 obs in PDB.TYPE70. Variable VMSYSTEM is now set from the
Sep 2, 2013 NRCPUID if that APAR is not installed and then used to
force the output.
Thanks to Frank Lund, Evry AS, NORWAY.
Change 31.186 -Variable LSPRWKLD was incorrectly set to 'HIGH' instead
ASUM113 of 'LOW' when 3 LE L1MP LE 6 AND RNI LT 0.6.
Sep 2, 2013 -Cosmetic. LENGTH DEFAULT=&MXGLEN added Sep 17.
Thanks to Wayne Montefiore, CSC, AUSTRALIA.
Change 31.185 Original 31.06 VGETOBS member was not the final update.
VGETOBS See Change 31.180 for the final documentation.
Sep 3, 2013
====== Changes thru 31.184 were in MXG 31.06 dated Sep 1, 2013=========
Change 31.184 -Multiple executions of BLDSMPDB after UTILBLDP now works.
BLDSMPDB Old-style macros _SPINCNT _SPINUOW and _TIMEDIF, (and,
UTILBLDP with USERADD=, _VARUSER and _CDEUSER and any generated
Aug 31, 2013 _CDE _VAR macros are now cleared when BUILDPDB=YES is
Sep 17, 2013 specified, AFTER any generated code has been executed,
with MACRO _xxxxxx _xxxxxx % syntax to redefine an
old-style macro for reuse. This part of this change is
really likely needed only for the MXG QA job since it
is unlikely actual use would need multiple executions
of BLDSMPDB in the same SAS session, but now can be done.
-BLDSMPDB is now protected and will fail if the option to
use the "INSTREAM" SAS code created by UTILBLDP does not
exist, i.e., if that INSTREAM file has zero records.
-Other errors were found in testing on zOS with RUNDAY=PDB
which suppressed running weeklies. The logic looking for
the WEEK FILENAME failed with missing SUBSTR values.
-On zOS BUILDPDB may now point at a dataset name rather
than a DDNAME/FILENAME as it always could on ASCII.
Change 31.183 TYPE50 OSA-EXPRESS READ variables were incorrectly INPUT
VMAC50 TY50REDE /*OSA-EXP*REPLN*DEFR*FOR RD*/
Aug 30, 2013 TY50RDEX /*OSA-EXPREADS*EXH*FOR RD*/
TY50SBRD /*OSA-EXP*SBAL*COUNT*FOR RD*/
TY50PKCN /*OSA-EXP*PACKET*COUNT*/
and these Write variables are now created
TY50PKAC='OSA-EXPRESS*ACCELERATED*PACKET*COUNT'
TY50BYAC='OSA-EXPRESS*ACCELERATED*BYTE*COUNT'
Thanks to John M. McLaughlin, Bank of America, USA.
Change 31.182 -The MXG message SUCCESSFULLY COMPLETED READING SMF now
VMACSMF has new text that reports (mostly for MXG diagnostics) if
Aug 28, 2013 *** THE INPUT SMF FILE DID NOT END WITH ID=3, BUT
*** THIS CAN BE NORMAL - SEE CHANGE 31.182 TEXT.
which MIGHT be an indication that SMF data was lost.
Each SMF file created OR copied by IFASMFDP/IFASMFDL ends
with an SMF ID=3 record, and so even concatenations of
SMF dumps will end with an ID=3 (in fact, each copy with
or subset adds yet another ID=3 at the end of output).
So if the last record is not ID=3, it could be a problem.
For example, a disconnect using the ftp access method, or
during download, or an overlooked out-of-disk-space issue
could be detected by its absence.
-BUT THIS CAN BE NORMAL: If your data has been sorted, or
if you used a utility program that removes type 2 and 3
SMF records (e.g., SMFUTIL, but it could be any program
that processes the SMF data before you read it), or if
you used SAS (AND NOT IFASMFDP, which writes a 2 and 3
when used to copy SMF) and either selected records or
used OPTIONS OBS=nnn; to limit the number of SMF records
read when testing: THESE ARE NOT ERRORS AND THE MESSATE
HAS NO IMPACT.
-If the last record is the ID=3, that text then reads
*** AND THE INPUT SMF FILE ENDED WITH EXPECTED ID=3.***
If absence of that ID=3 would be an error in your SMF
processing, where you ALWAYS expect complete dumped data,
variable ENDISID3 can be used in your IMACFILE/&MACFILE
tailoring to take more aggressive action.
Change 31.181 -RMF III Support for z/OS 2.1 plus Enhancements and Fixes.
ADOCRMFV -Support for z/OS 2.1 changes to the ASI, CFI, CPDCB, and
ASMRMFV GEI RMF III tables.
EXZRBCHP -Two new CFI table sections CFICHPAS (Channel Path) and
EXZRBSCM CFISSCMS (Storage Class Memory) added with z/OS 2.1 are
JCLCRMFV now created by ASMRMFV, and VMACRMFV creates datasets:
JCLDRMFV dddddd dataset description
JCLRMFV ZRBCHP ZRBCHP CFICHPAS CHANNEL PATH
VMACRMFV ZRBSCM ZRBSCM CFISSCMS STORAGE CLASS MEMORY
VMXGINIT -New ZRBCHP dataset variables (20):
ZASMRMFV ZDATE ='ZEE DATE*ZEE OBS*WAS CREATED'
Aug 30, 2013 CFICHAID='HOST CHANNEL ADAPTER ID'
CFICHAPN='HOST CHANNEL ADAPTER PORT NUMBER'
CFICHEIN='INDEX OF CFI TABLE ENTRY'
CFICHFLAGS1='1ST*CHANNEL PATH VALIDITY FLAG'
CFICHLAT='CHANNEL PATH LATENCY TIME'
CFICHOPM='CHANNEL PATH OPERATION MODE'
CFICHPCP='PHYSICAL*CHANNEL*PATH*ID'
CFICHPID='CHANNEL*PATH*ID'
CFICHSAP='SAP-S TO WHICH CHP IS ACCESSIABLE'
CFICHSTA='CHANNEL PATH STATUS FLAGS'
CFICHTYPE='CHANNEL PATH TYPE'
CFIENNAM='NAME OF*COUPLING*FACILITY'
CFIENSYS='NAME OF*SYSTEM'
SSHGOMNT='GATHERER*MINTIME*OPTION'
SSHRMFVN='RMF*VERSION*NUMBER'
SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'
SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'
SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'
SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'
SYSTEM ='SYSTEM*ID'
SHIFT ='SHIFT*OF*START'
-New ZRBSCM dataset variables (21):
ZDATE ='ZEE DATE*ZEE OBS*WAS CREATED'
CFISCALG='SCM*ALGORITHM*TYPE'
CFISCEMA='EST MAX*AUSMENTED*SPACE*4K BLOCKS'
CFISCEME='EST MAX*LIST ELEMENTS*RESIDE*IN SCM'
CFISCEML='EST MAX*LIST ENTRIES*RESIDE*IN SCM'
CFISCENE='EXIST STRUCT*LIST ELEMENTS*RESIDE*SCM'
CFISCENL='EXIST STRUCT*LIST ENTRIES*RESIDE*IN SCM'
CFISCFAU='FIXED*AUGMENTED*SPACE*4K BLOCKS'
CFISCIUA='AUGMENTED*SPACE IN USE*4K BLOCKS'
CFISCIUS='SCM MEMORY*IN USE*4K BLOCKS'
CFISCMAX='MAX*SCM*STRUCTURE*CAN USE*4K BLOCKS'
CFISCNAM='NAME OF CONNECTED STRUCTURE'
CFISCVER='STRUCTURE*VERSION*NUMBER'
CFIENNAM='NAME OF*COUPLING*FACILITY'
CFIENSYS='NAME OF*SYSTEM'
SSHGOMNT='GATHERER*MINTIME*OPTION'
SSHRMFVN='RMF*VERSION*NUMBER'
SSHSMPNR='NUMBER*OF VALID*MINTIME*SAMPLES'
SSHTIBEG='BEGIN TIME*FOR THIS*SET OF SAMPLES'
SSHTIEND='END TIME*FOR THIS*SET OF SAMPLES'
SYSPLEX ='SYSPLEX*NAME*FROM*COUPLEXX'
SYSTEM ='SYSTEM*ID'
SHIFT ='SHIFT*OF*START'
-ASMRMFV now exploits z/Architecture (zSeries)
instructions to relieve 4K base register addressing
constraints and improve performance. ASMRMFV should run
without error on this hardware. zSeries machines have
been available since 2000.
-MXG users with only pre-z/Architecture machines available
can install the legacy version of ASMRMFV called
ZASMRMFV. Contact MXG Technical Support for details.
-ZASMRMFV includes all Change 31.181 features for z/OS 2.1
support, but is functionally stabilized and will not be
further enhanced.
-ASMRMFV WTO messages RMFV099S and Abend U0998 will be
issued if execution is attempted on a non-zSeries
processor. This prevents an abrupt and unexplained S0C1
Abend that would otherwise occur. If this occurs either
run ASMRMFV on a zSeries machine or use ZASMRMFV instead.
-Initial message RMFV000I will indicate whether the
current ASMRMFV or legacy version ZASMRMFV is being used.
-Four internal ASMRMFV subroutines have been migrated into
mainline code to eliminate the entry/exit linkage CPU
overhead required for each call.
-ASMRMFV now supports keywords up to 10 characters in
length.
-ASI table bit string field ASIMSTS (Miscellaneous States)
is now decoded into 8 new Y/N valued variables in the
ZRBASI data set.
-New ZRBASI dataset variables (10):
ASI1MBFF='1MB*FIXED FRAMES*PAGEABLE*DREF-MEM OBJS'
ASI1MBPF='PAGEABLE*PAGEABLE*DREF-MEM OBJS'
ASICICST='CICS TOR*MANAGED TO*REGION GOALS?'
ASICPUPR='CPU*PROTECTION*ASSIGNED?'
ASIIOPGH='I/O PRIORITY*GROUP HIGH*ASSIGNED?'
ASIMAOSC='MANAGE AS*TO GOALS*OTH SERV CLASSES?'
ASIOMVS ='ADDRESS*SPACE*IS OMVS*RELATED?'
ASIPRMRT='PREVENT*REGN MGT*BY RESPTIME*GOALS?'
ASISDCAS='SERVICE TRANS*IN DIFF CLASS*THAN AS?'
ASISTGPR='STORAGE*PROTECTION*ASSIGNED?'
-CPC table bit string field LCPUCHIN (Processor Status
Indicators) is now decoded into 7 new Y/N valued
variables in the ZRBLCP data set.
-New ZRBLCP dataset variables (21):
CPCCAPG ='LPAR*BELONGS TO*CAPACITY GROUP?'
CPCHOME ='THIS IS*THE HOME*PARTITION?'
CPCLPARI='LPAR DATA*INVALID?'
CPCLPMAX='LPAR PROCESSORS*DEFINED*EXCEED*LIMIT?'
CPCUPIDV='USER*PARTITION ID*IS VALID?'
CPCUSEIW='USE INIT WEIGHT*FOR CAP GROUP*PROJECT?'
CPCWMGT ='WLM WEIGHT*MANAGEMENT*ENABLED?'
LCPUABSL='ABSOLUTE LIMIT*ON LPAR USAGE*CHANGED?'
LCPUDED ='PROCESSOR DEDICATED?'
LCPUHIPD='HIPERDISPATCH*MODE IS ACTIVE?'
LCPUHWCL='ABS LIMIT*LPAR USAGE*THIS TYPE'
LCPUICAP='INITIAL*CAPPING*ON?'
LCPUICST='INITIAL CAPPING*STATUS CHANGED?'
LCPUMAWC='MAXIMUM*WEIGHT*CHANGED?'
LCPUONL ='PROCESSOR*ONLINE?'
LCPUONOF='PROC*ONLINE TO*OFFLINE OR*VICE-VERSA?'
LCPUPRNA='PROCESSOR*NOT AVAILABLE*IN MINTIME?'
LCPUSD ='PROC*SHARED TO*DEDICATED OR*VICE-VERSA?'
LCPUWCCH='WAIT*COMPLETION*CHANGED?'
LCPUWCN ='WAIT*COMPLETION*NO?'
LCPUWCY ='WAIT*COMPLETION*YES?'
-CPC table bit string field LCPUSTIN (Processor Status
Change Indicators) is now decoded into 6 new Y/N valued
variables in the ZRBLCP data set.
-Part of the GEI table was not being processed by VMACRMFV
and new fields added by z/OS 2.1 are now also supported
in the ZRBGEI dataset.
-The PDB build for the ZRBGEI dataset variable
GEICPUOL='AVERAGE*OF ONLINE*PROCESSORS' was inputting
from a GEI table field that has been reserved since z/OS
1.1 and was always zero. GEICPUOL and derived variable
PCTCPUBY will now both always be set to missing for
compatibility with any existing user reports. Use the
ZRBCPU and/or ZRBLCP datasets for equivalent data.
-New ZRBGEI dataset variables (36):
GEICASL ='64-BIT*COMMON*AUX STORAGE*SLOTS'
GEICFFR ='64-BIT*COMMON*FRAMES*FIXED IN REAL'
GEICFR ='64-BIT*COMMON*FRAMES*BACKED IN REAL'
GEICMO ='64-BIT*COMMON*OBJECTS*ALLOCATED'
GEICSIZ ='HIGH*COMMON*AREA*SIZE'
GEICUSE ='HIGH*VIRTUAL*COMMON PAGES*IN-USE'
GEIEHIAL='LSQA/SWA/229/230*ALLOCATED*ABOVE 16M'
GEIELOAL='USER REGION*ALLOCATED*ABOVE 16M'
GEIHIAL ='LSQA/SWA/229/230*ALLOCATED*BELOW 16M'
GEILCMO ='FIXED*MEMOBJECTS*ALLOC IN*COMMON*STORAGE'
GEILCMU ='1MB HIGHVIRT*COMMON OBJECTS*OWNER GONE'
GEILCPR ='1MB HIGHVIRT*COMMON PAGES*BACKED*IN REAL'
GEILCPU ='1MB HIGHVIRT*COMMON PAGES*OWNER GONE'
GEILF4K ='1MB FIXED*FRAMES USED*BY 4K*PAGE REQS'
GEILFPF ='1MB FRAMES*IN LFAREA*SATISFY*1MB REQS'
GEILFUSE='1MB FRAMES*USED BY*FIXED*MEMORY OBJECTS'
GEILOAL ='REGION*ALLOCATED*BELOW 16M'
GEILP4K ='1MB PAGEABLE*PAGES USED*BY 4K*PAGE REQS'
GEILPAG ='1MB FRAMES*USABLE*PAGEABLE*DREF'
GEILPFCI='DEMOTED 1MB*PAGEABLE PAGES*CVRT TO 4K'
GEILPFRI='FAILED 1MB*PAGEABLE PAGES*REQUESTED'
GEILPUSE='1MB FRAMES*USED BY PAGE/DREF MEMOBJECTS'
GEILSIZ ='MAXIMUM*LARGE*FRAME*SIZE'
GEIRBFIX='FIXED*FRAMES*BELOW 16 MB*IN REAL'
GEIRLMO ='LARGE*MEMORY*OBJECTS*ALLOCATED'
GEIRLPR ='1 MB FRAMES*BACKED IN*REAL STORAGE'
GEIRSTRF='HIGH VIRT*COMMON*PAGES*IN-USE'
GEIRTFIX='TOTAL*FIXED FRAMES'
GEISASL ='HIGH VIRT*SHARED MEMORY*AUXSTORAGE*SLOTS'
GEISEQ ='CPC*SEQUENCE*NUMBER'
GEISFR ='HIGHVIRT*SHAREDMEM*FRAMES*BACKED IN REAL'
GEISLTA ='CURRENTLY*AVAILABLE*SLOTS'
GEISMO ='HIGHVIRT*SHAREDMEM*OBJECTS*ALLOCATED'
GEISSIZ ='SHARED*AREA*SIZE'
GEISUSE ='HIGH*VIRTUAL*SHARED PAGES*IN-USE'
GEITOTPI='TOTAL*NUMBER OF*PAGED-IN PAGES'
-The ASMRMFV Dynamic Method will now detect empty RMF
Monitor III VSAM data sets and NOT dynamically allocate
them. Prior to this change the condition was not
detected until the file was opened, but the dynamic
allocation and subsequent open overhead was unnecessary.
-ASMRMFV CSI search summary message RMFV065I now includes
the count of empty data sets found.
-New ASMRMFV message RMFV054* will be issued for any empty
data sets found during CSI scan or VSAM open. (*=I,A,W).
-New ASMRMFV message RMFV055* will be issued for
"imposter" VSAM data sets that have the correct RMF
Monitor III CISIZE and RECSIZE, but do not have a valid
DSH table id of 'DSIG3'. (*=I,A,W).
-New ASMRMFV message RMFV051* is issued for all data set
type errors (not a VSAM RRDS) during a CSI scan or VSAM
open and always includes the DDNAME. (*=I,A,W).
-New ASMRMFV message RMFV067* now directs users to IBM
message IDC3009I for non-zero Catalog Management Return
and Reason Codes produced during a CSI search.
(*=I,A,W).
-Show ASMRMFV error message RMFV066E during Dynamic
Allocation abend.
-Show ASMRMFV message RMFV067E during Catalog/Dsname CSI
search error abend.
-ASMRMFV message RMFV007S could have incorrect Return
and/or Reason Codes shown.
-ASMRMFV message RMFV038* is now message RMFV052*
(*=I,A,W).
-ASMRMFV message RMFV039* is now message RMFV053*
(*=I,A,W).
-ASMRMFV message RMFV037I REPORT= and OUTPUT= settings are
now aligned in output for better readability.
-Multi-severity ASMRMFV error messages controlled by *ERR=
parameter settings and used for a single purpose are now
tailored only once during initialization instead of every
time issued.
-Assemblies of ASMRMFV will no longer print the source
code documentation as this is available to browse in the
ASMRMFV member as well as in ADOCRMFV.
-The ASMRMFV/ZASMRMFV source prologues as well as
ADOCRMFV, JCLRMFV, JCLCRMFV, and JCLDRMFV documentation
members are updated appropriately.
-New variables added to RMF III dataset ZRBLCP:
CPCHOME CPCLPARI CPCLPMAX CPCUPIDV CPCCAPG CPCWMGT
CPCUSEIW LCPUPRNA LCPUONL LCPUDED LCPUWCY LCPUWCN
LCPUICAP LCPUHIPD LCPUONOF LCPUSD LCPUDED LCPUICST
LCPUWCCH LCPUMAXW LCPUABSL LCPUHWCL
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 31.180 Detection that a LIBNAME points to a SAS z/OS TAPE-FORMAT
VGETOBS or sequential-format-on-DASD dataset is NOW done by macro
Aug 26, 2013 VGETOBS, so that we can bypass a performance issue, but
Aug 31, 2013 WPS ABENDed with the original VGETOBS because WPS did not
exactly clone the SAS behavior:
When there is a WHERE clause with PROC SQL's search of
DICTIONARY.TABLES, SAS opens the LIBNAME and scans it,
but WPS ABENDED if the LIBNAME was tape/sequential.
The exposure to this ABEND under WPS occurs when an
input tape/sequential LIBNAME not been OPENed and
VGETOBS's PROC SQL is invoked, for example, when
ASUMUOW is executed standalone. If ASUMUOW instead is
%INCLUDEd as part of the BUILDPDB step, where the input
LIBNAMES to be opened by ASUMUOW are already OPEN,
there is no ABEND.
- History:
When a PROC SQL is issued against DICTIONARY.TABLES that
uses a WHERE clause referencing a LIBNAME that has not
yet been opened or scanned, SAS reads that LIBNAME to
find all SAS Datasets (MEMNAME) in that data library, to
populate that table. But, if the LIBNAME is on tape,
then every tape volume must be mounted and read, since
there is no directory of MEMNAMEs on tape data libraries.
To eliminate that waste of CPU and I/O and the elongated
elapsed time, VGETOBS was enhanced to detect that the
LIBNAME is on tape so it can bypass the multi-vol read.
So while the ABEND is a WPS issue, but because we can, to
help MXG users to keep their jobs (and to keep their JOBS
running without ABENDs), the algorithm was revised to get
around the WPS issue and eliminate the multi-tape read.
FOR MXG EXECUTION ON Z/OS ONLY:
VGETOBS now reads the DICTIONARY.TABLES and writes all
of those names to a temporary table, MXGTABLES, which is
then searched for the LIBNAME & MEMNAME (DDNAME & SAS
dataset). Removing the WHERE clause from the first PROC
SQL prevents that first complete READ of the tape.
If BOTH the LIBNAME and MEMNAME are found in MXGTABLES,
then the LIBNAME was already open and VGETOBS passes back
to its caller the MEMNAME, number of OBS, the create date
and the member type, which is the normal information that
is returned by VGETOBS, and VGETOBS was successful.
If the LIBNAME/MEMNAME is NOT found in MXGTABLES, then
DICTIONARY.LIBNAMES is searched, again without a WHERE
clause creating MXGLIBNAMES, which is then searched for
the LIBNAME. If the LIBNAME is NOW found, and if that
libname is NOT tape format, then that LIBNAME does NOT
contain the MEMNAME we are seeking, and MXG will politely
terminate with an explanatory message on the SAS log.
However, if we determine the LIBNAME is a tape-format
library, we assume you know what you are doing and that
the dataset does exists in that LIBNAME and continue.
If the LIBNAME is not found in MXGLIBNAMES or MXGTABLES
then EXTFILES table is searched for the FILEREF=DDNAME,
and if that DDNAME is found to exist, then it has been
allocated in this step, so we execute a DATA _NULL_ step
that reads the first block in that DDNAME, and examine
the text in that first block for the "SAS" or "WPS" text
that uniquely identifies if this is a SAS or WPS dataset
and whether it is disk or tape format.
If we search EXTFILES and do NOT find the DDNAME or we
find that it is NOT a SAS or WPS sequential dataset, then
WE FORCE YOUR JOB TO ABEND WITH A U1950 ABEND:
IEF450I JOBNAME MXGSAS STEP - ABEND=S000 U1950 REASON=00000000
==> NOTE, PREVIOUSLY WE ONLY PRINTED A WARNING MESSAGE.
If it is a disk dataset, then a LIBNAME command is
issued with either the V9 or WPD engine as appropriate
and then we reinvoke VGETOBS, since executing the LIBNAME
statement populates DICTIONARY.TABLES.
But if instead it is a SEQUENTIAL tape-format library (on
tape OR on disk) we look for that MEMNAME in that first
block, and if found, then the LIBNAME/MEMNAME are valid;
normally, VGETOBS is called by VMXGSUM (or a similar MXG
program) so the next SET statement or reference will open
the LIBNAME without spinning the entire tape. A global
MACRO variable VGETTAPES is populated with the now known
tape DDNAME so that for subsequent VGETOBS executions we
will ALWAYs assume the existence of the dataset rather
than looking for it and possibly causing an unneeded spin
of the tape dataset.
But, if the dataset name is NOT on that first record
then, we gamble that you know what you are doing by
telling us to use that LIBNAME and MEMNAME, so we assume
it must exist further into that tape, so we allow the
processing of the dataset to continue, but we print
MXGWARN messages so you'll know why the job took so long.
Of course, if you lied and the dataset does NOT exist in
that DDNAME, then the job will ABEND ungracefully.
-There are two situations that will cause VGETOBS to issue
a USER ABEND 1950 when executing on z/OS:
- DDNAME is NOT in the EXTFILES list of allocated DDs
- DDNAME exists but the first record does not identify
it as a SAS or WPS data library.
FOR MXG EXECUTION ON ASCII ONLY:
For ASCII, a LIBNAME statement must have been issued for
any LIBNAME, since there's no "JCL", and as there are no
tape-format libraries on ASCII, the WHERE clause is used.
If the search in DICTIONARY.TABLES is unsuccessful, then
it doesn't exist, and with no other place to look,
VGETOBS prints an MXGERROR: message that the dataset does
not exist.
FOR THE HISTORICAL RECORD:
The first implementation of the new algorithm removed the
WHERE clause in the first search. After the functional
tests on both ASCII and z/OS were successful, the primary
QA test step run time jumped from 8 to 155 minutes, due
to that removal of the WHERE clause, but also due to the
unique QA environment that allocates every MXG LIBNAME
and every INFILE that has ever been used in MXG, and
creates every MXG dataset that has ever been created from
every input data source MXG has ever supported, so there
are hundreds of LIBNAMEs and thousands of DATASETs, and
with thousands of VGETOBS calls, that small increase in
the search time of a few LIBNAMEs is magnified. In any
real job there will only be a few of LIBNAMEs, and only
those that are already open are searched without the
WHERE, and typically there is only one VGETOBS call per
JCL step, so there is no issue. But, since the only need
for the removal of the WHERE clause is for the z/OS
environment, the final implementation reinstates the use
of the WHERE clause when executing under ASCII.
Change 31.179 Support for Websphere MQ 7.1.0 new subtype 5, 6, and 7:
EXTY1155 DDDDDD DATASET DESCRIPTION SUBTYPE
EXTY1156 TY1155 TYPE1155 SMC POOL HEADER STATISTICS 5
EXTY1157 TY1156 TYPE1156 SMC GETMAIN MANAGER STATISTICS 6
IMAC115 TY1157 TYPE1157 SMC REGION SUMMARY STATISTICS 7
VMAC115
VMXGINIT
AUG 26, 2013
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.178 WARNING: MULTIPLE LENGTH CAPIFART and more variables when
VMXGRMFI TRNDRMFI was executed the second time because first TRND
AUG 22, 2013 had length 8 but the WEEK.RMFINTRV still had length 5/6.
Now, the variables in RMFINTRV and TRNDRMFI are expanded
to 8 bytes by relocating the LENGTH statement to prevent
that warning (when VARLENCHK=WARN is specified in 9.3).
See Change 31.174.
Change 31.177 SHADOW variable SM01ADCT='ADABAS*COMMAND*COUNT' was INPUT
VMACSHDW incorrectly as an 8-byte duration, but it is 4-byte count.
AUG 27, 2013 -SQL text variable increased to 32000.
SEP 4, 2013
Thanks to Stuart Wildey, MorganStanley, ENGLAND.
Change 31.176 Unused Change Number.
Change 31.175 WARNING: MULTIPLE LENGTHS for PACKNAME corrected, was due
ANALDB2R to a mismatch in compiler faker variable's lengths.
Aug 22, 2013 See Change 31.174.
Change 31.174 WARNING: MULTIPLE LENGTHS for IFAUPTM and ZIPUPTM, with
VMAC7072 RETURN CODE 4 set, can occur with MXG 31.05 because the
Aug 21, 2013 option / INHERIT was not specified when a new PROC MEANS
was used to create the new SUMSTYPE70EN dataset.
Tutorial: WARNING: MULTIPLE LENGTHS message:
This warning message that sets CC=4 was introduced in the
first SAS 9.2 (TS1M0), but there were so many complaints
that a Hot Fix for TS1M0 was created to reverted to SAS
9.1.3 no-warn behavior, and then in SAS 9.2 (TS1M0) the
new VARLENCHK=NOWARN/WARM option, with NOWARN default was
added. So you should not normally see these warnings.
But since there is an underlying issue, VARLENCHK=WARN is
now enabled for the MXG QA stream, and the existing cases
are fixed in the several preceding changes, and will be
caught and corrected in future releases.
Thanks to Don Shelton, Time Customer Service, Inc., USA.
Change 31.173 New variables added to TYPETPMX dataset:
VMACTPMX DBS_I214='DBS_STK*AUTOMATED*3490_SD3'
Aug 20, 2013 DBS_I215='DBS_STK*AUTOMATED*3490_9840'
INCLA ='INCLA*CLASS'
JCL_D ='JCL_D'
OUTCL ='OUTPUT*CLASS'
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.172 The SMF 113 counters have different metrics for each CPU
VMAC113 type (z/10, z/196-z/114, and zEC12), but MXG's labels were
Aug 19, 2013 those of the newest processor type. That is unchanged by
default, still, but this change allows you to change those
counter labels if you don't have the zEC12. You only need
to change the old-style macro _XLA113 to the desired token
for the labels, _XLA113A (z/10), _XLA113B (z/196-z/114)
or _XLA113C (zEC12), using this syntax for a z/114:
%LET MACKEEP= MACRO _XLA113 _XLA113B %
Thanks to Perry Lim, Union Bank, USA.
Change 31.171 The use of VIEWs in SMFSRCH, with this straight-forward
VMXGSRCH invocation:
Aug 18, 2013 %SMFSRCH(LOOKFOR=BWM.ABC.LOADLIB,SMFOUT=SMFOUT);
Aug 30, 2013 resulted in this message on the log:
ERROR:UNABLE TO CREATE WORK.TABLES.DATA BECAUSE
WORK.TABLES.VIEW ALREADY EXISTS.
which terminated the search of SMF data in SAS 9.3 & 9.4.
The error is circumvented by changing the temporary table
name to TABLE1 and by removal of all VIEWs, since they are
not needed for this ad hoc, occasionally run program. The
actual SQL Table Cleanup issue will be addressed later.
Thanks to Dan Case, Mayo Clinic, USA.
Change 31.170 Variable SM1209BK (Short Server Name) is added to subtype
VMAC120 9 datasets TYP1209C, TYP1209S and TYPE1209U to permit the
Aug 17, 2013 selection of those records to limit volume when merging.
Change 31.169 -New variables SM1132MT and SM1132MM, machine type and the
ASUM113 model were not input because line 919 should be SM113DLN
VMAC113 instead of SM113DON.
Aug 15, 2013 -For the zEC12, MXG's equations for DWINSORM and DWDASORM
were not updated from the z196/z114 equations causing
large negative values. The equations were updated and
now only a few obs with small negative values are seen.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Thanks to Don Deese, Computer Management Sciences, USA.
Change 31.168 -New variables added by Version 3 to the BVIR02 dataset:
VMACBVIR HOSTHROT='HOST*THROTTLE'
Aug 14, 2013 (no 02 records with which to validate).
Aug 25, 2013 -New variables added by Version 3 to the BVIR10 dataset:
AVGCPUSE 'CPU*USAGE*PERCENT*AT END OF*INTERVAL'
MAXDCUPC 'MAX*DISK CACHE*USAGE*PERCENT'
REAHOSTH 'HOST*WRITE*THROTTLE*REASON'
REACPYTH 'COPY*THROTTLE*REASON'
READEFTH 'DEFERRED*COPY*THROTTLE*REASON'
(no 10 records with which to validate).
-New variable2 added by Version 3 to the BVIR20 dataset:
DEVMAXDL='MAXIMUM*DELAY'
DEVAVGDL='AVERAGE*DELAY'
DEVINTDL='DELAY*INTERVAL*PERCENTAGE'
-New variables added by Version 3 to the BVIR30 dataset:
MAXCPUSE 'MAX*CPU*USAGE*PERCENT'
AVGCPMAX 'AVG*MAX*DISK*USAGE*PERCENT'
MAXDSKPC 'MAX*DISK*USAGE*PERCENT'
REAHOSTH 'HOST*WRITE*THROTTLE*REASON'
REACPYTH 'COPY*THROTTLE*REASON'
READEFTH 'DEFERRED*COPY*THROTTLE*REASON'
Aug 25: +64 corrected to +54 for misalignment in styp 7.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.167A VOLTAGE Release 4.2 subtype 5 records with their triplet
VMACZPRO claiming more segments than can fit in the record have
Aug 13, 2013 only a few unreadable segments at the end of each record,
so this circumvention reads those segments that can be
read based on record length and warns that segments were
skipped. Release 4.3.0 corrects this error, and with
that version installed, this MXG change is NOT required.
(Yes, this is the 2nd Change 31.167, too late to change.)
Thanks to Gennady Katsnelson, IBM Global Technology Services, USA.
Change 31.167 DB2 V8 ONLY. %READDB2(IFCIDS=STATS 225) did not read the
READDB2 V8-only ID=102 Subtype=225 records, causing all QW0225xx
Aug 13, 2013 variables in PDB.DB2STATS for DB2 V8 records observations
to be missing values. Several old tests for NE 225 were
removed to allow T102S225 to be populated.
-DB2 V8 ONLY. Missing value messages from VMACDB2H for V8
records which don't contain QWHCLOTC/QWHCLORO/QWHCLOAU
are eliminated. Important only because they had to be
identified to eliminate them as the cause of zero obs.
Thanks to John Leyland, HP Enterprise Services UK Ltd, ENGLAND.
Change 31.166 Support for IFCID=380 STORED PROCEDURE DETAIL RECORD
EX102380 creates new T102S380 dataset.
IMAC102 -Typo PIB.2 corrected to &PIB.2. for syntax consistency in
VMAC102 IFCID=358, but fortunately had no actual impact on value.
VMXGINIT -Typos QWT02R2-zero instead of -OH in IFCID=196 caused
Aug 12, 2013 second and subsequent segments, if they existed, to be
Sep 12, 2013 re-inputs of the first segment impacting T102S106 data.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Change 31.165 MXG 31.05, PDB.DB2STAT1 not created if READDB2 STATISTICS
READDB2 option was used, because a typo in Change 31.128 had only
Aug 11, 2013 one period in line 3112, where two were required:
MACRO _LDB2ST1 &PDB2ST1..DB2STAT1 %
With only one period, SAS did what it was told and wrote
the data to the dataset named WORK.PDBDB2STAT1.
Note that the %READDB2 STATISTICS option is archaic and
the STATS option instead has been strongly recommended,
at least in the comments in READDB2:
STATS READ ID=100 SMF RECORD TO CREATE
DB2STATS, DB2STATR DB2GBPST AND
DB2STATB, DB2STAT5
STATISTICS ARCHAIC. READ ID=100 TO CREATE
DB2STATS, DB2STATR AND DB2GBPST,
BUT ALSO WRITES THE REDUNDANT STATS
DATASETS (DB2STAT0/1/2/4/225/B)
THAT ARE ALREADY IN DB2STATS.
Since IBM has created additional DB2 stats IFCIDS over
time, any new interval statistics subtypes will be added
only into the PDB.DB2STATS dataset.
Thanks to Larry Stahl, IBM Global Services, USA.
Change 31.164 Error messages DISKxxxx HAS X NRCOUNTERS BUT DSKSEQ HAS Y
VMACNMON followed by INVALID DO CONTROL error ABEND was caused by
Aug 12, 2013 truly invalid NMON data. The DISKxxxx descriptor records
defined 66 disks, but interval T0166 created a pair of
DISKBUSY/DISKBUSY1 with 185 device's data, but without a
clue that the hardware configuration changed. The DO
Control ERROR is now eliminated, but the bad data can't
be validly processed. Up to 20 messages per HOST will be
printed when DSKSEQNR NE NRDSKSEQ. This text will be
revised if/when a correction from IBM has been tested.
Thanks to Xiaobo Zhang, Fiserv, USA.
Change 31.163 WPS ONLY. The WPS Compiler failed to correctly resolve
ANALDB2R an old-style macro _S102&IFC deep inside READDB2 when it
READDB2 was invoked by ANALDB2R that should have generated the
Aug 8, 2013 _S102023 token for IFCID=023 but instead created _S102004
which is NOT a dataset created by this %ANALDB2R, which
caused ERROR: DATASET WORK.T102S004. We have provided
a detail trace to our customer to open a problem with WPS
support, which appeared to be an incorrect order of macro
resolution between old-style and new-style %macros, but
but we found that by replacing the _S102&IFC token that
was not correctly resolved, with this alternative syntax
%LET IFCSTRING=S102&IFC;
_&IFCSTRING
the WPS error appears to be circumvented.
This is the %ANALDB2R invocation that failed, even with
//SMF DD DUMMY because it's a compiler issue and not data
driven:
%ANALDB2R(DB2=ADSN DSN,
PDB=SMF,PMACC01=NO,PMACC02=NO,PMAUD01=NO,SORTBY=DB2,
PMAUD02=YES,PMAUD03=NO,
AUDIT=AUTHFAIL AUTHCNTL DDL DML BIND AUTHCHG UTILITY,
PMSTA02=NO);
Change 31.162 -Variables JOB, the job creating the list, and BETAJOBN,
VMACBETA the job name of the BETA task, were inconsistent/wrong as
Aug 5, 2013 both variables do not always exist, although both were
kept in all datasets. This table identifies which will
exist in each subtype (?? - not yet validated with data):
Subtype BETAJOBN JOB
0 yes yes
1 no yes
2 ?? ??
3 ?? ??
4 ?? ??
5 yes NO
6 ?? ??
7 ?? ??
8 ?? ??
20 yes yes
21 yes yes
22 ?? ??
25 yes yes
40 ?? yes
41 ?? yes
42 ?? yes
49 no yes
50 yes no
51 no yes
-Variable BETAJOB was only kept in BETA20 and should not
have been created, since JOB is the normal variable, but
it is kept to prevent variable not found errors.
-Variable BETALJOB was kept in BETA21/25/40/41/42 but as
it contains the JOB value, those datasets variable JOB
is now correctly populated from BETALJOB variable, which
is also still kept to prevent variable not found errors.
-This change now correctly inputs BETAJOBI for BETAJOBN or
inputs JCTJOBID for JOB in the header, based on subtype,
but only the records above with yes or no are validated.
If you create obs in those other datasets, please send
your SMF data so I can validate and update with data.
Thanks to Rudolf Sauer, T-SYSTEMS, GERMANY.
Change 31.161 Cosmetic. Three UNINITIALIZED variable messages removed
VMACRMFV and debugging PUTLOG COL= N statement removed.
Aug 1, 2013
Change 31.160 Support for Velocity Software new segments that create
EXXAMCSH these new datasets (This MAY have been zVPS 4.2.)
EXXAMCTY
EXXAMHPP DDDDDD DATASET DESCRIPTION INFILE
EXXAMSPT
EXXMUDIO XAMCSH XMCPSHAR CPSHAR XAMSYS
EXXMVCPU XAMCTY XMCPTYPE CPTYPE XAMSYS
IMACXAM XAMHPP XMIODHPP IODHPP XAMDEV
VMACXAM XMUDIO XMUCDDIO UCDDIO XAMTCP
VMXGINIT XMVCPU XMVSICPU VSICPU XAMTCP
Aug 20, 2013 XAMSPT XMSYTSPT SYTSPT XAMSYS
Aug 21, 2013 and add new variables to many existing XAM datasets.
-All datasets are created and all tokens defined.
-Large VM systems can create multiple XAMSYS records for
each interval, but since only that first record contains
all of the 'single-instance-per-interval' segments that
are all output into dataset XAMSYS, those additional
records created an observation in XAMSYS with all values
a missing value. Now, only that first record is output
in XAMSYS (and, of course, those other multiple-instance
segments are output to their unique MXG dataset.
-VSICPU: There is one set of counters per Virtual CPU, and
SEGLEN is used to calculate the number of segments.
-SYTCPM: Rather than creating one obs for each channel in
the XMSYTCPM dataset, the 256 channel busy variables
PCTCHPBUSY00-PCTCHPBUSYFF are now output in XAMSYS and
dataset XMSYTCPM is no longer created, and references to
to dddddd token SYTCPM are removed from VMACXAM and the
EXSYTCPM member is deleted.
-The SYTCPM segment NCHAN field does not count the number
of channel busy metrics in the record; instead, it is the
the highest channel number. And while SEGLEN does count
the actual number of metrics in the record, it is wrong
in current XAM records with an extra four bytes:
a. NCHANS='FF'x (255), SEGLEN=1140 => 257 actual metrics
b. NCHANS='FB'x (251), SEGLEN=1124 => 253 actual metrics
and that 257 value raised an ARRAY SUBSCRIPT error with
only 256 possible metrics expected. While Barton will
fix SYTCPM so the SEGLEN is correct, this
change/circumvention simply increases the array size to
257 but only the first 256 variables are kept, so you
won't have to change MXG when Barton makes his change.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 31.159 Mostly cosmetic; HOLDxxxx variables are DROPped and the
ANAL42DS TASKTYPE typo was corrected to TYPETASK.
Jul 30, 2013
Change 31.158 Circumvention for added fields in TMQQAA that caused the
VMACTMMQ 2nd and subsequent observations from the same record to
Jul 30, 2013 be misaligned.
Change 31.157 Examples in JCLUOW, JCLMQMCI & ASUMUOW were inconsistent
JCLUOW and in some cases incorrect, and created unneeded data.
JCLMQMCI JCLUOW - Creates CICSTRAN,DB2ACCT, then PDB.ASUMUOW
ASUMUOW JCLMQMCI - Adds MQMACCT,MQMACCTQ, creates PDB.ASUMUOW.
Jul 29, 2013
Thanks to Thomas Kelman, Xerox, USA.
====== Changes thru 31.156 were in MXG 31.05 dated Jul 29, 2013=========
Change 31.156 -MACROs _N70, _N72, _S70, and S72 are created so that you
VMAC7072 can create only datasets from ID=70 or ID=72 RMF records.
Jul 25, 2013 (Members TYPE7072/TYPS7072 process both records because
early RMF required passing CPUTYPE from the 70 to the 72
so that CPU could be calculated from service units with a
table lookup to get SU_SEC. Yep, I said EARLY!)
While most will always create both suites of datasets,
you can use these new macro tokens to process only one of
the two record; for example:
//SYSIN DD *
%LET MACKEEP=
_N72
MACRO _S72 %
;
%INCLUDE SOURCLIB(TYPS7072);
will only create the PDB.TYPE70xx datasets:
_N72 Nulls the creation and OUTPUT of TYPE72xx datasets
_S72 Blanks/Nulls the SORTs of TYPE72xx datasets.
-MACRO _DROP70 lists the TYPE70 per-engine variables
so you can ignore them using
%INCLUDE SOURCLIB(VMAC7072);
PROC PRINT DATA=PDB.TYPE70 (DROP- _DROP70);
or drop them from a new dataset using:
%INCLUDE SOURCLIB(VMAC7072);
DATA WANT;SET PDB.TYPE70; DROP _DROP70;
-TYPE70 only keeps the first 102 per-engine variables.
Dataset TYPE70EN has all 255 possible per-engines.
Change 31.155 -Protection for INVALID DATA FOR RVPERCEN when IBM stored
VMACEDGR '***' EBCDIC for the numeric VOLUME*PERCENTAGE*FULL.
Jul 25, 2013 The double question-mark-modifier was added to RVPERCEN
INPUT to suppress the ERROR message and the hex dump.
With or without this protection, the value in RVPERCEN
is a missing value. If I can find out what those three
asterisks mean, I'll update this note.
-Change 31.118 failed to input RVMEDTY causing subsequent
RVxxxxx variables to be trashed in EDGRXEXT dataset.
Thanks to Paul Volpi, UHC, USA.
Change 31.154 By default, ASUMHSM summarizes all HSM systems, but you
ANALHSM can use MACRO _HSMPLEX HSMPLEX=SYSTEM; % in a
ASUMHSM %LET MACKEEP= in your SYSIN to create a separate summary
TRNDHSM for each system, ANALHSM was updated to allow HSMPLEX to
Jul 25, 2013 be used to report each SYSTEM/LPAR, and variable HSMPLEX
(default is blank) is added to the SUMBY= in TRNDHSM.
Thanks to Rick Ralston, Humana, USA.
Change 31.153 Support for z/OS 2.1: COMPATIBLE, VALIDATED WITH IBM DATA
BUIL3005 -z/OS 2.1 Compressed Log Stream can only be read with
BUILD005 IFASMFDL running on a z/OS 2.1 system with zEnterprise
EXT11941 Data Compress (zEDC) Express. Otherwise, IFASMFDL will
EXT11942 fail with Return Code 4, unless you have enabled
EXT11943 SOFTINFLATE option of IFASMFDL, which will decompress,
EXT11944 but at higher CPU cost than zEDC Express.
EXT1194L -"You can specify LRECL=32760 instead of 32767" (default)
EXT11971 is finally now stated in the SMF manual, but 32767 should
EXTY42VC NEVER have been used for the LRECL. It can never be
EXTY9036 greater than 32760 and 32767 has caused many programs to
FORMATS fail (BUT NOT SAS!!). And, of course, IBM is reluctant
VMAC104 to change ANY default, even those they recommend that you
VMAC113 should change!
VMAC119 -New SMFPRMxx PERMFIX parameter sets minimum (1MB) to
VMAC1415 maximum (2GB) page fixed real storage that is set aside
VMAC23 for zEDC Express decompression services for compressed
VMAC26J2 SMF data. NOPERMFIX default, but up to 2MB pages can be
VMAC30 fixed for zEDC Express.
VMAC30 -New SMF30 Instruction Counters variables are added to ALL
VMAC42 MXG datasets derived from SMF 30s that contain CPUTCBTM:
VMAC6 TYPE30_V,SMFINTRV,TYPE30_4,TYPE30_5,PDB.STEPS,PDB.JOBS;
VMAC60 -IBM now recommends these 30 hardware instruction counters
VMAC7072 should be used for chargeback instead of processor time:
VMAC71 SMF30_INST_CP_TASK =SMF30*INST*CP*TASK
VMAC73 SMF30_INST_CP_NONPREEMPTSRB =SMF30*INST*CP*NONPREEMPTSRB
VMAC74 SMF30_INST_CP_PREEMPTSRB =SMF30*INST*CP*PREEMPTSRB
VMAC90 SMF30_INST_OFFLOAD =SMF30*INST*OFFLOAD
VMACDCOL SMF30_INST_OFFLOADONCP =SMF30*INST*OFFLOADONCP
VMXGINIT SMF30_INST_CP_ENCLAVE =SMF30*INST*CP*ENCLAVE
EXTY749 SMF30_INST_OFFLOAD_ENCLAVE =SMF30*INST*OFFLOAD*ENCLAVE
SMF30_INST_OFFLOADONCP_ENCLAVE=SMF30*INST*OFFLOADONCP*ENCLAVE
SMF30_INST_CP_DEPENC =SMF30*INST*CP*DEPENC
SMF30_INST_OFFLOAD_DEPENC =SMF30*INST*OFFLOAD*DEPENC
SMF30_INST_OFFLOADONCP_DEPENC =SMF30*INST*OFFLOADONCP*DEPENC
Jul 23, 2013 -Sums of subsets of these counts create new variables that
correspond to the existing CPU time variables:
CPU_INST = Total ALL ENGINES INSTRUCTION COUNT
CPUTCBTM_INST= SMF30_INST_CP_TASK+ /*CPT_INST*/
SMF30_INST_CP_PREEMPTSRB+
SMF30_INST_OFFLOADONCP+
SMF30_INST_CP_ENCLAVE+
SMF30_INST_OFFLOADONCP_ENCLAVE+
SMF30_INST_CP_DEPENC+
SMF30_INST_OFFLOADONCP_DEPENC;
CPUSRBTM_INST= SMF30_INST_CP_NONPREEMPTSRB; /*CPS_INST*/
CPUASRTM_INST= SMF30_INST_CP_PREEMPTSRB; /*ASR_INST*/
CPUENCTM_INST= SMF30_INST_CP_ENCLAVE+ /*ENC_INST*/
SMF30_INST_OFFLOADONCP_ENCLAVE;
CPUDETTM_INST= SMF30_INST_CP_DEPENC+ /*DET_INST*/
SMF30_INST_OFFLOADONCP_DEPENC;
-IBM notes originally had ONLY the _OFFLOAD counter for
the zIIP+zAAP counts, but data with _OFFLOAD zero and
non-zero _OFFLOAD_DEPENC confirmed the note was wrong,
and IBM has confirmed these calculations are correct:
CPUZIPTM_CPUIFATM_INST=SMF30_INST_OFFLOAD-
SMF30_INST_OFFLOAD_DEPENC-
SMF30_INST_OFFLOAD_ENCLAVE;
(i.e. total instructions on zIIP/zAAP)
CPUTM_INST =CPU_INST -
CPUZIPTM_CPUIFATM_INST;
(i.e. total instructions on CP engines).
-TYPE30_V,_4,_5,_6 new variable:
SMF30_RCMTADJN='NOMINAL*CPU*RATE*ADJUSTMENT'
These new INSTRUCTION COUNTs require SMF30COUNT be
specified in SMFPRMxx, and HIS (SMF 113) must have
enabled ehe Basic Counter Set.
-SMF 6 Printway record adds new JOB ACCOUNTing fields in
extended mode (INDC=7) records. See Change 32.236.
-TYPE1415 new SM14DSTYPE identifies Extended Format
Type 0/1, or Version 2 decoded by $MG014EF format.
-TYPE23, new variables:
SMF23CWN='COMPRESSED*LOG*BLOCKS*WRITTEN'
SMF23NCN='NON-COMPRESSED*LOG BLOCKS*WRITTEN'
SMF23PFH='PERMFIX*HWM USED*BY SMF'
SMF23PFM='PERMFIX*MAXIMUM*ALLOWED'
SMF23PFT='PERMFIX*STORAGE*USED*BY*SMF'
-TYPE26J2, New Sub-subtype, not documented in SMF manual
yet, will update this note when the new manual is out.
-TYPE42 VCC Virtual Concurrent Copy segment (previously
existed, but overlooked) creates new TYPE42VC dataset:
S42VCCTK='TRACKS*USING*CONCURRENT*COPY'
S42VCDSP='TRACKS*USING*VIRTUAL*CCOPY'
S42VCEIT='INITIALIZATION*END*TODSTAMP'
S42VCID ='VCC*LOGICAL*SESSION*ID'
S42VCRQS='REQUEST*TYPE VCC*=VIRT CONCUR COPY'
S42VCSET='SESSION*END*TODSTAMP'
S42VCSSL='LENGTH*OF*SSIDS*FOR SESSION'
S42VCSSN='NUMBER*OF*SSIDS*FOR SESSION'
S42VCSSO='OFFSET*TO FIRST*SSID'
S42VCSST='SESSION*START*TODSTAMP'
S42VCTS ='TERMINATION*STATUS*N=NORMAL*A=ABNORM'
-TYPE60 new SMF60ELP elapsed duration which can be
subtracted from SMFTIME to get the START time.
-TYPE70, new variables:
SMF70MCP =MAXIMUM*CPU*ADDRESS*AVAILABLE
SMF70ICP =HIGHEST*CPUID*INSTALLED*AT IPL
SMF70CCP =HIGHEST*CPUID*CURRENTLY*INSTALLED
SMF70CPA_ACTUAL =PHYSICAL*CPU*ADJUSTMENT*FACTOR
SMF70CPA_SCALING_FACTOR =SMF70CPA_ACTUAL*SCALING*FACTOR
SMF70UIW='SHOULD*USE*INITIAL*WEIGHT?'
SMF70HW_CAP_LIMIT=ABS LIMIT*PARTITION*USAGE*IN NR ENGINES
Note: field contains hundredths of "CPUs", but MXG
converts to count "CPUs", so 1.5 would be one
and one half engines of type SMF70CIX.
Note: APAR OA40539 added this field to z/OS 1.13.
-TYPE71, new variables:
SMF71S7M='MIN SHARED*PAGE GROUPS*ON SCM'
SMF71S7X='MAX SHARED*PAGE GROUPS*ON SCM'
SMF71S7A='AVG SHARED*PAGE GROUPS*ON SCM'
-TYPE72, new dataset TYPE725N='GRS QSCAN STATISTICS':
R725QSAS='ADDRESS SPACE ID'
R725QSJN='NAME OF THE JOB'
R725QSRC='START*RESUME*REQUESTS'
R725QSRQ='SUM OF SQUARES*RESOURCES*RETURNED'
R725QSRR='RESOURCES*RETURNED*FOR THESE*REQUESTS'
R725QSSC='GQSCAN*ISGQUERY*SPECIFIC*REQUESTS'
R725QSSN='SERVICE CLASS NAME'
R725QSSP='SERVICE CLASS PERIOD'
R725QSST='ADDRESS SPACE STOKEN'
R725QSTI='EXECUTION*TIME IN*GRS*THESE*REQUESTS'
R725QSTQ='SUM OF SQUARES*EXECUTION*TIME'
-TYPE73, new variables:
SMF73MSC='CHANNEL*PATH*POWER'
SMF73SPD='CHANNEL*SPEED*BITS PER*SECOND'
-TYPE74, new variables:
FICONDEV='FICON*DEVICE?'
AVG74CUQ='AVERAGE*CU*QUEUE*PER IO'
SMF74CUQ='CONTROL*UNIT*QUEING*TIME'
SMF74NM2='DEVICE*NUMBER'
SMF74SCS='SUBCHANNEL*SET*ID'
-TYPE74CF, new variables:
R744GTSC='CF*SCM*MAY BE USED*EXTENSIONS'
R744GFSC='FREE*CF*SCM*MEMORY'
R744GISC='SCM*INCREMENT'
-TYPE74MO, new dataset: STORAGE CLASS MEMORY
See Change 33.155. SCM data is now in TYPE74ST dataset.
R744MAEC='SCM*AUXILIARY*ENABLED*COMMANDS'
R744MALG='SCM*ALGORITHM*TYPE'
R744MCPI='CHANNEL*PATH*IDENTIFIER'
R744MEMA='EST MAX*ASSIGNED*AUGMENTM SPACE'
R744MEME='EST MAX*LIST*ELEMENTS*IN SCM'
R744MEML='EST MAX*LIST*ENTRIES*IN SCM'
R744MENE='EXISTING*LIST*ELEMENTS*IN SCM'
R744MENL='EXISTING*LIST*ENTRIES*IN SCM'
R744MFAU='FIXED*AUGMENTED*SPACE'
R744MIUA='AUGMENTED*SPACE*IN USE*BY THIS STRUCTURE'
R744MIUS='SCM*IN USE*BY THIS*STRUCTURE'
R744MMBE='MAX*LIST ELEMENTS*PER SCM*BUFFER'
R744MMBL='MAX*LIST ENTRIES*PER SCM*BUFFER'
R744MRBT='SCM*READ*BYTES*TRANSFERRED'
R744MRFC='SCM*READ OPS*LIST*REFERENCE'
R744MRPC='SCM*READ OPS*PREFETCH OP'
R744MRSQ='SQUARES OF*R744MRST'
R744MRST='SCM*READ OPS*SERVICE*TIME'
R744MSLR='PCT*LIST COUNTS*LOWER*REGULATOR'
R744MSLT='PCT*LIST COUNTS*LOWER*THRESHOLD'
R744MSMA='MAX*SCM*STRUCTURE*CAN USE'
R744MSRL='SCM*REFERENCES*LIST*STRUCTURE'
R744MSRM='SCM*REFERENCES*MIGRATION'
R744MSRR='SCM*REFERENCES*LIST*HASHING'
R744MSUR='PCT*LIST COUNTS*UPPER*REGULATOR'
R744MSUT='PCT*LIST COUNTS*UPPER*THRESHOLD'
R744MSWC='SCM LIST WRITES'
R744MWBT='SCM*WRITE*BYTES*TRANSFERRED'
R744MWSQ='SQUARES OF*R744MWST'
R744MWST='SCM*WRITE OPS*SERVICE*TIME'
-TYPE749, new dataset: RMF III PCIE STATISTICS, but zero
observations are created, awaiting test data; it's very
possible multiple new dataset may ultimately be created.
All variables are created for QA comparisons.
-TYPE90. New subtype 36 creates new dataset
dddddd dataset Description ST
TY9036 TYPE9036 SET CON COMMAND 36
Subtype 35 was not documented.
-TYPE99EH. New variables:
S99EEHMAXAFF='MAXIMUM*AFFINITY*INDEX'
S99EEHMAXCPU='MAXIMUM*CPU*ID'
-New SMF104 record captures CIM data for AIX, LINUX, and
WINDOWS, creating 37 new TYP104nn datasets with nn the
record subtype. Some of the memory metrics in the raw
record are in bytes, or KiloBytes, or MegaBytes: ALL are
converted in MXG variables to bytes and then formatted
MGBYTES to document they contain memory metrics and to
display in B/KB/MB/GB/TB etc. Some "accumulated" fields
are documented, but until data is available, I can't tell
if they really need deaccumulation or not, which would be
an update to their _ST104xx dataset sort macro.
dddddd dataset Description ST
T10401 TYP10401 AIX_ACTIVE MEMORY EXPANONMETRICS 01
T10402 TYP10402 AIX_PROCESSOR METRICS 02
T10403 TYP10403 AIX_COMPUTER SYSTEM METRICS 03
T10404 TYP10404 AIX_DISK METRICS 04
T10405 TYP10405 AIX_NETWORK PORT METRICS 05
T10406 TYP10406 AIX_FILE SYSTEM METRICS 06
T10407 TYP10407 AIX_MEMORY METRICS 07
T10408 TYP10408 AIX_OPERATING SYSTEM METRICS 08
T10409 TYP10409 AIX PROCESS METRICS 09
T10410 TYP10410 AIX_SHARED ETHERNET ADAERMETRICS 10
T10411 TYP10411 AIX_ACTIVE MEMORY SHARIMETRICS 11
T10412 TYP10412 AIX_VIRTUAL TARGET DEVICEMETRICS 12
T10420 TYP10420 LINUX_IP PROTOCO LENDPOT METRICS 20
T10421 TYP10421 LINUX_LOCAL FILE SYSTE METRICS 21
T10422 TYP10422 LINUX_NETWORK PORT METRICS 22
T10423 TYP10423 LINUX_OPERATING SYSTE METRICS 23
T10424 TYP10424 LINUX_PROCESSOR METRICS 24
T10425 TYP10425 LINUX_UNIX PROCESS METRICS 25
T10426 TYP10426 LINUX_STORAGE METRICS 26
T10430 TYP10430 LINUX_KVM METRICS 30
T10431 TYP10431 LINUX_XEN METRICS 31
T10440 TYP10440 LINUX_IP PROTOCOL ENDPOT METRICS 40
T10441 TYP10441 LINUX_LOCAL FILE SYSTE METRICS 41
T10442 TYP10442 LINUX_NETWORK PORT METRICS 42
T10443 TYP10443 LINUX_OPERATING SYSTEM METRICS 43
T10444 TYP10444 LINUX_PROCESSOR METRICS 44
T10445 TYP10445 LINUX_UNIX PROCESS METRICS 45
T10446 TYP10446 LINUX_STORAGE METRICS 46
T10450 TYP10450 LINUX_ZCEC METRICS 50
T10451 TYP10451 LINUX_ZLPAR METRICS 51
T10452 TYP10452 LINUX_ZCHANNEL METRICS 52
T10453 TYP10453 LINUX_ZECKD METRICS 53
T10460 TYP10460 WINDOWS_LOCAL FILESYSTEM METRICS 60
T10461 TYP10461 WINDOWS_NETWORK PORT METRICS 61
T10462 TYP10462 WINDOWS_OPERATING SYSTEM METRICS 62
T10463 TYP10463 WINDOWS_PROCESSOR METRICS 63
T10464 TYP10464 WINDOWS_STORAGE METRICS 64
-TYPE113 Subtype 1 is documented and variables defined,
but will not be read until data records exist for the
validation.
-TYPE119. Six new datasets, with all variables defined,
but no observations will be created; INPUT is bypassed
until test records are available for validation.
dddddd Dataset Description
T11941 TYP11941 SMC-R LINK GROUP STATISTICS
T1194L TYP1194L SMC-R LINK SPECIFIC STATISTICS
T11942 TYP11942 SMC-R LINK STATE START
T11943 TYP11943 SMC-R LINK STATE END
T11944 TYP11944 RDMA RNIC INTERFACE STATISTICS
T11971 TYP11971 FTP DAEMON CONFIGURATION
-TYPEDCOL.
New variable in DCOLDSET:
DCDXPSEV='PS*EXTND*FORMAT*VERSION'
New variable in DCOLDC:
DDCRMODE='VSAM*SMB*RMODE31*VALUE'
New variable in DCOLDC:
DBSEPNM ='SEPARATION*NAME'
THIS CHANGE WAS IN MXG 31.04 BUT WAS NOT DOCUMENTED.
Change 31.152 TYPE70 corrections/enhancements to zIIP and zAAP metrics.
VMAC7072 Variables ZIPUPTM/IFAUPTM, Up-Time, now excludes parked
Jul 24, 2013 time (like CP engines in PDB.TYPE70 and like ALL engines
in ASUM70PR-created datasets - it was only the specialty
engines in PDB.TYPE70 that still included parked time.).
so variables PCTZIPBY and PCTIFABY will be larger.
New counts of the Online-but-not-Parked zIIP/zAAP engines
and clarification of the variables with INSTALLED counts
are added, as are online and parked durations for the
zIIPs and zAAPs:
Engine INSTALLED AVAILABLE UP-TIME ONLINE PARKED
IFA NRIFAS IFACPUS IFAUPTM IFAONTTM IFAPATTM
SMF70IFA
PARTNIFA
ZIP NRZIPCPU ZIPCPUS ZIPUPTM ZIPONTTM ZIPPATTM
SMF70SUP
PARTNZIP
CP NRCPCPU NRCPUS CPUUPTM SMF70ONT SMF70PAT
PARTNCPU
New and revised labels:
PARTNICF='INSTALLED*NUMBER OF*ICF*ENGINES'
PARTNIFA='INSTALLED*NUMBER OF*ZAAP*ENGINES'
PARTNIFL='INSTALLED*NUMBER OF*IFL*ENGINES'
PARTNZIP='INSTALLED*NUMBER OF*ZIIP*ENGINES'
NRCPUS ='ONLINE*NON-PARKED*CP ENGINES'
IFACPUS ='ONLINE*NON-PARKED*IFA ENGINES'
ZIPCPUS ='ONLINE*NON-PARKED*ZIP ENGINES'
CPUUPTM ='CP ENGINE*AVAILABLE*(UP) TIME'
IFAUPTM ='IFA ENGINE*AVAILABLE*(UP) TIME'
ZIPUPTM ='ZIP ENGINE*AVAILABLE*(UP) TIME'
SMF70PAT='CP*SMF70PAT*PARKED*TIME'
IFAPATTM='IFA*SMF70PAT*PARKED*TIME'
ZIPPATTM='ZIP*SMF70PAT*PARKED*TIME'
SMF70ONT='CP*SMF70ONT*ONLINE*TIME'
IFAONTTM='IFA*SMF70ONT*ONLINE*TIME'
ZIPONTTM='ZIP*SMF70ONT*ONLINE*TIME'
zIIP Example: PARTNZIP=12 ZIPCPUS=8.01 DURATM=15:00
|--------------------ZIPONTTM 2:59:59.74---------------------------|
| |
|-----------ZIPUPTM 2:00:09.21------------|---ZIPPATTM 59:50.53---|
| |
|-ZIPACTTM 1:16:48.85-|-ZIPWAITM 42:33.59-|
Change 31.151 -Support for zVM 6.3 MONWRITE. INCOMPAT DUE TO MXG CODE,
VMACVMXA which didn't SKIP new data compatibly added to SYTCUP and
Feb 20, 2013 and didn't correctly detect the extra 32 bytes in PRCAPM
Mar 26, 2013 subtype 8, and printed ERROR PROBABLE DATA LOSS DUE TO...
Apr 16, 2013 and BROKEN CONTROL RECORD: NO 8709X, with large _N_=.
VMXGINIT This change was made in VMACVMXA at 30.30.
Apr 24, 2013 -Before _ESYTCUP statement near line 11567, insert:
Jul 23, 2013 SKIP=CALCPULN-40;IF SKIP GT 0 THEN INPUT +SKIP @;
This change was made in VMACVMXA at 31.02.
-Replace (For 5.10 Record showstopper):
IF PRCAPMCT IN (4,8) THEN DO; line 19028 with
IF SUBSTR(PRCAPMV,1,1) NE 'F0'X THEN DO;
-Two instances of ENDTIME=.; lines 8633,8907 are now
comments, just in case, as they are archaic and not
needed (to force detection of a new interval) but in
some cases caused ENDTIME to be missing in startup
records.
-With those changes, records were read with no execution
errors with MXG 31.02; support was NOT announced.
-These new variables and/or datasets are now created:
SKIP LEN _N_ RECSTART
-Dataset VXSYTPRP (0.02) new variables: 12 152 101 373
CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'
PFXPRKWT='PARKED*WAIT*TIME'
-Dataset VXSYTASG (0.06) new variables: 8 92 106 493
CALENTMT='SCALED*PORTION*VERTICAL*ENTITLED'
PFXPRKWT='PARKED*WAIT*TIME'
-Dataset VXSYTUSR (0.08) new variables: 8 108 106 657
RLOIB ='INBOUND*LIVE*GUEST*RELOCATIONS'
RLOOB ='OUTBOUND*LIVE*GUEST*RELOCATIONS'
-Dataset VXSYTCUP (0.16) new variables: 8 1216 107 1605
LCXCCWT ='CURRENT*LPAR*WEIGHT'
LCXCTYCP='CPU*TYPE*CAP'
CALCAPV ='MAX*PHYSICAL*CPS*THIS TYPE'
-Dataset VXSYTSYG (0.19) new variables: +12 132 110 2413
NCPCAPAB='NOMINAL*CAPABILITY*OF A*CPU'
FXRDONE ='ZHPF DCW*TRANSLATE*SUCCESSFUL'
FXRWRITE='WRITE CHAN*PRESENTED*TO ZHPF DSW'
-Dataset VXSYTSPT (0.24) new variables: 308 364 106 2169
-PROTECTED: MRHDRLEN=364 ONLY 56 DOCUMENTED.
-Dataset VXMTRPRP (1.05) new variables: 12 56 4 433
CALENTMT='VERTICAL*CPU*ENTITLEMENT='
OFFTOPDS='OFFSET TO RCCTOPDS ARRAY='
PFXPOLAR='CURRENT*POLARIZATION='
RCCTOPDI='DISPATCH*VECTOR*BLOCK='
RCCTOPDS='TOPOLOGY*DESCRIPTOR*IDS='
SIZTOPDS='SIZE OF*RCCTOPDS*FIELD='
-Dataset VXMTRMEM (1.07) new variables: 8 168 84 2497
RSACKMB2G='FRAMES*LT 2G*FOR SAD*CRASHKERNEL'
RSACKMA2G='FRAMES*GT 2G*FOR SAD*CRASHKERNEL'
-Dataset VXMTRSCH (1.16) new DATA UNKEPT. 40 132 94 1345
SRXCPPAD and SRXEXUSE decoded but not kept.
-PROTECTED: SRXEXUSE is 8 bytes when PUMAX is 6.
-Dataset VXMTRSSI (1.25) only read SYSPLXNR, in use slots,
but there are SYSPLXNS, configured slots, segments in the
record. All are now input; not-in-use have blank name.
-Dataset VXSCLSTP (2.08) new variables: 4 84 98 3133
SYSFPGRAT='SYSTEM*PAGE*READ IN*RATE*PERSEC'
-Dataset VXSTORSG (3.01) new variables: 300 764 114 121
RSAAGEPC ='TGT SIZE*GLOBAL*AGING LIST*PCT DPA'
RSAAGEFL ='FLAG*BYTE'
RSARSDMX ='SET RESERVED SYSMAX VALUE FRAMES'
RSAAGESZ ='TGT SIZE OF GLOBAL AGING LIST*FRAMES'
RSAAGINC ='FRAMES*ON THE*GLOBAL*AGING*LIST'
RSAEWNDD ='GAL*CHANGED PAGES*MUST BE*WRITTEN'
RSAEWRFO ='GAL*REF ONLY*NOT HAVE*BE WRITTEN'
RSAEWCIF ='GAL*CHANGED*PAGES*BEING*PROCESSED'
RSAEWRIF ='GAL*REF ONLY*PAGES*BEING*PROCESSED'
RSAAGRDY ='GAL*FRAMES*READY FOR*RECLAIM'
RSAAGRDYREFWRT ='GAL*REF ONLY*READY FOR*RECLAIM*YES AUX'
RSAAGRDYREFNW ='GAL*REF ONLY*READY FOR*RECLAIM*NO AUX'
RSADSTMACT ='DEMAND*SCAN*WAS*RUNNING'
RSACHGWRTOLD ='CHANGED*PAGES*WRITTEN TO*OLD AUX SLOT'
RSAREFWRTBYPASS='REF ONLY*PAGES*NOT REWRITTEN*TO AUX'
RSACHGWRTNEW ='CHANGED*PAGES*WRITTEN TO*NEW AUX SLOT'
RSAREFWRTNEW ='REF ONLY*PAGES*WRITTEN TO*NEW AUX SLOT'
RSAAGRECLM ='PAGES*RECLAIMED*FROM GLOBAL*AGING LIST'
RSAEXMET ='DEMAND SCAN*STOPS*WHEN NEED*WAS MET'
RSAEXTIM ='DEMAND SCAN*STOPS*MAX*ALLOWABLE*TIME'
RSAEXCPU ='DEMAND SCAN*STOPS*CPU*SUBOPTIMAL'
RSAINVUFO ='PRIVATE*PAGES*INVALIDATED'
RSAINVVUFO ='PRIVATE*VDISK*PAGES*INVALIDATED'
RSAINVSUFO ='SHARED*PAGES*INVALIDATED'
RSARVLUFO ='PRIVATE*PAGES*REVALIDATED'
RSARVLVUFO ='PRIVATE*VDISK*PAGES*REVALIDATED'
RSARVLSUFO ='SHARED*PAGES*REVALIDATED'
RSARVLAGL ='GAL*PAGES*REVALIDATED'
RSAWRTONDMD ='DEMAND SCAN*WRITE-ON-DEMAND*FRAMES'
RSADSCYCLE ='ITERATIONS*DEMAND SCAN*MADE'
RSAUSRVISIT ='USERS*VISITED*PAGES WERE*MADE IBR'
RSAUSRSKIP ='USERS*SKIPPED*SERIAL/NET*SETTINGS'
RSAALSKL ='GAL FRAMES*NOT RECLAIMED*PINNED'
RSAALSKF ='GAL FRAMES*NOT RECLAIMED*FRAME*SERIAL'
RSAALSKP ='GAL FRAMES*NOT RECLAIMED*PAGE*SERIAL'
RSAALSKR ='GAL FRAMES*REQUEUED*NOT*RECLAIMED'
RSAAGRVLREFNW ='GAL REF ONLY*REVALIDATIONS*NO AUX'
RSAAGRVLREFWRT ='GAL REF ONLY*REVALIDATIONS*YES AUX'
RSAAGRVLCHGNW ='GAL CHG PAGES*REVALIDATIONS*NO AUX'
RSAAGRVLCHGWRT ='GAL CHG PAGES*REVALIDATIONS*YES AUX'
RSAAVAILCNTB2GS='FRAMES ON*LT 2G*SINGLES*AVAILABLE*LIST
RSAAVAILCNTB2GC='FRAMES ON*LT 2G*CONTIG*AVAILABLE*LIST'
RSAAVAILCNTA2GS='FRAMES ON*GT 2G SINGLES*AVAILABLE*LIST
RSAAVAILCNTA2GC='FRAMES ON*GT 2G*CONTIG*AVAILABLE*LIST'
RSAAVAILREQB2GS='REQUESTS*LT 2G*SINGLE*FRAMES'
RSAAVAILREQA2GS='REQUESTS*GT 2G*SINGLE*FRAMES'
RSAAVAILREQB2GC='REQUESTS*LT 2G*CONTIGUOUS*FRAMES'
RSAAVAILREQA2GC='REQUESTS*GT 2G*CONTIGUOUS*FRAMES'
RSAAVAILRETB2GS='RETURNS*LT 2G*SINGLE*FRAMES'
RSAAVAILRETA2GS='RETURNS*GT 2G*SINGLE*FRAMES'
RSAAVAILRETB2GC='RETURNS*LT 2G*CONTIGUOUS*FRAMES'
RSAAVAILRETA2GC='RETURNS*GT 2G*CONTIGUOUS*FRAMES'
RSAAVAILPTB2GC ='PROTECT*THRESH*CONTIG*LT 2G'
RSAAVAILPTA2GC ='PROTECT THRESH*CONTIG*GT 2G'
RSAAVAILPTB2GS ='PROTECT THRESH*SINGLES*LT 2G'
-Dataset VXSTORSP (3.02) new variables: 76 440 114 973
PFXAFOBC='LOCAL LIST*(LL)*FOBS'
PLSFOBLO='LL*LOW*THRESHOLD'
PLSFOBHI='LL*HIGH*THRESHOLD'
PLSFOB1E='LL*FOUND*EMPTY'
PLSFOB1T='TOD 1ST*TRIM REQUEST*FOR LL'
PLSFOBTM='TOD*MOST RECENT*TRIM REQ*FOR LL'
PLSSTPAG='IBR PAGES FOUND*CMM*ZERO STATE'
-Dataset VXSTOSHR (3.03) new variables: 8 120 114 1
ASCCTRSV='FRAMES*RESERVED*VIA*SET RESERVED'
ASCDSRSV='DEMAND*SCAN*NO MOVE*SET RSVD*PER SEC'
-Dataset VXSTOASI (3.14) new variables: 60 196 120 1809
ASCCTINS ='SHARED*INSTANTIATED*PAGES'
ASCCTIBRB2G ='SHARED*IBR PAGES*ON UFO*BACKED LT 2G'
ASCCTIBRA2G ='SHARED*IBR PAGES*ON UFO*BACKED GT 2G'
ASCCTAGLB2G ='SHARED*IBR PAGES*GAL*BACKED LT 2G'
ASCCTAGLA2G ='SHARED*IBR PAGES*GAL*BACKED GT 2G'
ASCCTRABISB2G='SHARED*NON-FAULT*IBR UFO*BACKED LT 2G'
ASCCTRABISA2G='SHARED*NON-FAULT*IBR UFO*BACKED GT 2G'
ASCCSINT ='SHARED*INSTANTIATED*PAGES'
ASCCSREL ='SHARED*RECLAIMED*GUEST*PAGE*STATE'
ASCCSINV ='SHARED*PAGES*MADE*IBR'
ASCCSPFI ='SHARE*IBR PAGES*REVALIDATED*ON UFO'
ASCCSPFA ='SHARED*IBR PAGES*REVALIDATED*ON GAL'
ASCCSFRY ='SHARED*IBR PAGES*ON GAL*BACK*RECLAIM'
ASCCSFNR ='SHARED*IBR PAGES*ON UFO*WRIT TO AUX'
ASCCSXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
-Dataset VXSTOSHD (3.16) new variables: 20 120 164 1
ASCCTPRG='RESIDENT*PAGES GT 2G*THIS*SAVEDSEG'
ASCHLLC ='PAGES*LOCKED*HOST LOGICAL'
ASCHLRC ='HOST*LOGICAL*RESIDENT*COUNT'
ASCCTRSV='FRAMES*RESERVED*VIA SET*RESERVED'
ASCDSRSV='TIMES*DS NO MOVE*FRAMES*TO GLL'
-Dataset VXUSELON (4.01) new variables: 4 180 386 2889
VMDLOGFG='FLAG*BITS*SET AT*LOGON'
LCLFLAG3='GENERAL*FLAGS'
-Dataset VXUSELOF (4.02) new variables: 404 844 121 61
CALCPFNR ='UFO IBR*PAGES*WRITTEN*TO XSTORE'
CALCPFRY ='GAL IBR*PAGES*ALREADY*BACKED'
CALCPINT ='PRIVATE*INSTANTIATED*PAGES'
CALCPINV ='PRIVATE*PAGES*MADE*IBR'
CALCPPFA ='PRIVATE*IBR GAL*PAGES*REVALIDATED'
CALCPPFI ='PRIVATE*IBR UFO*PAGES*REVALIDATED'
CALCPREL ='PRIVATE*RECLAIMED*GUEST PAGE'
CALCPXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
CALCTAGLA2G ='GAL IBR*PAGES*BACKED*GT 2G'
CALCTAGLB2G ='GAL IBR*PAGES*BACKED*LE 2G'
CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'
CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'
CALCTINS ='PRIVATE*INSTANTIATED*PAGES'
CALCTRABISA2G ='UFO/GAL*NONFAULT*IBR*GT 2G'
CALCTRABISB2G ='UFO/GAL*NONFAULT*IBR*LT 2G'
CALCTXBK ='EXPANDED*STORAGE*PAGING*BLOCKS'
LCLFLAGS='GENERAL*FLAGS'
MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'
OFFPLTL ='OFFSET TO THE VMUPLTL ARRAY'
OFFSTLTL='OFFSET TO THE VMUSTLTL ARRAY'
OFFTOPDA='OFFSET TO THE VMUTOPDA ARRAY'
OFFVMTL ='OFFSET TO THE VMUVMTL ARRAY'
VMDDSRSV ='DEMAND*SCAN*NOT MOVE*SET RESERVED'
VMDDTPLX='-USER ISSUED*DETACH COMMAND*CONSULTED SSI'
VMDDTTOD='TTIME*DETACH COMMANDS*CONSULTING SSI'
VMDDTTOT='-USER ISSUED*DETACH*COMMAND'
VMDLKPLX='-USER ISSUED*LINK COMMAND*CONSULTED SSI'
VMDLKTOD='TTIME*LINK COMMANDS*CONSULTING SSI'
VMDLKTOT='-USER ISSUED*LINK COMMAND'
VMDSTFHW ='HWM*STEAL*WEIGHT*FACTOR'
VMDSTLFC ='STEAL*WEIGHT*FACTOR'
VMDUFACTC ='UFO*ACTIVE*SECTION*FRAMES'
VMDUFIBRC ='IBR*SECTION*FRAMES'
VMDWASTE ='GAL*PRIVATE*PAGE FAULTS*IN AUX'
VMDWKPLX='-USER USED*WRKALLEG*CONSULTED SSI'
VMDWKTOD='TTIME*WRKALLEG*CONSULTING SSI'
VMDWKTOT='-USER USED*WRKALLEG'
VMUNRBAL='-CONFIGURATION*REBALANCES'
VMUREBAL ='RCCREBAL*COUNT*LAST*REBALANCE'
VMUTOPDX='INDEX*INTO*VMUTOPDA*ARRAY'
VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'
VMUTOPNS='SIZE *ONE ELEMENT*VMUTOPDA ARRAY'
-Dataset VXUSEACT (4.03) new variables: 404 844 121 61
CALCPFNR ='UFO IBR*PAGES*WRITTEN*TO XSTORE'
CALCPFRY ='GAL IBR*PAGES*ALREADY*BACKED'
CALCPINT ='PRIVATE*INSTANTIATED*PAGES'
CALCPINV ='PRIVATE*PAGES*MADE*IBR'
CALCPPFA ='PRIVATE*IBR GAL*PAGES*REVALIDATED'
CALCPPFI ='PRIVATE*IBR UFO*PAGES*REVALIDATED'
CALCPREL ='PRIVATE*RECLAIMED*GUEST PAGE'
CALCPXRL ='XSTORE*BLOCKS*RELEASED*MIGRATION'
CALCTAGLA2G ='GAL IBR*PAGES*BACKED*GT 2G'
CALCTAGLB2G ='GAL IBR*PAGES*BACKED*LE 2G'
CALCTIBRA2G ='PRIVAGE*IBR PAGES*ON UFO*GT 2G'
CALCTIBRB2G ='PRIVAGE*IBR PAGES*ON UFO*LT 2G'
CALCTINS ='PRIVATE*INSTANTIATED*PAGES'
CALCTRABISA2G ='UFO/GAL*NONFAULT*IBR*GT 2G'
CALCTRABISB2G ='UFO/GAL*NONFAULT*IBR*LT 2G'
CALCTXBK ='EXPANDED*STORAGE*PAGING*BLOCKS'
MAXTOPO ='TOPOLOGY*LEVELS*CURRENTLY*ARCHITECTED'
RDMMMASK='RELOCATION DOMAIN*MEMBER*MASK'
RDMNAME ='GUESTS*RELOCATION*DOMAIN*NAME'
VMDCTSTA='CPU*STARTS'
VMDCTSTO='CPU*STOPS'
VMDDSRSV ='DEMAND*SCAN*NOT MOVE*SET RESERVED'
VMDDTPLX='DETACH*COMMAND*SSI*CONSULTED'
VMDDTTOD='VIRTUAL TIME*DETACT*COMMANDS*SSI'
VMDDTTOT='DETACH*COMMANDS*ISSUED'
VMDLKPLX='LINK*COMMANDS*SSI*CONSULTED'
VMDLKTOD='VIRTUAL TIME FOR LINK*COMMANDS*SSI'
VMDLKTOT='LINK*COMMANDS*ISSUED'
VMDRLLST='LAST*RELOCATION*THIS*USER'
VMDSTFHW ='HWM*STEAL*WEIGHT*FACTOR'
VMDSTLFC ='STEAL*WEIGHT*FACTOR'
VMDUFACTC ='UFO*ACTIVE*SECTION*FRAMES'
VMDUFIBRC ='IBR*SECTION*FRAMES'
VMDWASTE ='GAL*PRIVATE*PAGE FAULTS*IN AUX'
VMDWKPLX='WRKALLEG*COMMANDS*SSI*CONSULTED'
VMDWKTOD='VIRTUAL*TIME*WRKALLED*COMMANDS*SSI'
VMDWKTOT='WRKALLEG*COMMANDS*USED'
VMUNRBAL='CONFIGURATION*REBALANCES'
VMUPLTL0='REBALANCES*EQUIVALENT*NL1'
VMUPLTL1='REBALANCES*DIFF NL1*SAME NL2'
VMUPLTL2='REBALANCES*DIFF NL2*SAME NL3'
VMUPLTL3='REBALANCES*DIFF NL3*SAME NL4'
VMUPLTL4='REBALANCES*DIFF NL4*SAME NL5'
VMUPLTL5='REBALANCES*DIFF NL5'
VMUREBAL ='RCCREBAL*COUNT*LAST*REBALANCE'
VMUSTLT0='STEALS*EQUIVALENT*NL1'
VMUSTLT1='STEALS*DIFF NL1*SAME NL2'
VMUSTLT2='STEALS*DIFF NL2*SAME NL3'
VMUSTLT3='STEALS*DIFF NL3*SAME NL4'
VMUSTLT4='STEALS*DIFF NL4*SAME NL5'
VMUSTLT5='STEALS*DIFF NL5'
VMUTOPDD='TOPOLOGY*DESCRIPTOR'
VMUTOPDI='DISPATCH*VECTOR*ID'
VMUTOPDX='ZERO-BASED*INDEX INTO*VMUTOPDA'
VMUTOPLU='PCT CPU*FOR HOME*DSVBK*ASSIGNMENT'
VMUTOPNE='ELEMENTS*THAT FIT IN*VMUTOPDA*ARRAY'
VMUTOPNS='ELEMENT*SIZE*VMUTOPDA*ARRAY'
VMUVMTL0='MOVES*EQUIVALENT*NL1'
VMUVMTL1='MOVES*DIFF NL1*SAME NL2'
VMUVMTL2='MOVES*DIFF NL2*SAME NL3'
VMUVMTL3='MOVES*DIFF NL3*SAME NL4'
VMUVMTL4='MOVES*DIFF NL4*SAME NL5'
VMUVMTL5='MOVES*DIFF NL5'
-Dataset VXUSEINT (4.04) new variables: 8 248 121 905
VMDRLLST='LAST*RELOCATION*OF THIS*USER'
-Dataset VXUSERLE (4.12) new variables: 8 248 121 905
LCLFLAGS ='LOCAL*RELOCATION*INFO*FLAGS'
RLOAIOCT ='ACTIVE*I/OS*ENCOUNTERED'
RLOCLNTM ='COMPLETION*DATETIME*FINAL*CLEAN UP'
RLOCONTM ='COMPLETION*DATETIME*INITIAL*ISFC CONNECT'
RLOCPCNT ='GUEST*PAGES*XFERED*FINAL PASS'
RLOCRETM ='COMPLETION*DATETIME*CREATION*SKELETON VMDBK'
RLOCRYTM ='COMPLETION*DATETIME*ENQUEUED*CRYPTO'
RLODSTRSV='RESERVED FRAME COUNT DESTINATION'
RLODSTSYS='DESTINATION*SYSTEM'
RLOELGTM ='COMPLETION*DATETIME*INITIAL*ELIG CHECKS'
RLOFCPTM ='COMPLETION*DATETIME*FCP I/O*DELAY'
RLOFINCD ='RELOCATION*ENDED*REASON*CODE'
RLOIOCTM ='COMPLETION*DATETIME*I/O CONFIG*RELOCATION'
RLOIOETM ='COMPLETION*DATETIME*FINAL I/O*ELIG CHECKS'
RLOISSUER='VMRELOCATE*CMD*ISSUER'
RLOLSTTM ='COMPLETION*DATETIME*LAST*MEMORY'
RLOMAXQ ='MAXQUIESCE*TIME'
RLOMAXT ='MAXTOTAL*TIME'
RLOMEMPS ='MEMORY*PASSES*DURING*RELOCATION'
RLOMEMTM ='COMPLETION*DATETIME*MEMORY*TRANSFER-2'
RLOMVOPT ='FLAG BYTE*FOR CMD*OPTIONS'
RLONQDCT ='NON-QDIO*TYPE*I/OS*CLEARED'
RLOPASSA ='GUEST*PAGES*XFERED*FIRST PASS'
RLOPASSY ='GUEST*PAGES*XFERED*PENULTIMATE*PASS'
RLOPENTM ='COMPLETION*DATETIME*PENULTIMATE*MEMORY'
RLOPSAVG ='AVERAGE*GUEST*PAGES*XFERED*2 THRU N-2'
RLOQDCT ='QDIO*TYPE*I/OS*CLEARED'
RLOQUITM ='COMPLETION*DATETIME*GUEST*QUIECE'
RLORESTM ='COMPLETION*DATETIME*RESUMPTION*GUEST'
RLOSETTM ='COMPLETION*DATETIME*STMGT*SET UP'
RLOSMETM ='COMPLETION*DATETIME*STMGT*ELIG CHECKS'
RLOSRCRSV='RESERVED*FRAME*COUNT*SOURCE'
RLOSRCSYS='SOURCE*SYSTEM'
RLOSTARTM='DATETIME*START OF*RELOCATION'
RLOSTATM ='COMPLETION*DATETIME*VIRT STATE*RELOCATION'
RLOUSER ='USERID OF*RELOCATION*TARGET'
RLOVDXCT ='VIRTUAL*DEVICES*TRANSFERRED'
RLOVSETM ='COMPLETION*DATETIME*VSIM*ELIG CHECKS'
VMDSTRLO ='SET*VMRELOCATE*FLAGS'
-Dataset VXIODDEV (6.03) new variables: 200 180 76 1
RDEVSKSM64='CUM*DASD*ACCESS*MOVEMENT'
RDEVFCXM ='MASK OF*PATHS*SUPPORT*ZHPF'
CUIFCXP ='ZHPF*FEATURES*SUPPORTED'
RDEVMAXD ='SMALLEST*ZHPF*MAX*DATA COUNT'
RDEVWXCT ='TM(ZHPF)*WRITE*CHAN*PROGRAMS'
RDEVRXCT ='TM(ZHPF)*READ*CHAN*PROGRAMS'
SCMIDTIM ='SCM*INTERRUPT*DELAY*TIME'
SCMPDTIM ='SCM*I/O*PRIORITY*DELAY*TIME'
PAVIDTIM ='ACCUMULATED*INTERRUPT*DELAY*TIME'
PAVPDTIM ='I/O*PRIORITY*DELAY*TIME'
-Dataset VXIODCAD (6.04) new variables: 52 312 190 2665
Short length record doesn't input CALPSF due to this
PROTECTED: Segment Length is 312.
Fixed 68 bytes, 192 CALDATA 4 CALSSS2 leave only
48 bytes but CALPSF is documented as 192 bytes,
so Segment Length should be 576 vs 312.
-Dataset VXIODVSW (6.21) new variables: 212 344 185 1185
LANTRID ='ACTIVE TRACE IDS'
LANSUSR ='USERS IN LINUX*SNIFFER*MODE'
LANMGIPA ='LAN MANAGEMENT IP ADDRESS'
MGSWIEUSER='LAN MANAGEMENT USER ID'
MGNICMAC ='VSWITCH MAC ADDRESS'
OSAMAC ='OSA DEVICE MAC ADDR'
NICTRANP ='SESSION LAYER(2 OR 3)'
LANID ='LAN*OWNER*NAME'
LOCKREQS ='LOCK REQUESTS*FOR LANLKWRD*NETWORKLOCK'
LANDEFER ='WAITS FOR*NETWORK*LANLKWRD*LOCK'
TXDEFERS ='WAITS FOR*LOCK WHEN*SENDING FROM*THIS PORT'
RXDEFERS ='WAITS FOR*LOCK WHEN*RECEIVING*ON THIS PORT'
NICTXPKT64='PACKETS*SENT*REAL DEVICE*VIRTUAL SWITCH'
NICTXDSC64='VALID*OUTBOUND*PACKETS*DISCARDED'
NICTXERR64='INVALID*OUTBOUND*PACKETS*DISCARDED'
NICRXPKT64='PACKETS*RECEIVED*REALDEVICE*VIRTUAL SWITCH'
NICRXDSC64='VALID*RECEIVED*PACKETS*DISCARDED'
NICRXERR64='RECEIVED*PACKETS*DISCARDED*INVALID*FORMAT'
SWPGROUP ='LINK AGG*PORT GROUP*IN USE*VIRT SWITCH'
VQSOMLVL ='OSA*DEVICE*MICROCODE*LEVEL'
SWPINTSC ='SECONDS*BETWEEN*LOAD*BALANCING*OPERATIONS'
VQSDVMAC ='OSA DEVICE*VIRTUAL*MAC ADDRESS'
VQSMRKCT ='MARKER*PDUS*SENT TO*THIS PORT'
VQSMRPCT ='MARKER*RESPONSES*RECEIVED'
VQSMRRCT ='MARKER*RESPONSES*PDUS SENT TO'
VQSMTOCT ='TIME OUTS*FOR MARKER*RESPONSE*WAITS'
VQSLCSCT ='LACP PDUS*SENT ON*THIS PORT'
VQSLCRCT ='LACP PDUS*RECEIVED ON*THIS PORT'
TXREQS ='LOCK REQUESTS*MADE WHEN*SENDING'
RXREQS ='LOCK REQUESTS*MADE WHEN*RECEIVING'
STKREQS ='REQUESTS*TO STACK OR*TO UNSTACK*WORK'
STKDEFERS='TIMES*MULTIPLE*ATTEMPTES*TO STACK'
VQSPATTR1='PARTNER*SWITCH*BYTE 1'
VQSPATTR2='PARTNER*SWITCH*BYTE 2'
VQSPATTR3='PARTNER*SWITCH*BYTE 3'
VQSPATTR4='PARTNER*SWITCH*BYTE 4'
-Dataset VXIODMDE (6.31) new variables: 4 84 2048 1385
RDE RDEVDEV ='REAL*DEVICE*NUMBER'
-Dataset VXVNDSES (8.01) new variables: 12 304 289 889
VMDRLLST='LAST*RELOCATION*THIS*USER'
NICMGPOR='PORT*VALUE*FOR GUEST*CONNECTION'
-Dataset VXISFNOD (9.04) new variables: 4 304 897 156
LNKCAPCT='NOT-FULL*PACKAGES*CLOSED*TIMEOUT'
-Dataset VXAPLTC0(10.02) new variables: 28 636 301 1
Corrections made:
APLSDT segments with undocumented new fields:
for MDGPROD='5735FALST'-'00'x-'054000' +28 636
for MDGPROD='5735FALST'-'00'x-'061000' +4 612
The documentation for APPLDATA is here:
http://www.vm.ibm.com/perf/docs/appldata.html
-New Datasets Created:
-Dataset VXPRCPUP (5.16) new dataset: 520 500 386 625
CALFCONF='CONFIDENCE*PERCENTAGE*FLOOR*PROJECTION'
CALFLAG ='FLAG*BYTE'
CALFLALG='ALGORITHM*USED*FLOOR*PROJECTION'
CALUCALG='ALGORITHM*USED FOR*CEILING*PROJECTION'
CPUTYPE ='CPU*TYPE'
MAXRPROC='VALID*BITS*IN*MASKS'
OFSLCPUA='OFFSET TO*SRXLCPUA FIELD'
OFSONLIN='OFFSET TO*CALONLIN FIELD'
OFSUPKMK='OFFSET TO*RCCUPKMK FIELD'
RCCNUPK ='CPUS*REQUESTED*TO BE IN*UNPARKED*STATE'
RCCSIGCT='-SUCCESSFUL*SIGP*RESTARTS'
RCCSIGTD='-TIME SPENT*IN*SIGP*RESTARTS'
SCOUNT ='STANZAS*IN THIS*RECORD'
SOFFSET ='OFFSET TO FIRST STANZA'
SRXCPPAD='CPU*CAPACITY*ADDED*TO CEILING'
SRXNOTVH='CAPACITY*ASSIGNED*CPUS NOT*VERTICAL HIGH'
SRXPMAX ='MAX NUMBER*CPUS THAT*CAN BE*PARKED'
SRXWRKCI='CONFIDENCE*PERCENTAGE*CEILING*PREDICTION'
SSIZE ='STANZA*SIZE'
WHIOCECE='EXCESS*PROCESSOR*CAPACITY*AVAILABLE'
WHIOCUTI='NUMBER OF*PHYSICAL*CPUS*CONSUMED'
WHIOCXC ='SHARE OF*EXTRA*CAPACITY'
WHIOENT ='CPU*RESOURCE*ENTITLEMENT'
WHIOFLG ='FLAGS FOR THIS PARTITION'
WHIOPUTI='CEILING*PREDICTION*OF CPU*UTILIZATION'
WHIOPXC ='UNENTITLED*CAPACITY*FLOOR*PROJECTION'
WHIOUCT ='VALID*SAMPLES FOR*CEILING*PREDICTION'
WHIOXCT ='VALID*SAMPLES FOR*FLOOR*PROJECTION'
WHIUCT ='VALID*SAMPLES*CEILING*PREDICTION'
WHIXCT ='VALID*SAMPLES*FLOOR*PROJECTION'
Corrections made:
a. Undocumented 8 bytes after RCCSIGTD.
b. SSIZE is 92 bytes but only 52 bytes are
documented for CPUTYPE-SRXNOTVH fields.
c. OFFSET SOFFSET is 60 from start of record
for 92 bytes, but these other offset values
OFSUPKMK=68, OFSONLIN=76, OFSLCPUA=84, all
point inside those 92 bytes.
d. And, RCCUPKMK, CALONLIN, and SRXLCPU are all
shown as one byte fields, but those offsets
indicate they are all 8 bytes separated.
the fields are 8 bytes but only first used
and the remaining 7 should have been rsvd.
-Dataset VXPRCRCD (5.17) new dataset: 88 68 74 3601
CALENTMT='VERTICAL*CPU*ENTITLEMENT'
CALMNEST='CONFIG*TOPOLOGY*FACILITY*SELECTOR'
MAXTOPO ='MAX*TOPOLOGY*LEVELS*ARCHITECTED'
OFFSTLTL='OFFSET TO*PLSSTLTL*ARRAY'
OFFTOPDS='OFFSET TO*RCCTOPDS*FIELD'
PFXCPUAD='PROCESSOR ADDRESS'
PFXPOLAR=' CURRENT*POLARIZATION'
RCCTOPDI='DSVBK*INDEX*FOR CPU'
RCCTOPDS='TOPOLOGY*DESCRIPTOR*CONTAINER*IDS'
SIZTOPDS='SIZE*OF*RCCTOPDS*FIELD'
Corrections made:
a. MRHCRLEN=88 but DOC shows 60 bytes fixed and doc
RCCTOPDS Length is 32, but only 28 bytes are left
in the record.
b. Offset OFFTOPDS=60, but OFFSTLTL=64 which would
be four bytes into the RCCTOPDS field.
-Dataset VXPRCDHF (5.18) new dataset: 88 68 74 3601
CALDSVID='DSVBK*ID'
CPUTYPE ='CPU*TYPE'
HFCOUNT ='HIGH*FREQUENCY*SAMPLES*THIS DSVBK
HFUSERC ='-VMDBKS*IN DSVBK*WHEN NOT*EMPTY'
HFUSERZ ='TIMES WHEN*DSVBK*HAD NO*VMDBKS'
MAXRPROC='VALID*BITS*IN*MASKS'
OFSASSOC='OFFSET TO*DSVASSOC*FIELD'
OFSUNPRK='OFFSET TO*DSVUNPRK*FIELD'
RCCDSVCH='CPU-TO-DSVBK*ASSIGNMENT*CHANGES'
SCOUNT ='STANZAS*IN THIS*RECORD'
SOFFSET ='OFFSET TO FIRST STANZA'
SSIZE ='STANZA*SIZE'
SYSDVENT='MAX USERS*ALLOWED IN*A DSVBK'
Corrections made:
a. PRCHDF_STANZA is documented with 16 bytes
but SSIZE=32.
b. Similar to preceding, the SOFFSET=40 but
OFSASSOC=16 and OFSUNPRK=24 which I don't
understand, since they would precede the
STANZA data.
Change 31.150 RMF III Enhancements, Fixes, new DYNAMIC METHOD.
ADOCRMFV -A new procedure for executing ASMRMFV is now available
ASMRMFV called the Dynamic Method. This approach combines the
JCLCRMFV simplicity of the current Direct JCL method with the
JCLDRMFV convenience of catalog lookup and dynamic allocation
JCLRMFV provided by the current TSO Clist method. See JCLDRMFV.
VMACRMFV -A new INDSNAME= keyword parameter (aliases INDSN=, INDS=,
Jul 23, 2013 IDS=, I=) is now supported that allows the specification
Jul 26, 2013 of 1 to 256 data set name patterns. The patterns are
used to retrieve matching VSAM cluster entries by the
Catalog Search Interface (CSI), an IBM supported and
documented program service.
NOTE: The CSI call is set to only retrieve VSAM
Clusters (and related Data and Index components).
Non-VSAM data sets and other VSAM entry types are not
returned. Only a very small fraction of the data in a
Cluster entry is returned (Type, CISIZE, RECSIZE).
-Each returned data set name entry is validated as being
a VSAM RRDS data set with the correct CISIZE and RECSIZE
for an RMF Monitor III data set. Then each in turn is
dynamically allocated to an RMFD* DDNAME beginning with
RMFD0000. Later each is opened in turn for further
processing by ASMRMFV. But the TESTCSI parameter (see
below) can modify this behavior.
NOTE: Static RMFV* style DD statements may still be
hard coded in JCL even when the Dynamic Method is used
and will be processed as usual. However, this tends
to defeat the intent and value of the Dynamic Method.
-INDSNAME= pattern masking characters include the use of
** and * as multiple character substitutes and % (percent
sign) as a single character placeholder.
-Pattern coding rules and examples are fully provided in
both the ASMRMFV source code prologue and in the updated
ADOCRMFV member. They are also documented in the IBM
DFSMS Managing Catalogs manual for your z/OS release, in
the section Catalog Search Interface User's Guide.
NOTE: Be careful to avoid overlapping data set patterns
using INDSNAME= which could cause duplicate data to be
processed into ASMRMFV. The TESTCSI parameter (see
below) can help check for this in advance. ASMRMFV
does NOT check for or exclude duplicate data. The same
issue could exist using static JCL DD allocation as
well and is NOT exclusive to the Dynamic Method.
-A new parameter TESTCSI/NOTESTCSI (default NOTESTCSI)
controls pattern testing that is especially useful when
setting up the Dynamic Method for the first time.
-TESTCSI (alias TESTC) only retrieves data from catalogs
using CSI and the INDSNAME= patterns. No dynamic
allocation or file processing occurs. TESTCSI thus
provides a preview of search results with the user
pattern settings. This can prevent the retrieval of
large numbers of unneeded data sets that are not RMF
Monitor III files.
-NOTESTCSI (alias NOTESTC) retrieves data from catalogs
using CSI and the INDSNAME= patterns, dynamically
allocates valid found files, and allows full normal
processing by ASMRMFV.
-WARNING: Users are strongly recommended NOT to use the
all inclusive search pattern INDSNAME=** as that will
retrieve all VSAM Clusters in their catalogs. This will
likely return thousands of entries and can result in a
possible performance impact on the catalog management
function while in progress that could affect other work.
-The ADOCRMFV member which contained mostly development
notes from 2008 and earlier has been completely replaced
with the ASMRMFV source documentation. This was made
much more readable by the removal of many embedded
assembler language statements. The ASMRMFV prologue
documentation in source remains available as before.
-A new documentation member JCLDRMFV contains ASMRMFV
execution examples using the new Dynamic Method.
-JCLRMFV, JCLCRMFV, and JCLDRMFV documentation members now
all contain a table that compares and contrasts the 3
available methods to execute ASMRMFV.
-The MXG00 table version is raised from X'02' to X'03 and
adds the maximum number of entries supported in the new
DSN Pattern Table (currently 256).
-When an invalid parameter length is detected message
RMFV004E will now also display the invalid length.
-When a date or time parameter related error is detected
ASMRMFV will no longer abend immediately but instead
postpone the abend until all parameters are processed.
This will permit all parameter errors to be found in a
single run.
-When the RCD table is selected the unnecessary selection
of the SVP table will no longer be automatically forced.
ASMRMFV will still read the SVP to obtain required data,
but will not output the SVP unless specifically selected.
-Ten new ASMRMFV parameters are added for consistent user
directed control of error conditions (see more below).
-Each has 3 possible values of ABEND (alias A), IGNORE
(alias I), or WARN (alias W). Before control of these
conditions was inconsistent, difficult to alter, or
simply not available.
-ASMRMFV messages RMFV004*, RMFV016*, RMFV017*, RMFV029*,
RMFV033*, RMFV048*, and RMFV049* (*=I,W,E,S) are now
multi-severity based on the settings of these error
control parameters.
-ABEND causes ASMRMFV to issue an error message RMFV***E
and immediately terminate with a U0998 Abend.
-WARN results in an RMFV***W warning message then sets a
return code of 4 and execution continues.
-IGNORE issues an informational message RMFV***I, leaves
the return code unchanged and execution also continues.
-ALLOCERR=ABEND/IGNORE/WARN directs ASMRMFV when a dynamic
allocation of an RMF Monitor III data set fails (default
WARN).
NOTE: Look for messages on the Job JESLOG for more
details on dynamic allocation errors.
-ATTRERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM
RRDS found during a CSI search has an attribute error for
an RMF Monitor III data set either an invalid CISIZE not
32768 or an invalid LRECL not 32752 (default WARN).
-CATERR=ABEND/IGNORE/WARN directs ASMRMFV when a catalog
entry retrieval error occurs during a CSI search (default
WARN). Catalog damage is possible.
NOTE: For Return and Reason Code details on a catalog
retrieval error consult the IBM documentation for
message IDC3009I for the same respective codes.
-DEADERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF III
data set has probable dead space due to high usage of
indexes (default WARN). Reallocation to a smaller size
may be appropriate.
-DSIGERR=ABEND/IGNORE/WARN directs ASMRMFV when the table
ID for an RMF III data set header/index record is not
'DSIG3' as expected (default WARN). This can be due to
an "imposter" data set, a VSAM RRDS with correct CISIZE
and RECSIZE for an RMF III file but does in fact NOT
contain valid RMF III data.
-DSNERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
entry retrieval error occurs during a CSI search (default
WARN). Data set damage is possible.
NOTE: For Return and Reason Code details on a data set
retrieval error consult the IBM documentation for
message IDC3009I for the same respective codes.
-EMPTYERR=ABEND/IGNORE/WARN directs ASMRMFV when an RMF
Monitor III data set opened during processing contains no
data (default IGNORE). This can validly occur for
several reasons. See documentation for this parm.
-PATTERR=ABEND/IGNORE/WARN directs ASMRMFV when a data set
name pattern error is detected for the INDSNAME=
parameter (default WARN). This is usually a user error.
-READERR=ABEND/IGNORE/WARN directs ASMRMFV when a read I/O
error occurs processing an RMF III Monitor data set
(default ABEND). Can be due to a truncated file.
-TYPEERR=ABEND/IGNORE/WARN directs ASMRMFV when a VSAM
data set type other than a RRDS is found during a CSI
search (default WARN). The INDSNAME= pattern may be too
general causing retrieval of many non-RMF III files.
-The old ASMRMFV parameter ABREAD is now equivalent to
READERR=ABEND and is still supported.
-The old ASMRMFV parameter NOABREAD is now equivalent to
READERR=WARN and is still supported.
-12 new messages RMFV040I to RMFV051I are added to support
Catalog Search Interface usage and results.
-7 new messages RMFV060I to RMFV066W are added to support
dynamic allocation usage and results.
-New message RMFV036I shows selection settings for all RMF
III tables at ASMRMFV initialization.
-New message RMFV037I shows selection settings for all
other ASMRMFV parameters at initialization including the
new error condition keywords.
-CSI work area buffer statistics are shown when the
BUFFERS parameter is used.
-A new parameter CSISTAT/NOCSISTAT controls statistics
information about the CSI user work area buffer (default
NOCSISTAT). CSISTAT (alias CSIS) shows the total size
and size used of the buffer for each CSI call in message
RMFV047I. NOCSISTAT (alias NOCSIS) suppresses the
message.
NOTE: Starting with an initial CSI workarea size of 64K
ASMRMFV will dynamically increase the size of the CSI
work area up to a maximum of 1 MB when a RESUME CSI
call is needed because the buffer was too small for the
number of entries retrieved.
-When a GETMAIN/FREEMAIN storage error occurs severe
message RMFV007S now includes the number of bytes and
subpool involved. This should be a rare event but always
results in an abend.
-When the BUFFERS parameter was active the Summary report
did not include the final program FREEMAINs at program
termination.
-ASMRMFV will no longer attempt to process RMF Monitor III
data sets that are not CISIZE 32768 or RECSIZE (LRECL)
32752. IBM messages ERB824I and ERB825I document that
only the CISIZE and RECSIZE values used in ERBVSDEF Clist
to DEFINE RMF III data sets are correct.
-Performance: ASMRMFV was incorrectly freeing and
allocating a new buffer for every MINTIME sample.
-Performance: Sample buffer adjustment factor of 1 in
&MULTS symbolic parameter was ineffective in reducing
additional GETMAINs, so has been lowered to 0 to avoid
wasting unused buffer space.
-Performance: Policy buffer adjustment factor of 1 in
&MULTP symbolic parameter was ineffective in reducing
additional GETMAINs, so has been lowered to 0 to avoid
wasting unused buffer space.
-Four internal ASMRMFV message tables have been
consolidated into a single table to relieve message
addition restrictions.
-Message RMFV016* generated when an expected versus actual
RMF III table id mismatch occurs now includes the actual
found table id in both character and hexadecimal.
-ASMRMFV prologue documentation has been updated for all
new parameters, for details on pattern match usage, and
expanded for return code 4.
NOTE: The TSO Clist method is not planned for any
further enhancement and may become archaic. TSO Clist
Method users are encouraged to trial and migrate to the
Dynamic Method which should be vastly superior in ease
of use and likely in performance as well.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 31.149 Change 30.203 broke the ability to use _GRPMNNM/_GRPMNCD
ASUMTAPE to define an additional variable (e.g., LOCATION) causing
Jul 22, 2013 ERROR: VARIABLE LOCATION NOT FOUND.
The KEEPs= for JES3MNT, JES510, and JES5918 needed macro
_GRPMNNM added, and _GRPMNCD was needed in the logic for
JES3MNT, even though this was a JES2 site.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 31.148 Documentation. The denominator D1 in NORM1=A B / D1 in
VMXGSUM your VMXGSUM invocation must be a variable, and can not
Jul 22, 2013 be an expression. Unfortunately, while some earlier
VMXGSUM releases did permit NORM1=A B /(C+D) syntax, that
was NEVER intended and is NOT supported; it's just too
deep in working logic to risk the exposure, when you can
use this logic in your VMXGSUM to create a variable with
an expression: INCODE=E=C+D; and then NORM1=A B/E.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 31.147 Support for CANPROD4, CANPROD5, and CANPROD6 optional
IMACICVC CICS segments creates same-named variables:
IMACICVD CMODHEAD
IMACICVE and Tailor
IMACAAAA Variable: Member
UTILEXCL CANPROD4 IMACICVC
VMAC110 CANPROD5 IMACICVD
Jul 19, 2013 CANPROD6 IMACICVE
Jul 29, 2013 -UTILEXCL wasn't updated until Jul 29, after 31.05 was GA.
Change 31.146 -INPUT STATEMENT EXCEEDED RACF UNLOAD 0506 short record.
EXRAC206 The documented length is 534 bytes, including two "user"
IMACRACF fields documented in fixed locations (bytes 270-525 and
VMACRACF 527-534) but this record was only 285 bytes. The first
VMXGINIT 269 bytes contained valid/expected data, but the two user
Jul 22, 2013 fields did not exist as documented. However, the record
does contain three fields of 3,8,4 bytes, so this change
detects the short record and only inputs what's left in
the record into variable USERDATA.
-INPUT STATEMENT EXCEEDED RACF UNLOAD 0510 short record.
Unlike the above short 0506, this one instance was only
262 bytes long, ending after CLASS with no user segment.
-Support for RACF UNLOAD 0206 RSAF DATA record creates new
RACF0206 dataset.
-Missing value messages were eliminated by improved logic.
Thanks to Florent Boulesteix, INOVANS partenaire CAAGIS, FRANCE.
Change 31.145 INPUT STATEMENT EXCEEDED for QAPMHDWR infile because the
VMACQACS two fields SWTMOD and DORESR do not exist in V5.4.0 data
Jul 18, 2013 records. Their INPUT is now conditional on being there.
Thanks to Clayton Buck, UNIGROUP, USA.
Change 31.144 Updates for SMF 83 Subtypes 2 thru 6.
VMAC83 Incomplete, await data records.
Jul 20, 2013
Change 31.143 -ID=120 ST=9 WebSphere TYP1209E variables are accumulated
VMAC120 if there is more than one observation per enclave token,
Jul 19, 2013 a not-documented-feature observed in the data. TYP1209E
Jul 26, 2013 is now sorted by SYSTEM,SM1209CR,CY,CV,CH,SM1209CM and
variables SM1209DA/DB/DC/DD/DE/SM1209DF are deaccumulated
if the obs is NOT (FIRST.SM1209CH AND LAST.SM1209CH), as
those are single-instance-per-enclave-token observations
whose CPU time is not accumulated. Use TYPS120 instead
of TYPE120 so that TYP1209E data is deaccumulated, or
%INCLUDE SOURCLIB(TYPE120); _ST1209E ; RUN; to invoke
the dataset sort macro, where MXG does deaccumulation.
-ID=120 ST=9 WebSphere variable SM1209DI, zAAP CPU time,
is now normalized by SM1209DG/256. While the zIIP time
in SM1209DF returned by WLM is normalized, and the part
of SM1209DH from zIIP and zAAP is normalized, SM1209DI
is returned by WLM in raw time units.
-ID=120 ST=9 WebSphere variable SM1209CI is now labeled
SM1209CI=TOTAL*CP+ZIIP+ZAAP*TCB CPU*TIME as it contains
TOTAL CPU time on all engines. Variable SM1209CX is the
portion of SM1209CI that was executed on the zIIP or zAAP
Specialty engine. If your CP engines are knee-capped,
i.e., slower than the zIIP speed, then the CPU time in
SM1209CX for the zIIP time (which is also included in
SM1290CI) will be the normalized (LARGER) CPU time value,
since that's what applications return for CPU time on
specialty engines. (E.g., documented that the CPUTM in
CICSTRAN can be greater than ELAPSTM for transactions
using zIIP/zAAP with slow CP engines.)
See this white paper, by David Follis, looking at WAS 120-9 analysis:
http://www-03.ibm.com/support/techdocs/atsmastr.nsf/WebIndex/WP102311
Thanks to Joe Faska, Depository Trust, USA.
Change 31.142 Support for User CICS Fields listed below.
IMACICV6 New Variable CMODHEAD CMODNAME
IMACICV7 IMACICV6 MSG@ MSG/APPL
IMACICV8 IMACICV7 EGTBS EGTBS
IMACICV9 IMACICV8 FROMCORR FROMCORR
IMACICVA IMACICV9 TOCORR TOCORR
IMACICVB IMACICVA EGMSGID EGMSGID
UTILEXCL IMACICVB PROGNAME PROGNAME
VMAC110
Jul 18, 2013
Change 31.141 DIVISION BY ZERO in ANALPRTR. One of the two calculations
ANALPRTR of printer THRUPUT didn't test THRUTM, the denominator,
Jul 17, 2013 for a non-zero value before a divide. Since a zero is a
valid value, there was no actual error; variable THRUPUT
is a missing value, with or without the test added by
this change before the divide that prevents that message.
Thanks to Jessie Gonzales, California State Controller's Office, USA.
Change 31.140 MXG 31.03-31.04, SMF70GNM, Group Name variable was always
VMAC7072 blank in PDB.TYPE70PR dataset, causing Group Capacity
Jul 17, 2013 datasets ASUM70GC/ASUM70GO to have zero observations.
MXG's bit 1 test in SMF70PFL was incorrectly changed in
31.03 causing group name to be replaced with blanks.
Thanks to Don Shelton, Time Customer Service, Inc., USA.
Change 31.139 Support for RACF TOKDANAM='UNAME' creates new variable
VMAC80A TOKUNAME in dataset TYPE80TK.
Jul 17, 2013
Thanks to Clayton Buck, UNIGROUP, USA.
Change 31.138 If you have multi-period workloads defined in RMFINTRV,
VMXGRMFI the period 1 RSP TRN SWP variables were mislabeled with
Jul 16, 2013 the workload name (BAT1) rather than the label (BATHI).
Thanks to Patricia J. Jones, DST Systems, USA.
Change 31.137 IMF TRANSACTION EXTENSION variables TRXZxxxx were wrongly
VMACCIMS INPUT @TRXPTIMO but are now INPUT @TRNEXTEN+TRXPTIMO, and
Jul 16, 2013 TRX1FL1,TRX1FL2, and TRX1_LDS variables are now correctly
input and kept in CICSTRAN data.se.
Thanks to Sieghart Seith, Fiducia IT AG, GERMANY.
Change 31.136 -IIS Log with unexpected ' ... ' COOKIE value caused CPU
VMACWWW loop; MXG expected an equal sign in COOKIE text, now
Jul 16, 2013 protects for no equal sign. Browser was Mozilla/5.0.
Jul 26, 2013 -Mozilla browser created unexpected URIQUERY value,
with a leading equal sign and without a URIQNAME that
also caused MXG to loop.
Thanks to Xiaobo Zhang, Fiserv, USA.
Change 31.135 If you used the _GRPALNM macro to subset ASUMTALO, the
ASUMTALO time range of the data could be limited to the time range
Jul 15, 2013 of a single system (if SYSTEM is what was added). Now,
if we detect that you have used _GRPALNM, then all data
will be input to ASUMTALO.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 31.134 The TIMESTAMP, BEGINTIME, ENDTIME values were wrong for
VMACXDFG HH of 12 with PM suffix (only PM hours 1-11 need +12),
VMACXDNS or for HH 12 with AM suffix (must reset HH=00).
VMACXDSP
Jul 16, 2013
Change 31.133 Support for TMON for DB2 Version 5 second iteration.
VMACTMD2 -DA and DB records were INCOMPATIBLY changed with removal
Jul 16, 2013 of 11660 and 5680 uncompressed reserved bytes, but there
was no change in the variables created in TMD2DA/TMD2DB
datasets. Fields DALHRECC/DBLHRECC are used to identify
and transparently process both record formats.
Note: Jul 2014, dataset TMD2DB replaced TMDBDB2 dataset.
-IG record was COMPATIBLY changed creating 2 new variables
IGGBGR1C='CURRENT*DIRECTORY*ENTRY'
IGGBGR2C='PENDING*DIRECTORY*ENTRY'
in TMD2IG dataset from previously reserved areas.
-Three TMON PTFs: TE03897, TEO3904, and TE03910 make these
changes in the TMON for DB2 records.
Change 31.132 Change 31.077 (PRCMFC 5.13 z/VM 6.2) was tested, sent,
VMACVMXA and validated, but that VMACVMXA was NOT moved into the
Jul 10, 2013 master MXG source, causing BROKEN CONTROL RECORD ERROR.
CFVN=1 CSVN=3 SKIP= still had 1708 instead of 1664.
Thanks to David J. Schumann, BCBS of Minnesota, USA.
Change 31.131 Using EXUTILEX to create a tailored IMACEXCL no longer
UTILEXCL works with recent UTILEXCL (31.02 for example) when there
EXUTILEX are two triplets with that CMODHEAD name, and it's not
IMACICUS yet clear why nor when it stopped working. If you have
Jul 9, 2013 an EXUTILEX member and its associated IMACICUS member,
please send them to support@mxg.com so they can be added
with a new IMACICxx member, which is now the correct way
to support user segments in CICSTRAN records.
-I will try to resolve and reinstate EXUTILEX support
and will update this note if/when that is accomplished.
At present, however, the second instance causes a SYNTAX
error citing the first variable in the EXUTILEX INPUT.
Thanks to Kim Nguyen-Thi, IBM, AUSTRALIA.
Thanks to Paul Gillis, IBM, AUSTRALIA.
Change 31.130 Corrections to zIIP/zAAP SHARE WEIGHTS in RMF 70 data.
VMAC7072 Change 30.106 did not correctly calculate the initial and
VMXG70PR current SHAREs for the zIIP engines, didn't create SHAREd
Jul 20, 2013 variables for the zAAP engines, and revisions to labels
now identify CP, ZAAP, or ZIP metrics.
TYPE70 dataset: the "LPAR" values are for this zOS system
while the "TOTAL" values are for the entire CEC.
TYPE70 SHARE WEIGHT variables in TYPE70:
TOTSHARC='TOTAL*CURRENT*CP SHARE*WEIGHT'
TOTSHARE='TOTAL*INITIAL*CP SHARE*WEIGHT'
ZIPSHARC='TOTAL*CURRENT*ZIIP SHARE*WEIGHT'
ZIPSHARE='TOTAL*INITIAL*ZIIP SHARE*WEIGHT'
IFASHARC='TOTAL*CURRENT*ZAAP SHARE*WEIGHT'
IFASHARE='TOTAL*INITIAL*ZAAP SHARE*WEIGHT'
LPARSHAC='LPAR*CURRENT*CP SHARE*WEIGHT'
LPARSHAR='LPAR*INITIAL*CP SHARE*WEIGHT'
LZIPSHAC='LPAR*ZIIP SHARE*CURRENT*WEIGHT*PCT'
LZIPSHAR='LPAR*ZIIP SHARE*INITIAL*WEIGHT*PCT'
LIFASHAC='LPAR*ZAAP SHARE*CURRENT*WEIGHT*PCT'
LIFASHAR='LPAR*ZAAP SHARE*INITIAL*WEIGHT*PCT'
ASUM70PR and ASUMCEC variables exist per LPAR:
LPnSHARC='LPAR n*SHARE*CURRENT*CP WEIGHT*PCT'
LPnSHARE='LPAR n*SHARE*INITIAL*CP WEIGHT*PCT'
LPnZIPSC='LPAR n*ZIIP SHARE*CURRENT*WEIGHT*PCT'
LPnZIPSH='LPAR n*ZIIP SHARE*INITIAL*WEIGHT*PCT'
LPnIFASC='LPAR n*ZAAP SHARE*CURRENT*WEIGHT*PCT'
LPnIFASH='LPAR n*ZAAP SHARE*INITIAL*WEIGHT*PCT'
Thanks to Lindholm Orjan, VOLVO, SWEDEN.
Change 31.129 Support for CICS User CIFAUDIT field.
IMACICV5
UTILEXCL
VMAC110
Jul 8, 2013
Change 31.128 If you tried to use the LDB2*** parameters to reroute a
READDB2 dataset to a different DDNAME/LIBNAME, it was not honored
Jul 4, 2013 and fails when trying to write to the PDBOUT destination.
READDB2 was using PDBOUT when it should have been using
the PDB2*** macro variables to change output DDNAMEs.
Thanks to David Bernhardt, Verizon, USA.
Change 31.127 Variables R783DCTM and R783DDTM (Control Unit Connect and
VMAC78 Disconnect Times) were added by z/OS 1.10 but were not
Jul 2, 2013 flagged with the expected vertical bar for new fields so
they were overlooked. They are added to Dataset TYPE78CU.
Thanks to Erling Andersen, SMTDATA, DENMARK.
Change 31.126 Variable XPTRVERS is now kept in all XPTR dataset.
VMACXPTR
Jul 1, 2013
Thanks to Robert Corballo, Xerox, USA.
====== Changes thru 31.125 were in MXG 31.04 dated Jun 26, 2013=========
Change 31.125 If you correctly asked for only DB2ST225 using syntax of
READDB2 %READDB2(IFCIDS=STATISTICS,WANTONLY=DB2ST25);
Jun 25, 2013 DIFFDB2 failed on the DB2STAT4 dataset due to a missing
ELSE clause, causing 0 observations to be created.
Thanks to Neil Ervin, Wells Fargo, USA
Change 31.124 MXG 31.03 only, INVALID DO LOOP CONTROL ERROR for ID=72
VMAC7072 SUBTYPE=5 record because MXG did not test SMF72QSN for a
Jun 25, 2013 missing value. Fortunately, since it was missing, there
Jun 27, 2013 was no impact, except for the error message and hex dump!
Aug 22, 2013 Correction was made in the undocumented refresh in 31.04
that was made on Jun 27. Check the 2nd line of VMAC7072
for Jun 27 to verify you have the final 31.04.
Thanks to Cletus McGee, ALFA Insurance, USA.
Change 31.123 Using the archaic EXITCICS version 1 for DB2 compressed
Jun 26, 2013 records caused INPUT STATEMENT EXCEEDED RECORD LENGTH due
VMACDB2H to a truncated DB2 Data Sharing Header, with only four
bytes and an invalid QWHSLEN (1439 decimal), printing an
incorrect message that APAR PM32425 was needed. Using
the current EXITCICS solved the truncation, but MXG now
detects this truncation with a revised error message and
prevents the STOPOVER ABEND.
Thanks to Michael Toole, AAA Michigan, USA.
Change 31.122 Long variable names caused 49, 388, and "quoted string"
VMXGSRCH errors. The string length was insufficient but now is
Jun 23, 2013 increased to 72 which will support names up to 50 bytes
(although SAS variable names have a 32 byte maximum).
Change 31.121 MXG Logic did not "unhex" CONDCODE for ABEND='COND=J' as
VMAC30 it does for USER and RETURN codes, causing the value to
Jun 23, 2013 be CONDCODE='000C', when it should be CONDOCD='0012'.
Thanks to Robert Bardos, Next Stride AG, SWITZERLAND.
Change 31.120 Support for QESD segment added in MQ Series 7.1 adds
VMAC115 variables to MQMMSGS dataset:
Jun 22, 2013
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.119 -Variables IPCSTIME and character TIMEZONE (CDT/EDT/etc.)
VMACNMON are added to NMONBBBP dataset.
Jun 23, 2013 -New RECTYPE='DISKWAIT1' now supported correctly; this
Jul 1, 2013 update was NOT in MXG 31.04, but is in 31.05.
-In adding support for DISKWAIT1 it was discovered that
the PDB.NMONDISK dataset could be missing observations
if there were more than 150 disk volumes on the system;
NMON writes 150 disks per record, and spills more disks
into the DISKxxxx1 tag, but MXG logic incorrectly used
the count in the LAST tag, so in this case, there were
150 disks in the first record, then 53 in the second, but
MXG used that count of 53 and output only the FIRST 53.
Thanks to Xiaobo Zhang, FISERV, USA.
Change 31.118 Support for new EDGR variables added to EDGRXEXT dataset
VMACEDGR (COMPATIBLY) by z/OS 1.13:
Jun 22, 2013 RDCOMPRAT ='FILE*COMPRESSION*RATIO'
Jul 15, 2013 RDESB ='EXPDT*SET BY*DATASET'
RDPHYSIZE ='ACTUAL*DATA ON*TAPE*AFTER'
RDUCDATE ='DATASET*LAST*USER*CHANGE*DATE'
RDUCTIME ='DATASET*LAST*USER*CHANGE*TIME'
RDVEX ='VRSEL*EXCLUDE?'
RVCOMPRAT ='VOLUME*COMPRESSION*RATIO'
RVESB ='EXPDT*SET BY*VOLUME'
RVHOLD ='VOLUME*HOLD?'
RVPHYSUSED='ACTUAL*SPACE*AFTER*COMPACTION'
RVRETMET ='RETENTION*METHOD'
RVRMSB ='RETENTION*METHOD*SET BY'
RVUCDATE ='VOLUME*LAST*USER*CHANGE*DATE'
RVUCTIME ='VOLUME*LAST*USER*CHANGE*TIME'
Thanks to Clayton Buck, UNIGROUP, USA.
Change 31.117 DB2 V10. All QLSTxxxx numerics (in DB2STATR,DB2STATS)
VMACDB2 are wrong. IBM inserted QLSTPRID in the second iteration
Jun 20, 2013 of DB2 V10 right after QLSTLOCN, but I missed that change
so all subsequent variables were misaligned by 8 bytes.
My thanks to DB2 Support at Computer Associates whose
reports were correct and were used to correct my error.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.116 TYPETPMX variable JOBNUM was truncated from the left when
VMACTPMX it was 6 digits long; an INPUT JOBNUM $VARYING7. is
Jun 20, 2013 (pretty obviously) needed for seven digits.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 31.115 -Reading COMPRESSED DB2 SMF 102 records using the internal
READDB2 SAS-code decompression algorithm set SUBTYPE=0 instead of
VMACSMF storing the IFCID in SUBTYPE. If you used %READDB2 and
Jun 19, 2013 listed any numerics in IFCIDS= argument, NO OBSERVATIONS
were created in those T102Snnn datasets, because READDB2
incorrectly tested SUBTYPE instead of QWHSIID.
Note: If you use the EXITCICS SAS INFILE EXIT on z/OS
to decompress DB2 records as they are read, or if you
use IBM PGM=DSNTSMFD on z/OS to decompress before you
read them, the SUBTYPE value is correctly set to the
IFCID, which is why the SUBTYPE test usually worked!
Now, QWHSIID is tested in READDB2 to correct this error.
-Because IBM DB2 does not populate the IFCID value into
the SMF Header SUBTYPE Field, MXG logic in VMACSMF gets
IFCID from the DB2 Product Segment to put into SUBTYPE,
when the data is uncompressed or the CICSIFUE is used,
but with the internal MXGDECOM, the record has not yet
been decompressed when the SMF header is processed, so
the offset to the Product Segment is wrong and the IFCID
cannot be INPUT, and SUBTYPE is zero (except for IFCIDs
105,106,196,258 and maybe others that aren't compressed).
and so ANALID reports 102.000 for those IFCIDs that can't
be known due to comressed records with MXGDECOM.
-After Change 32.175, the DB2 Subsystem is ALWAYS decoded
in the SMF Header Processing; the SMF SUBSYS field is the
DB2 Subsystem, but that was not realized in 31.115.
This Change Text was revised AFTER CHANGE 32.175.
-However, with compressed records and the internal decomp,
the DB2 version will be blank, since that, like IFCID, is
only in the product segment.
-The UTILGETM/VMXGGETM utility to extracts records of each
ID and Subtype to create the SMFSMALL dataset or report
on SMF record counts will also lump all those ID=102
IFCIDs as SUBTYPE=0 with compressed/internal.
-EXITCICS and DSNTSMFD are members in MXG Source Library.
-VMACSMF was revised to bypass reading the Product Segment
with compressed data and the internal code is used.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
====== Changes thru 31.114 were in MXG 31.03 dated Jun 17, 2013=========
Change 31.114 SMF70NCA, PERCENT*WHEN*CAPPING*DELAYED*WORK is added to
VMXG70PR ASUM70PR ASUM70LP ASUMCEC ASUMCELP datasets, and the
Jun 17, 2013 maximum Group MAX70NCA is added to ASUM70GL.
Thanks to Helene BARDON, Silica Production Information, FRANCE.
Change 31.113 Discovered during QA. TRNDing RMFINTRV created workload
VMXGRMFI variables in TRNDRMFI/MNTHRMFI datasets with suffixes TRN
Jun 17, 2013 RSP SWP for TSO1/TSO2/TSO3 that should not have been
created nor kept, as the actual TSOn TRAN RESP SWAP were
created. Because of the original 8-byte variable name
restriction, and because you can specify Workload prefix
with five characters, the OTHER multi-period workload
variable names ARE suffixed with TRN RSP and SWP, which
is a regrettable inconsistency in MXG names that we'll
have to live with. Also, workload variables that are
used only for normalizing (suffix CNT) are not kept.
Change 31.112 MXG support for ODS graphics executes PROC TEMPLATE when
FORMATS FORMATS is run (during install of a new MXG Version) and
GRAFWRKX the MXGSTYL1 style is stored in the //LIBRARY DD/LIBNAME
MXGSTYL1 and VMXGINIT adds LIBRARY to the ODS Path so that style,
VMXGINIT used initially in GRAFWRKX, can be retrieved and used.
Jun 16, 2013 GRAFWRKX comments show how to use the ODS graphics code.
Change 31.111 -RMF III Enhancements and Notes
ASMRMFV -RMF III SVP (Service Policy) tables over 32K in length
SENDVSAM are now supported. Prior versions of ASMRMFV would skip
VMACRMFV the entire SVP table if it exceeded 32K because that was
Jun 15, 2013 beyond the maximum output LRECL possible. Now when
needed this table is segmented and output to RMFBSAM as
several records. This was a long standing documented
ASMRMFV program restriction that is now lifted. This is
the last RMF Monitor III table that had a size support
restriction. Users with Service Policies less than or
equal to 32K in size will have a single SVP record
output to RMFBSAM as before.
-VMACRMFV has been upgraded to accept segmented SVP table
records when present as input in the RMFBSAM file; these
variables are now RETAINed from the header and are kept
in ZRBSVPC ZRBSVPG ZRBSVPR ZRBSVPW ZRBSVPZ datasets:
SVPDSP SVPIDD SVPIDN SVPIDU SVPIPU
SVPNSP SVPSNA SVPTDI SVPTIB SVPTPA
-Note: Users most likely to be affected by this change
are those with large number of Service Classes and/or
Report Classes in their WLM Service Policy. Their
ZRBSVPP, ZRBSVPW, ZRBSVPC, ZRBSVPZ, ZRBSVPR, and ZRBSVPG
data sets will now be populated in the RMF III PDB if
the SVP table is selected in ASMRMFV processing.
-When the POLICY parameter is in effect (NOPOLICY is the
default), a second RMFV024I message will now appear in
ASMRMFV SYSPRINT showing the Name and Description of the
Service Definition. This is in addition to the Name and
Description of the Service Policy already displayed.
-Also when the POLICY parameter is in effect, the
RMFV027I message in ASMRMFV SYSPRINT will now display
the total length of the SVP table. When this value
exceeds 32760 then the RMFBSAM output will be segmented
into several records instead of a single record to avoid
skipping the table. The segmentation behavior occurs
regardless of whether POLICY or NOPOLICY is in effect.
-The Service Policy itself is now counted as an entry in
the ENTRIES COUNT column for SVP tables. This is added
to the total number of Workloads, Service Classes,
Service Class Periods, Report Classes, and Resource
Groups defined in the Service Policy already included in
that value.
-ASMRMFV prologue source documentation has been updated
to remove documentation on the skipping of the SVP table
if greater than 32K in size.
-Minor corrections made to SENDVSAM sample JCL member
used to send RMF III VSAM file to MXG support.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change
must be installed. See MXG SOURCLIB member JCLASM3 for
sample JCL for the assembly and link-edit install steps.
Thanks to Warren Cravey, FMR Corporation, USA
Change 31.110 CICS/TS 5.1 only, MNSEGCL=5 (RESOURCE class FILE segment)
VMAC110 ID=110 Subtype 1 INPUT STATEMENT EXCEEDED RECORD LENGTH
Jun 13, 2013 because 16 bytes were inserted but not protected in MXG.
New variables
FCFIXCTM='FILE*EXCLUSIVE WAIT*DURATION'
FCFIXCCN='FILE*EXCLUSIVE WAIT*COUNT'
FCFIVSTM='FILE*VSAM STRING*WAIT*DURATION'
FCFIVSCN='FILE*VSAM STRING*WAIT*COUNT'
are now created in CICSRDFI. Fortunately (for ME!), only
leading edge CICS sites have enabled the RESOURCE class
segments, so the exposure is (hopefully) small for most.
Thanks to Tom Buie, Southern California Edison, USA.
Change 31.109 Documentation only, to create an uncompressed record for
VMAC110 technical support. The comment block is revised to show
Jun 11, 2013 how to print a hex dump of a single uncompressed record.
Change 31.108 DB2STAT1 variables QXSTCWLP/QXSTCW?R/QXSTCWLM/QXSTCWLD
VMACDB2 were not deaccumulated, were incorrectly kept in DB2STAT0
Jun 7, 2013 and QISTWMXU should not have been deaccumulated. Real
data with non-zero variables is required to validate if
fields are accumulated or not; the DSECTS are frequently
insufficient to clearly identify field contents.
Thanks to Giuseppe Giacomodonato, EPV Technologies, ITALY.
Change 31.107 These TYPE120 variables are now correctly labeled:
VMAC120 SM1209DD='ENCLAVE*ZIIP*ELIGIBLE*ON CP*CPU TIME'
Jun 7, 2013 SM1209DE='ENCLAVE*ZIIP*ELIGIBLE*CPU TIME'
SM1209DF='ENCLAVE*ZIIP*TIME*ON ZIIP'
Thanks to Mark Wittie, Fidelity Investments, USA.,
Change 31.106 -Variable TYPETASK in dataset TYPE6 was inconsistent for
VGETJESN PSF and Printway records, and did not identify Printway
VMAC6 Basic from Extended mode. Now, TYPETASK and SUBSYS6 will
BUILD005 contain 'PSF ' for PSF, and 'TCP ' for Printway Basic or
BUIL3005 'TCPE' for Printway Extended format records.
Jun 4, 2013 -BUILDPDB logic revised so these TYPE6 TYPETASK values are
May 14, 2014 NOT accidentally used for PDB.JOBS. HOWEVER: this can
cause TYPETASK to be blank in PDB.JOBS for any job for
which ONLY the PRINT record was found. And that will not
likely happen in full BUILDPDB production with the SPIN
library populated. It is when you have not populated the
SPIN library, and read "today's" SMF, it will have those
type 6 record for jobs that executed prior to today, and
that is the primary source of jobs with only TYPE6 obs.
Once you've populated the SPIN library, there should be
very few cases of only a type 6 record so TYPETASK should
normally be populated in production BUILDPDBs
This paragraph revised May 14, 2014.
-IP PrintWay fills in the page count (variable PAGECNT,
SMF6PGE) when it uses the direct sockets protocol to send
data to the printer and ONLY IF "Record pages printed for
accounting" option is selected in the Printer Inventory.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Thanks to Jeff Fracas, WIPRO, USA.
Change 31.105 ASMTAPEE ML-51 update corrects MXGC010E error message.
ASMTAPEE Note that if the HSC exit is not installed, STKX=NO must
Jun 1, 2013 be specified as a PARM when ASMTAPEE is executed.
//MXGTMNT EXEC PGM=MXGTMNT,PARM='STKX=NO'
Thanks to Scott Barry, SBBworks, Inc., USA.
Change 31.104 Change 30.250 was incorrectly made in ANALCAPD. The code
ANALCAPD should have had PDB=&PDBMXG, in the Macro Definition, but
ANAL72GO this discovery caused examination and correction of these
ANALAVAI other members. Many cases of lower case variable names
ANALBLSR were upper cased for consistency.
ANALCISH
ANALDB2R
ANALDBTR
ANALDMON
ANALNPMR
ANALRAID
ANALWHO
May 31, 2013
Thanks to Randy Shumate, Reed-Elsevier, USA.
Change 31.103 Variable QACCN is now kept in TMMQQAA dataset.
VMACTMMQ
May 30, 2013
Thanks to Homayoun Riazi, UHC, USA.
Change 31.102 IMS 13 inserted new DLRAZAAP field in the 07 Log Record
VMACIMS nearly at the front, that was overlooked, and caused all
VMACIMSA subsequent variables to be invalid, but error messages of
May 28, 2013 invalid data were only rarely printed.
Thanks to Daniel Erikols, Handelsbanken, SWEDEN.
Change 31.101 PDB.JOBS new variables HICPUPGM and HICPUPCT were wrong,
BUILD005 as the job-level values were taken incorrectly from the
BUIL3005 last step. They are now populated from the TYPE30_5 job
May 23, 2013 record, (using SPIN30_5 names HICPUPG5/HICPUPC5 because
they come from multiple records). With this change,
HICPUPCT is the maximum value of any step or interval
record, and HICPUPGM is the corresponding program that
recorded that HICPUPCT.
Note: These variables were one of the last of the late
Bernie Pierce's implementations, and they exist so that
IBM might be able identify single threaded programs.
With all processor vendors acknowledging that processor
speed is now limited by physics, and unlikely to be
increased significantly, applications that are single
threaded need to be identified for possible revision so
they don't become bottlenecks in the future, and these
variables provide a POSSIBLE candidate identification.
addition. Many IBM customers provided data, and I was
contacted because the MXG program, ASMRMFV, was flagged
as likely single-threaded, and it is! That program
decompresses the RMF III monitor data, and we had
previously examined with STROBE, which reported that
96% of the CPU time was inside the IBM-provided code
ERB3RDEC that does the decompression, which kicked this
ball back in to IBM field of play!
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.100 Member ASUMUOW executed twice because lines 214 following
ASUMUOW were duplicates of the first 214 lines, in MXG 30.06 thru
May 23, 2013 MXG 31.02.
Thanks to Mike George, Northern Territory Government, AUSTRALIA.
Change 31.099 Unused Change Number
Change 31.098 Support for local CICS variables TUXTRAP and UMBPROG.
IMACICV3
IMACICV4
UTILEXCL
VMAC110
May 22, 2013
Thanks to Jim Polleti, Edward Jones, USA.
Change 31.097 -CICS Statistics SMF ID=110 subtypes 2-5 contain multiple
VMAC110 segments per record, each identified by its "STID" value,
May 14, 2013 which controls which dataset is output, but MXG didn't
identify which SUBTYPEs had which STIDS to create which
datasets. These comments in VMAC110 are updated to list
CICS Statistics Subtypes 3-5 that contain STIDs 121-129:
CICS RECORD SUBTYPES AND CORRESPONDING MXG DATASETS CREATED:
0=JOURNAL SEGMENT
CICSJOUR (DEFAULT IF UNKNOWN JOURNAL).
CICSSAP (IF IMACICSA ENABLED FOR SAP).
CICSSMED (IF IMACICSM ENABLED FOR SHAREDMED).
1=MONITOR/TRANSACTION
MNSEGCL=1 DICTIONARY RECORD: CICSDICT ONLY IN UTILEXCL
MNSEGCL=2 CICSACCT (ZERO OBS ALWAYS, WAS PRE ESA)
MNSEGCL=3 PERFORMANCE CLASS: CICSBAD, CICSTRAN
MNSEGCL=4 EXCEPTION: CICSEXCE
MNSEGCL=5 RESOURCE: CICSRDS,CICSRDFI,CICSRDQU
MNSEGCL=6 IDENTITY: CICSIDNT,CICSIDND
2=STATISTICS: ALL OTHER STIDS, ALL OTHER CICXXXXX DATASETS
3=TS DATA SHARING STATS: CICXQ1,CICXQ2,CICXQ3
STID: 121 122 123
4=CF DATA TABLE STATS: CICFS6D,CICSF7D,CICFS8D,CICFS9D
STID: 126 127 128 129
5=NAMED COUNTER STATS: CICNS4D,CICNS5D
STID: 124 125
-TYPE110 processing always examines subtypes 2-5 for all
possible STIDs, which control which dataset is output,
but the example in comments in CICINTRV to build from raw
SMF selected only subtype 2 in its IMACFILE tailoring, so
that example would not populate those nine datasets. That
example now selects SUBTYPE GE 2.
Thanks to Richard Schwartz, IBM Global Services, USA.
Change 31.096 Example summarizes ENTIREX data to 15 minute intervals.
ASUMENTX
May 11, 2013
Change 31.095 Variable CA_XIIS /* GET CACHE DATA ACCESS XI'S */ now
ANALRMFR includes R744CXFW /* XI WRITE */ to match IBM RMF report.
May 11, 2013
Thanks to Marvin Silverman, ???, USA.
Change 31.094 BUILDPDB/BUILDPD3 enhancement: create your own accounting
BUILD005 variables for PDB.JOBS/PDB.STEPS/PDB.SMFINTRV, especially
BUIL3005 useful when converting from MICS to MXG. While IMACACCT
EXPDBACC allows you to create account variables, and the _KTY30Ux
VMXGINIT tailoring macros, placed in member IMACKEEP, will add
May 11, 2013 them to the TYPE30xx datasets, this new EXPDBACC exit
lets you create additional account variables for BUILDPDB
and, similar to other PDB "ADDxxxx" macro variables, use
%LET ADDACCT= ACCTBITS ACCTNo1-ACCTNo5;
and your new variables will be kept in the PDB datasets.
Thanks to Randall Schlueter, First Data, USA.
Change 31.093 -The DB2 "INVALID" IFCID=369 ID=100 SUBTYPE=5 DB2STAT5 SMF
CLEARDB2 record, cited and purportedly protected by Change 31.088,
READDB2 is more accurately described (in fairness to IBM DB2) as
VMACDB2 "UNDOCUMENTED" or "UNEXPECTED", but not INVALID, although
May 14, 2013 it caused MXG to take a floating point exception or INPUT
STATEMENT EXCEEDED error that ABENDED the JOB. (Older MXG
Versions print the 'CALL HOME" message 1440 times per DB2
Subsystem, but fortunately, with no actual impact on the
other existing DB2 datasets).
The UNEXPECTED subtype 5 record is now diagnosed as a
startup record, written when IFCID 0369 is enabled, and
it contains only two segments (PROD and OFF3691), with
only QW0369ST (enabled datetimestamp) populated, so MXG
sets QW0369CN='ENABLED' (or, for a record with QW0369SP
populated, MXG sets QW0369CN='DISABLED'). Since DB2STAT5
is a per-connection-type statistics, I presumed all five
segments would be present, but now test for QWHSNSDA=2 to
identify this record.
There was one record written with impossible DB2TCBTM of
152 minutes for a 1 minute interval for BATCH connection,
not possible, but the peak sum of DB2TCBTM recorded 38
minutes on a machine with XX CP engines.
Support for Subtype 5 was not in the original 31.02; it
was at least 5 minutes after I posted the GA announcement
before Joe Babcock sent me the CALL HOME message about
the new DB2 subtype, and Change 31.081 updated VMACDB2 to
create DB2STAT5, since it tested fine with a day's data
(other than the separate internal invalid data issue)
and because, without that updated VMACDB2, there would be
1440 "CALL HOME" log messages per DB2 subsystem printed
each day While in no way impacting the actual execution,
those messages can ONLY waste user's time in asking about
them, so the updated VMACDB2 at 31.081 was moved into the
redated MXG 31.02 on May 5. Unfortunately, by then, the
short record had been found, Change 31.088 detected and
protected, but the VMACDB2 in 31.02 of May 5 was still at
Change 31.081. This change, now does recognize and read
and output these records to DB2STAT5 without error.
-READDB2 is updated to create DB2STAT5 when STATISTICS or
IFCID=369 is requested. DB2STAT5 is NOT combined into
DB2STATS because STAT5 is per connection-type metrics.
-CLEARDB2 is updated to add DB2ST5 tokens to be redefined.
Change 31.092 Reserved Change Number.
May 8, 2013
Change 31.091 Instructions for updating IMACSMFF to add the description
FORMATS for user SMF records for the ANALID report and SMFRECNT
May 7, 2013 dataset didn't state that the syntax that is required is
'III.SSS' (III=ID with SSS=SUBTYPE) if the record has the
a subtype in the SMF header, or 'III.000' if not.
Change 31.090 Default LENUSRCH=32 was left behind from debugging that
IMACICUS should be LENUSRCH=0; this could cause EXCLUDED field
May 7, 2013 error messages even though you had tailored IMACEXCL.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.089 Installation JCL example had inconsistent DSNAMEs for the
JCLINSTT TERSED dataset.
May 7, 2013
Thanks to Donald Williams, UNC Health Care, USA.
====== Changes thru 31.088 were in MXG 31.02 dated May 5, 2013=========
Change 31.088 New DB2 V10 ID=100 SUBTYPE=5 DB2STAT5 INPUT EXCEEDED
VMACDB2 error because of an UNDOCUMENTED short record with only
May 4, 2013 two segments. See Change 31.093 for the correction.
The original May 4 change to VMACDB2 detected and deleted
records with large OFF3692 offset values. The DB2STAT5
data is the DB2 IFCID=0369 and must be enabled to create
the exposure. See Change 31.093.
Change 31.087 MXG 31.02. Debugging PROC PRINT of DATA=MGTMSVL was left
TYPETMS5 after it helped diagnose Change 31.078. Now removed, but
May 4, 2013 it could create a massive print output dataset.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.086 -SMF Audit Report Enhanced for DB2 SMF to report if the
ANALID ACCUMAC ZPARM option was enabled (NON-ZERO VALUE combines
VMACID multiple 101-1 records into one Rollup record with all
VMACSMF detail summarized). Variable DB2PARTY='R' in DB2ACCT
May 4, 2013 flags the summary records, which can be confusing if you
Jun 26, 2013 do not know what to look for, and ACCUMAC=10 is default.
A column is added and new FOOTNOTE2 explains. Note that
if ACCUMAC is on and off, statistics for both conditions
are reported.
-CICS 110.2 records are never compressed but MXG didn't
select only subtype 1 records, so the report could have
incorrectly indicated compressed for subtype 2 records.
-Jun 26, 2013: Comments revised in IMACSMFF.
Change 31.085 Format $MGCICDS for SMF/SMT/SMS CICS Statistics values
FORMATS 11/12/13x are now replaced in CICS/TS 5.1:
May 3, 2013 '11'X='11X:GCDSA' /* WAS ESDSA PRE 5.1.0 */
'12'X='12X:GUDSA' /* WAS ERDSA PRE 5.1.0 */
'13'X='13X:GSDSA' /* WAS ETDSA PRE 5.1.0 */
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 31.084 MXG 31.02, RMF III INPUT STATEMENT EXCEEDED if an LPAR
VMACRMFV had no engines; the SKIP logic to skip the nonexistent
May 3, 2013 segments was incorrect with unexpected zero engines.
Thanks to James Sterling, DST Systems, USA.
Change 31.083 Reserved Change Number.
May 10, 2013
Change 31.082 -ASCII only. Character variable SMFDSAIN with $HEX format
VMAC110 must be input as $CHAR instead of $EBCDIC when MXG runs
Apr 30, 2013 on ASCII. Two of three incorrect instances corrected.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Thanks to Glen Bowman, Wakefern Food Corp.
Change 31.081 Support for DB2 V10 ID=100 SUBTYPE 5 Statistics Record,
EXDB2ST5 IFCID=369, created when you enable that trace record, now
IMACDB2 creates new DB2STAT5 dataset with LOTS of CPU and WAIT
VMACDB2 times (ALL QBAC and QWAX variables) by connection type,
VMXGINIT with these connection types defined:
Apr 30, 2013 MASS - IMS attach
SASS - CICS attach
RRSAF - RRSAF attach
UTILITY - Utility
BATCH - Batch
DIST - DDF connection
From IBM:
1.Statistics collection will become enabled when both
IFCID 369 and IFCID 3 is enabled on the system.
2.All counters will be reset to zeroes when DB2 is
restarted
3.Statistics are aggregated by connection type. If no
agents for that connection type have executed since
the 369 collection in enabled, no data will be
externalized for that connection type.
4.QWACPCNT indicates the number of transactions
aggregated for a given connection type.
The MXG - ERROR: UNEXPECTED DB2 SUBTYPE. CALL HOME.
shows how long ago this code to detect new subtypes was
added to MXG: BEFORE THERE WAS AN INTERNET! The message
now references SUPPORT@MXG.COM.
There is no direct impact on ITRM by the creation of the
new DB2STAT5 dataset. When DB2STAT4/DB2ST225 datasets
were created MXG did impact ITRM, with NOT SORTED errors
(that were immediately corrected with a one line insert),
but that was because those datasets were merged into the
PDB.DB2STATS where sorts had to match; this new DB2STAT5
dataset is NOT combined into the interval PDB.DB2STATS,
at least not yet and not until it's errors are fixed,
because it is a per-connection-type-per interval dataset.
See Change 31.093.
Sep 2014 Note: If you have tailored TYPEDB2/TYPSDB2 code,
you will have to modify your code to create the DB2STAT5
dataset. If you uses _NDB2 to null all datasets, then
you will need to add MACRO _WDB2ST5 DB2STAT5 % so that
that dataset is created. Otherwise, you will get
ERROR: No data set open to look up variables
printed before
"The data set WORK.ZZDB2ST5 may be incomplete/"
Thanks to Joe Babcock, JPM Chase, USA.
Thanks to John Hornor, JPM Chase, USA.
Change 31.080 -RMF III Enhancements, Fixes, and Notes
ASMRMFV -Change 31.021 increased the number of ENC table triplets
May 28, 2013 processed from 1 up to 6. However, later analysis of
data from several installations confirmed that triplets
2-6 all have zero token values for every enclave and no
identification information. Therefore, processing is
reverting back to only processing the first triplet as
before.
-Note: Users who have implemented change 31.021 or 31.062
will see the number of observations in the ZRBENC dataset
significantly reduced with this change.
-Validity checking for most RMF Monitor III tables has
improved. This is intended to detect malformed RMF III
tables that could cause abends or bad data in the PDB
build later. For example, table headers cannot have a
zero or excessive length. However, users should not see
a general increase in skipped records. Table skipping
should be a rare event.
-ASMRMFV was inconsistent in handling tables with entry
counts of zero. Most tables with this condition were
already ignored with no output to any file. However, for
some tables the header only was output. Now all such
tables are ignored by default.
-Note: RMF Monitor III table headers only contain control
information such as header length, total record length,
and the number of entries, entry length, and table offset
for triplet groups. So there is no loss of useful
analysis data by excluding headers only from the RMFBSAM
file. It is the entries themselves that contain relevant
information for reporting.
-Because headers only for tables with zero entries are no
longer output, the ZEROENC/NOZEROENC parameters (and
their aliases) for ENC table processing are now OBSOLETE.
If coded they will be accepted without error, but will be
ignored.
-ZEROENC/NOZEROENC will no longer be displayed in filters
message RMFV006I.
-New parameters SKIPTAB/NOSKIPTAB are now supported.
NOSKIPTAB is the default and says to ignore any tables
with zero entries. This is the behavior of prior ASMRMFV
versions. SKIPTAB says to output these as skipped
records. SKIPTAB is intended for possible diagnostic use
only and the default NOSKIPTAB should be adequate for all
users.
-Note: SKIPTAB/NOSKIPTAB applies only to the following RMF
Monitor III tables: ASI, CFI, CPD, CSR, DVT, ENC, ENT,
OPD, SPG.
-When the POLICY option (alias POL) is in effect a second
RMFV027I message will now be produced showing the SRM
coefficients for CPU, IOC, MSO, and SRB for that Service
Policy.
-Error message RMFV007S had incorrect values for DDNAME
and Reason Code when a BLDVRP failure occurred.
-ASMRMFV prologue source documentation has been updated
for the new SKIPTAB/NOSKIPTAB parameters, the obsolete
ZEROENC/NOZEROENC parameters, and has more information on
the checks used to determine skipped records.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
There are NO CHANGES to VMACRMFV for this enhancement.
Thanks to Rodger Foreman, Trans Union, USA
====== Changes thru 31.079 were in MXG 31.02 dated Apr 29, 2013=========
Change 31.079 Dataset TYPE42 variables S42CCSST S42CCEIT S42CCSET
VMAC42 were on GMT rather than local, and there is no GMT offset
Apr 26, 2013 in that subtype, but SMFTIME was used to derive and use
the offset to convert those datetimes to local zone.
This caused me to examine and find that all of the TYPE42
datasets with STARTIME and ENDTIME also had GMT values,
but these datasets were corrected in this change:
42D1 42D2 42D3 42D4 42EX 42L1 42L2 42S1 42S2 42S3
42S4 42SR 42VT 42X1 42X2 42X3 42X4.
Either no one uses these datasets, or they recognized the
SMFTIME was local and could visually convert!
Thanks to Paul Naddeo, Fiserv, USA.
Thanks to Edward Petka, Fiserv, USA.
Change 31.078 PROC FORMAT failed with "FORMAT NAME $MGTMSVL" IS INVALID
VMACTMS5 that was NOT repeatable here with either z/OS or Windows,
ANAL30 because this was an NLSCOMPATMODE issue for non-US site.
ANALCPUV The $ is a variant character and was the culprit, but it
ANALDB2P turns out that the $ is NOT required in the FORMAT NAME,
ANALZPCR since the PROC FORMAT sets the CHAR/NUM nature, so all of
GRAFLPAR the PROC FORMATS that create 'on the fly' formats were
TIMEBILD revised to remove the $ character from variable FMTNAME.
TRNDTALO NOTE: ALL NLS ISSUES ARE ELIMINATED IF YOU USE THE NEW
VFMT102 // EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
VFMT102 documented in Change 27.356 and recommended in INSTALL,
Apr 26, 2013 or if CONFIGN9 (instead of CONFIGV9) is used in your site
MXGSASV9 JCL, as CONFIGN9 does NOT change the site's
NLSCOMPATMODE option value.
Thanks to Frank Lund, Evry AS, NORWAY.
Thanks to Rich Anderson, SAS Technical Support, USA.
Change 31.077 z/VM 6.2 PRCMFC 5.13 (SMF 113-like) record has 384 extra
VMACVMXA bytes added that exposed BROKEN CONTROL RECORD ERROR, due
Apr 27, 2013 to MXG code (1664 bytes read for the 208 counters, but
1728 subtracted). No new counters exist (yet?) in z/OS
SMF 113 so these new bytes are (presumably) for the
future, but I will confirm with IBM VM support and update
this note if there is another explanation.
Thanks to David J. Schumann, BCBS of Minnesota, USA.
Change 31.076 Support for USER CICS fields INFRASTR CSGNTAIP FDRTRRCP
IMACICUY and FDRICPTI.
IMACICUZ
IMACICV1
IMACICV2
UTILEXCL
VMAC110
Apr 25, 2013
Thanks to Mayer Rosenthal, WIPRO, USA.
Thanks to Jeff Fracas, WIPRO, USA.
Change 31.075 ASCII execution only. Variables RTYPE and RRTYPE were
VMAC110 incorrectly input as $CHAR instead of $EBCDIC in current
Apr 23, 2013 CICS versions' code. Older versions were correct.
And there was NO error if you used UTILEXCL to create a
tailored IMACEXCL; that code did use $EBCDIC.
Thanks to Erling Andersen, SMTDATA, DENMARK.
Change 31.074 Dataset ZRBLCP had incorrect values for these variables
VMACRMFV LCPUPOLR LCPUCHIN LCPUCHIX due to misaligned INPUT.
Apr 23, 2013
Thanks to Sterling James, DST Systems, USA.
Change 31.073 Variable TYPETASK added to ASUMSMFI and TRNDSMFI
ASUMSMFI datasets.
TRNDSMFI
Apr 28, 2013
Thanks to Frank Lund, Evry AS, NORWAY.
Change 31.072 Format MG0748L decodes variable R748LTYP; new value for
FORMATS 16 GB/S Link Type is now decoded.
Apr 23, 2013
Thanks to "Bustia REPORTING", La CAIXA, SPAIN.
Change 31.071 Cosmetic. PAGEBY SYSTEM added so each system starts on a
ANALID new page.
Apr 23, 2013
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 31.070 PMSTA01 Report. Cosmetic. If DB2STATS had only one obs,
ANALDB2R and always for the last observation, page headers for
Apr 19, 2013 the report were suppressed.
Change 31.069 Reserved Change Number.
Apr 28, 2013
Change 31.068 See Change 31.018. This is IDMS EXIT code, contributed by
ADOCIDMP Blake Leggett, Pace Applied Technology, that creates the
ASMIDMPA SMF records with IDMS resources that are processed with
ASMIDMPJ TYPEIDMP/TYPSIDMP MXG programs.
ASMIDMPS -See ADOCIDMP for details for installing the exit.
ASMIDMPU -The assembly source members for the Account Information
JCLIDMPA exit, Journal Exit, Task Statistics Exit, and User Exit
JCLIDMPJ for IDMS are now included.
JCLIDMPS -Sample JCL members for these exits are provided with
JCLIDMPU documentation on what each exit does and how to install
Apr 13, 2013 them.
-NOTE: Some tailoring of the sample JCL is required for
data set names particular to the user installation.
-NOTE: These exits are intended for use with IDMS V12.0
and up.
Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.
Change 31.067 A new way to map DBID/OBID to their database and object
ANALDB2R names by first using JCLSQLID to extract those names at
JCLSQLID a point-in-time, from SYSIBM.SYSTABLESPACE which has the
VFMT102 complete mappings, rather than reading 105/107 IFCIDS
Apr 13, 2013 that has been problematic, and then the POINTIME= option
added in ANALDB2R POINTINTIME= can be used to read that
dataset created by JCLSQLID:
-POINTINTIME=YES reads JCLSQLID output from a static
//OBID DD DSNAME= you provide.
-POINTINTIME=DSNAME allocates DSNAME to FILENAME OBID
and reads that file of JCLSQLID output.
-POINTINTIME=NO reverts to the prior technique using the
IFCID 105/107 records, but neither technique is 100%
perfect as mappings can be changed after the snapshot
was taken. This method has been more complete in
mapping.
Change 31.066 Support for z/OS 2.1.
VMAC7072 -Up to 256 engines are supported, but no new variables are
Apr 12, 2013 kept in TYPE70. Individual engine data for all engines
are output in TYPE70EN dataset.
Change 31.065 If there was no PDB in PDB= argument, ANALDBTR failed:
ANALDBTR ERROR: NO BY STATEMENT USED OR NO BY VARIABLES EXISTED.
Apr 11, 2013 The substitution style macros all specify &PDBMXG as the
input DD to be used in the sorts (that is the MXG default
value) but ANALDBTR and ANALDB2R could be pointing at
other DDNAMEs including WORK. This change sets the value
of &PDBMXG to the PDB= parameter that was specified when
ANALDBTR is called, after storing the original value so
it can be restored at the end of ANALDBTR.
Change 31.064 DSGI Data Set Graphics is not officially supported by SAS
ANALACTM after SAS 9.3, but it does work in SAS 9.4, and it will
Apr 11, 2013 likely continue to execute in future releases, as it is
Jun 15, 2013 not actually being removed, but is no longer documented
and is no longer supported if errors occur. With SAS 9.4
this note is printed on the SAS log, but it still works:
NOTE: DSGI will no longer be supported after SAS 9.3.
Also, option CHART=NONE will suppress the DSGI code.
And, the Graphic portion of the report does require that
you have SAS/GRAPH - that code automatically skipped if
we see that you do NOT have SAS/GRAPH, but the formatted
hierarchical report of your WLM policy is still created.
Change 31.063 Cosmetic. Page spacing for Header 2 was different than
ANALRMFR Header 1; the extra // in Header 2 was removed.
Apr 10, 2013
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 31.062 -RMF III Enhancements and Notes
ASMRMFV -The RMF Monitor III Processor Data Control Block (CPU)
VMACRMFV and CPC Data Control Block (CPCDB) tables are now handled
Apr 11, 2013 as two distinct tables just as they are documented in the
RMF Programmer's Guide. Before they were logically
handled as one table (CPU).
-The CPCDB table will appear as a new table entry CPC in
ASMRMFV RMFV105I messages. Each LPAR entry is counted as
an entry in the output.
-Note: The CPU table generally contains physical processor
data while the CPC table contains LPAR and logical
processor data. CPU table data is output to the ZRBCPU
dataset while CPC table data is output to the ZRBLCP
dataset by VMACRMFV. The number and content of variables
in those datasets is unchanged from prior releases with
the exception of 2 minor variables CPUCPOFF and CPUTOTLN
in the ZRBCPU file.
-The CPU and new CPC table selection parameters in ASMRMFV
are co-dependent because the tables are so closely
related. When one is selected, so is the other. For
example, the CPU parameter when coded also selects The
CPC table. Conversely, when one is deselected, so is the
other. For example, NOCPU when coded will also result in
NOCPC. Thus you do not need to alter any existing
CPU/NOCPU parameter settings you may currently have to
include or exclude the CPC. The ALL parameter (default)
also selects both tables.
-When the CPC table is selected in ASMRMFV the LPAR and
Logical Processor entries are now blocked up to use as
much as possible of a 32K logical record. The much
shorter CPU table is unblocked.
-ASMRMFV/VMACRMFV will now support up to 680 Logical
Processors per LPAR (based on current section data
lengths) before the entire CPC table is skipped.
-VMACRMFV is updated to support the CPCDB table and
blocking of its LPAR/Logical Processor sections.
-ASMRMFV will now show the Average LRECL output for each
RMF Monitor III table in detail and summary RMFV105I
messages as a potential aid to sizing the RMFBSAM file.
-Redundant code in ASMRMFV to skip various tables when
invalid lengths or errors are encountered has been
consolidated into a single internal subroutine.
-ASMRMFV prologue source documentation has been updated on
CPC/NOCPC parameters, the co-dependency with CPU/NOCPU
parameters, and other items related to this change.
-REQUIREMENT: In order to receive the performance benefits
from CPC entry blocking the current ASMRMFV utility
program from this MXG change must be installed. See MXG
SOURCLIB member JCLASM3 for sample JCL for the assembly
and link-edit install steps.
-Tutorial: This item has been mentioned before, but with
the CPC table blocking the use of the EXZRBLCP exit is
affected. Your tailoring logic in EXdddddd dataset exits
to control output of an MXG dataset needs this structure
to always be safe:
IF something THEN DO;
OUTPUT _Wdddddd;
END;
and can't use a DELETE, RETURN, nor "IF something;" logic
because when "something" is true, they stop the read of
this current record, skipping any un-read segments from
being tested for "something".
This consideration applies in particular to the
following RMF III tables that have blocked input data to
a PDB build and to their respective output exits:
RMF III Table Output Exit
------------- -----------
ASI EXZRBASI
CPC EXZRBLCP
CPD EXZRBCPD
CSR EXZRBCSR
DVT EXZRBDVT
ENC EXZRBENC
ENT EXZRBENT
OPD EXZRBOPD
RED EXZRBRED
SHD EXZRBSHD
SPG EXZRBSPG
UWD EXZRBUWD
Change 31.061 New MXGACC03 report uses ANALCNCR to create average and
ANALDB2R maximum concurrent threads/DBATs for each chosen INTERVAL
Apr 4, 2013 for each Subsystem and AUTHID, tabulated by QWHCATYP, the
Attachment Type (TSO,CICS,DDR...), with a tabular report.
You can tailor using existing ANALDB2R report parameters
to select data, or all DB2ACCT data will be reported.
BUT IT IS NOT POSSIBLE TO COUNT THREADS/DBATS WITH ROLLUP
DB2PARTY='R' ACCUMAC DB2 Accounting Records. If five
one-second transactions ran sequentially from minute 1 to
minute 6, their rollup record would report five minutes
with QLACRLNU=5 concurrently active when there was one.
We could calculate an average of 1 in this case, but if
the first minute was a peak of 50 and there were then
four minutes of 1, we would calculate an average of 11.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 31.060 These CA-Dispatch variables that can be added to TYPE6
IMACCADI and PDB.PRINT, CADIDPLX CADIJDEI CADIJDLI CADIATYP, were
VMAC6 all wrong and equal to CADIXFRM, variable CADIACCT now
Apr 4, 2013 has nulls converted to blanks, and new variable CADIJBID
contains the JCTJOBID from the CADI segment in SMF 6.
Thanks to Randy Schlueter, First Data Corporation, USA.
Change 31.059 -The System Parameter Report produced many pages, six
ANALDB2R pages per subsystem per interval generated. The report
Apr 3, 2013 did not anticipate an IFCID=106 record written every 15
minutes. Now, only the first observation for each
subsystem, or the first record after a restart will be
printed by PMSPR01=YES.
-Cosmetic. Page Number printing in DB2PM-like reports did
not align when there were five digits of page number.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 31.058 -The last NMON record, 'BBBP ENDING UPTIME' was not read
VMACNMON but now it is read into variables BBBP0049-BBBP0056.
Mar 29, 2013 -Records SEA, SEAPACKET, DONATE are supported.
Thanks to Lennon L. Merchant, Coca-Cola, USA.
Change 31.057 -When variable STARTIME was in SORTBY= argument, some of
ASUM4HRS the xxxx_4HRS_AVG variables were zero or missing for the
ANAL4HRS first four hours of each subsequent day. Comments that
VGETFMT tried to communicate "don't use STARTIME in SUMBY="
Mar 27, 2013 SORTBY- VARIABLES BY WHICH THE DATASET IS SORTED NOT
INCLUDING THE STARTIME (ASSUMED TO BE THE LAST
VARIABLE IN THE SORT)
were revised to be clearer.
-The prior requirement for the input data to be pre-sorted
is removed; ASUM4HRS will do the sort in its processing.
-ANAL4HRS was an accident from an early ASUM4HRS iteration
that shouldn't have been kept; now it is only comments to
use ASUM4HRS.
-Argument NONOTES was not UPCASED and was not recognized
when the argument was typed in low case, now corrected.
Thanks to Michael Marcus, FUJITSU, USA.
Change 31.056 Variable THREADS was created only in ASUMDB2A and used in
ASUMDB2A ANALDB2R, by setting THREADS=1 for each DB2ACCT obs, but
VMACDB2 for RollUp DB2PARTY='R' records, THREADS=QLACRLNU; is now
Mar 26, 2013 used to count the number of threads in each rollup.
And variable THREADS is now similarly created in DB2ACCT.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 31.055 Cosmetic. Variable CIFROM is formatted $MGNDMNT and
VMACNDM variable NDMNODET='FLAG1*FIELD' is formatted $HEX2. and
Mar 29, 2013 re-labeled correctly.
-Variable NDMRTYPE now kept in NDMGO as multiple subtypes
are output into that dataset.
Thanks to Michael Oujesky, Bank of America, USA.
Change 31.054 Corrections for '1031' record to populate JOBNAME and
VMACPRPR FIELDNAME.
Mar 24, 2013 Corrections for '1061' record, to use the original INPUT.
Apr 11, 2013 CUST_ACC changed to character variable as it must be.
Thanks to Geert Debatselier, KBC, BELGIUM
Change 31.053 MXGWARN: QWACBSC IS NOT A VALID SORTBY VARIABLE is fixed.
ANALDB2R
Mar 24, 2013
Change 31.052 IIS Weblog decoding URIQUERY than ended with &=1 with no
VMACWWW URIQNAME before the equal sign caused INVALID SUBSTR note
Mar 22, 2013 that is now eliminated.
Thanks to Dennis Longnecker, State of Washington Courts, USA.
Change 31.051 -Support for user field CHARGE creates variable USCHARGE
IMACICUX in CICSTRAN when comment block in IMACICUX is removed.
UTILEXCL -Change 30.283 (30.30/30.01) "***UNKNOWN FIELD" protection
VMAC110 was still insufficient, and the IMACEXCL created failed
VMACSMF with a 180 syntax error due to missing @;. Circumvention
Mar 22, 2013 logic updated yet again, hopefully, but sending the full
UTILEXCL log is all that is needed for MXG to add UNKNOWN
fields optionally to your CICSTRAN dataset.
Thanks to Mayer Rosenthal, WIPRO, USA.
Thanks to Denise Willers, WIPRO, USA.
Thanks to Jeff Fracas, WIPRO, USA.
Change 31.050 STOPOVER abend with ancient CICS Version '03' ID=110 in
VMACSMF new-in-30.30 VMACSMF code to get ID and SUBSYSTEM during
Mar 19, 2013 header processing was complicated by a subtype 0 record
that was actually a subtype 1, so the correction code in
VMAC110 was used in the VMACSMF processing logic.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 31.049 Support for WAS XD (WebSphere Extended Deployment) under
EXXDFGLG z/linux under z/VM reads 6 virtualization log files - see
EXXDNSLG IBM 2007 "Best Practices" Red Bok SG24-7343 - to create:
EXXDSPLG
EXXDSSLG DDDDDD DATASET Description
EXXDTILG
EXXDTSLG XDNSLG WASXDNS Node Statistics Historic Cache
IMACXDFG XDSPLG WASXDSP Server Power Consumption Stats Cache
IMACXDNS XDSSLG WASXDSS Server Stats Cache
IMACXDSP XDTILG WASXDTI TC Module Instance Stats Cache
IMACXDSS XDTSLG WASXDTS TC Module Stats Cache
IMACXDTI
IMACXDTS and this dataset which IBM recommends for Chargeback
TYPEXDFG
TYPEXDNS XDFGLG WASXDFG Fine Grained Power Consumption Stats
TYPEXDSP
TYPEXDSS These MXG variables are created in "Fine Grained" data:
TYPEXDTI
TYPEXDTS APPNAME APPLICATION*NAME
TYPSXDFG BEGINTIME INTERVAL*BEGIN*DATETIME
TYPSXDNS CELL CELL*NAME
TYPSXDSP CELLPOWER TOTAL*CELL*POWER*PER SECOND
TYPSXDSS CELLWORKPOTENTIAL MAXIMUM*CELLPOWER*PER*INTERVAL
TYPSXDTI CLUSTER CLUSTER*NAME
TYPSXDTS ENDTIME INTERVAL*END*DATETIME
VMACXDFG GWID GATEWAY*ID
VMACXDNS INTRVLTM INTERVAL*DURATION
VMACXDSP MODULENAME J2EE*MODULE*NAME
VMACXDSS NODE NODE*NAME
VMACXDTI NODEGROUP NODE*GROUP*NAME
VMACXDTS NODEPOWER TOTAL*NODE*POWER*PER SECOND
VMXGINIT NODEWORKPOTENTIAL MAXIMUM*NODEPOWER*PER*INTERVAL
Mar 31, 2013 NUMSERVICED REQUESTS*SERVICED*OF THIS*TYPE
ODR ON*DEMAND*ROUTER*NAME
POWERCONSUMED POWER*CONSUMPTION*RATE*PER SECOND
SERVER SERVER*NAME
SERVICEPOLICY SERVICE*POLICY*NAME
TCMODNAME TRAN CLASS*APPLICATION*MODULE*NAME
TCNAME TRANSACTION*CLASS*NAME
TIMESTAMP WAS XD FG*DATETIME*STAMP
WORKCOMPLETED WORK*COMPLETED
WORKFACTOR ESTIMATED*WORK*FACTOR
ZDATE ZEE DATE*ZEE OBS*WAS CREATED
Note: This new code will not execute under SAS 9.1.3; the
'M' operand to the SCAN function required when there are
duplicated delimiters, did not exist back then.
Thanks to Sally Jordan, Insurance Services Office, Inc., USA.
Change 31.048 MXG 31.01 only. CICS STID=29 (CICSMDSA dataset) was wrong
VMAC110 because I inserted a "cosmetic" comment documenting the
Mar 16, 2013 IBM field name in an INPUT statement, but its end-comment
was missing, causing MXG to be mis-aligned, so CICSMDSA
was "trashed" - easy to see since DSANAME was blank - and
printed WARNING CICS STID=0 STILEN=0 message on the log.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 31.047 New ESS GEPARMKY=0039 value for PRTOPTNS creates new
IMAC6ESS ESSOPTNS variable in TYPE6 dataset if you edit IMAC6ESS
VMAC6 to cause it to not be DROPed. See IMAC6ESS comments.
Mar 15, 2013
Thanks to Jessie Gonzales, California State Controller's Office, USA.
Change 31.046 New format $MG120HX was missing quotes on the right side;
FORMATS but SAS didn't detect the syntax error in member FORMATS,
Mar 15, 2013 until FORMATS was accidentally run without a //LIBRARY,
and only then did SAS flag the invalid syntax.
Change 31.045 ID=90 records subtype 6 and 7 "EVENTIME" is not the time
VMAC90 of the SWITCH/HALT but is the IPLTIME of this SYSTEM. So
VMAC90A variable IPLTIME is now kept in the TYPE9006 dataset and
Mar 14, 2013 both the archaic TYPE90 and recommended TYPE90A members
store EVENTIME into IPLTIME, but I kept EVENTIME since it
might already be in use in your reports.
Thanks to Perry Lim, Union Bank, USA.
====== Changes thru 31.044 were in MXG 31.01 dated Mar 13, 2013=========
Change 31.044 NMON (AIX/LINUX) dataset NMONBBBP variables BBBP028/029
VMACNMON were wrong because the INDEX test was underspecified and
Mar 13, 2013 satisfied multiple times, so the last match was used.
Mar 14, 2013 -Mar 14: BBBP029 still wrong, new "POWER SAVINGS MODE"
Mar 15, 2013 for MODE. Realized all groups of IF INDEX tests could be
replaced with ELSE IF INDEX tests for ordered testing and
to improve performance. Added BBBP147-BBBP149 variables.
-Mar 15: BBBP029 still wrong, new "MEMORY MODE" used, so
new BBBP150-BBBP158 are created for all new entries and
the test for 'MODE ' is ELSE IF after the above tests.
Thanks to Steve Dyck, CDS, CANADA.
Thanks to G. Delvecchio, Canadian Depository for Securities, CANADA
Change 31.043 -The example in comments in UTILEXCL that reads CICS SMF
IMACEXCL with UTILEXCL to create your tailored IMACEXCL, and then
UCICSCNT uses TYPE110 to re-read the CICS SMF data using that new
UTILEXCL IMACEXCL code, works on z/OS because the example's JCL
Mar 12, 2013 //IMACEXCL DD DSN=MXG.USERID.USERID(IMACEXCL),DISP=SHR
writes the IMACEXCL code to your "USERID" tailoring PDS
that is in your //SOURCLIB concatenation, so the %INCLUDE
of IMACEXCL in TYPE110 finds and uses the new IMACEXCL.
However, on ASCII, the FILENAME IMACEXCL must be written
to a file named imacexcl.sas (suffixed with .sas) and on
unix, in lower case, and, similarly, the file must be
written to a "tailoring" directory that is in the
FILENAME SOURCLIB concatenation on ASCII.
When FILENAME IMACEXCL 'c:\wherever\IMACEXCL' was used
with no suffix, UTILEXCL wrote to that filename, but when
TYPE110 was included, there were the same errors and no
observations, because the new IMACEXCL was not %INCLUDEd,
because it did not have the ASCII-required .sas suffix.
So, how could I tell the new IMACEXCL was not read? :
In MXG 30.30 (Change 30.283) UTILEXCL was enhanced for
diagnostics: when an IMACEXCL (created by new UTILEXCL)
is %INCLUDEd, a new MXGNOTE is printed on the SAS log:
177043 %INCLUDE SOURCLIB(TYPE110);
MXGNOTE: SITE IMACEXCL CREATED AT 11MAR2013:21:07:59.09
207431 RUN;
It was the absence of that MXGNOTE when I ran the user's
program to diagnose why no observations were created that
reminded me of the ASCII syntax requirement. Adding .sas
to the filename caused the new IMACEXCL to be error-free.
Examples in UTILEXCL were updated with ASCII syntax.
-The UCICSCNT program that reads SMF to count CICS record
types (transaction, statistics, dictionary), from each
APPLID and VERSION, is enhanced to count dictionary by
"triplet" values MCTSSDCN and MCTSSDRL, which matches the
existing transaction count details. This can be very
useful when MXG doesn't find the records your CICS guru
told you were enabled, by showing him/her what records
are ACTUALLY being created. So useful, that I added a
%INCLUDE SOURCLIB(UCICSCNT); statement to each example in
UTILEXCL that reads SMF data, since it would be useful to
support@mxg.com if there is a perceived UTILEXCL problem.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 31.042 Change 30.275 added support for a USER FORMAT library but
MXGNAMES the last line added in MXGNAMES was typo'd; it should be
VMXGCNFG LET MXGFORMU=YOUR.HLQ.MXG.USER.FORMATS; /*OPTIONAL*/
Jan 22, 2013 instead of MXGFORMT, and MXGNAMES wasn't listed.
Change 31.041 -Support for SHADOW USER SMF subtype 21 record creates new
EXSHDW21 DDDDDD DATASET DESCRIPTION
IMACSHDW
VMACSHDW SHDW21 SHADOW21 SHADOW MAPS
VMXGINIT -Mar 19: added support for subtype 4 record.
Mar 11, 2013 -Mar 23: corrected _BSHDW04 and _BSHDW21.
Mar 23, 2013
Thanks to Stuard Wildey, MorganStanley, ENGLAND.
Change 31.040 -Cosmetic. These harmless messages, from MXG housekeeping
READDB2 to minimize the //WORK library disk space requirement
Mar 9, 2013 NOTE: THE FILE WORK.DB2STATB (MEMTYPE=DATA) WAS NOT FOUND
BUT APPEARS ON A DELETE STATEMENT.
WARNING: NO MATCHING MEMBERS IN DIRECTORY.
are no longer printed.
-Also cosmetic: Change 30.257 didn't note that the use of
each _S102nnn sort macro creates 23 lines of messages on
the SAS log, or 9,320 more SYSOUT lines for IFCIDS=ALL.
Thanks to Jerry Massey, Compuware, USA.
Change 31.039 -The IBM TS7700 BVIR data does not contain a SYSTEM name;
VMACBVIR variable SYSTEM is now created and populated using
Mar 8, 2013 // EXEC MXGSAS,
// OPTIONS='SYSPARM="ASYS"'
with one, then eight, then five single quotes on z/OS,
or you can set SYSPARM in your SYSIN stream with:
OPTIONS SYSPARM='ASYS';
-Discovered subtype 32x caused INPUT STATEMENT EXCEEDED
with BVIRLEN=8256; tests added in Change 31.016 for the
LENGTH 8256 should have tested BVIRLEN instead.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.038 Cosmetic. Variable NAME should not have been kept in the
VMACRACF RACF0120 dataset.
Mar 8, 2013
Thanks to Bill Arrowsmith, Euroclear, BELGIUM.
Change 31.037 Documentation enhancements for installing MXG on unix,
AUTOEXEU AIX, Linux, etc.
INSTALL
Mar 7, 2013
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 31.036 BETA93 Version 4.2.0 and 4.3.0 had invalid data values in
VMACBETA dataset BETA1 and 4.2.0 had invalid large NRACCTFL value
Mar 8, 2012 that also caused "DATA ERROR. CODE IN IMACACCT ....".
Variables INPUT after the accounting fields were invalid.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 31.035 The _STY74ID macro incorrectly specified TYPE74ID as the
VMAC74 input dataset rather than the correct _WTY74ID macro
Mar 7, 2013 name so if you modified the destination of the dataset
using the WTY74ID macro variable, the sort failed.
Thanks to Mike Georte, Northern Territory Government, AUSTRALIA.
Change 31.034 MXG 30.10 thru MXG 30.30. Change 30.279 reverted VFMT102
ANALDB2R to the PROC SORT NODUP removal algorithm, but ANALDB2R
Mar 7, 2013 wasn't tested with PMAUD02, which was not reverted:
ERROR: The keyword parameter SYSTEM DBNAME OBNAME
was not defined with the macro.
Change 31.033 COMPANY= added to allow the insertion of a company
ANALCOMP name in titles.
Mar 7, 2013
Change 31.032 Large page frame variables added to TRND71 dataset:
TRND71
Mar 7, 2013 Min Max Avg
Frames in Pool SMF71L1M SMF71L1X SMF71L1A
Frames Not Used SMF71L2M SMF71L2X SMF71L2A
Frames In Use SMF71L3M SMF71L3X SMF71L3A
Objects Alloc SMF71LOM SMF71LOX SMF71LOA
Thanks to Wayne Bell, UniGroup, USA.
Change 31.031 Cosmetic. Label for SMF64RLM is corrected from ESDS to
VMAC64 SMF64RLM='CA-S*RECLAIMED*IN KSDS*SINCE CLOSE/EOV'.
Mar 6, 2013
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 31.030 Support for 12 new NTSMF objects and MANY new variables
EXNTD064 added for existing objects. Find "ADDED BY CHANGE 31.030"
EXNTD065 in VMACNTSM to identify the new variables. There are now
EXNTD066 513 MXG datasets created from Windows NTSMF data.
EXNTD067
EXNTD068 -New Objects now supported:
EXNTD069
EXNTD070 DDDDDD Dataset/Object
EXNTD071 NTD064 HYPER-V_VIRTUAL_SWITCH_PROCESSOR
EXNTD072 NTD065 MSRS_2011_WINDOWS_SERVICE
EXNTD073 NTD066 MSSQL_BATCH_RESP_STATISTICS
EXNTD074 NTD067 MSSQL_FILETABLE
EXNTSQSV NTD068 MSSQL_MEMORY_BROKER_CLERKS
IMACNTSM NTD069 MSSQL_MEMORY_NODE
VMACNTSM NTD070 MSSQL_QUERY_EXECUTION
VMXGINIT NTD071 NUMA_NODE_MEMORY
Feb 26, 2013 NTD072 NETWORK_ADAPTER
NTD073 PHYSICAL_NETWORK_INTERFACE_CARD
NTD074 SMB_SERVER_SHARES
-These objects were updated with new variables:
NTACSR ACTVSRVR NT ACTIVE SERVER PAGES
NTASPN ASPNET ASP.NET
NTNETI NETWINTR NT NETWORK INTERFACE
NTPPAC PPNETACC PER PROCESSOR NETWORK ACTIVITY
NTPRIN PROCINFO PROCESSOR INFORMATION
NTQLAM MSQACCES NT MSSQL:ACCESS METHODS
NTQLBM MSQBUFMG NT MSSQL:BUFFER MANAGER
NTQLBN MSQBUFND MSSQL:BUFFER NODE
NTQLDA MSQDATAB NT MSSQL:DATABASES
NTQLMM MSQMEMMG NT MSSQL:MEMORY MANAGER
NTSERV SERVER NT SERVER
NTSQSV SQLSSISV SQLSERVER:SSIS SERVICE 11.0
NTD011 CLUSTER_RESOURCE_CONTROL_MANAGER
NTD015 HYPER_V_DYNAMIC_MEMORY_BALANCER
NTD016 HYPER_V_DYNAMIC_MEMORY_VM
NTD018 HYPER_V_HYPERVISOR_LOGICAL_PROCE
NTD019 HYPER_V_HYPERVISOR_PARTITION
NTD020 HYPER_V_HYPERVISOR_ROOT_PARTITIO
NTD021 HYPER_V_HYPERVISOR_ROOT_VIRTUAL
NTD030 HYPER_V_VM_VID_PARTITION
NTD035 HYPER_V_VIRTUAL_NETWORK_ADAPTER
NTD037 HYPER_V_VIRTUAL_SWITCH
NTD038 HYPER_V_VIRTUAL_SWITCH_PORT
-Corrections diagnosed and corrected by Phil:
QLGS - NRDATA=24 supported
QLAM - MSEXCART removed from INPUT, not kept, not there
ASPA - ASPARWTB removed from NRDATA=85 INPUT, not there
-Additional records changed:
QLDA - NRDATA=26 supported.
Thanks to Phil Henninge, Demand Technology, USA.
Change 31.029 Test added to ensure GDGLEN GT 9 before SUBSTR function,
VMAC6156 to protect for INVALID SECOND ARGUMENT when the SMF 66
Feb 26, 2013 record for a RENAME of DSN=X.Y to DSN=A.B.G0002V00 had
an entry name too short to be tested for a GOOVO.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 31.028 -All of these members used VIEWs which are not supported
ANALCOMP by WPS. Code was added to the macros to make the use of
VGETLIBS views conditional depending on the value of MXGVIEW that
VGETWKLD is set by VMXGINIT based on the version of SAS or WPS
VMXGFIND being run.
VMXGSRCH -In the case of VGETWKLD, it was not correctly gathering
Feb 24, 2013 the number of periods for TSO workloads because there
are differences in the names of the response time vars
between the older TSO workload and any new workloads you
may have created with RMFINTRV. For these newer
workloads, at the time VMXGRMFI was written the limit on
variable names was 8 characters so a name like DB2P1RESP
would not have been possible so RSP was used rather than
RESP to keep the variable names down to 8 bytes. That
limit no longer applies but changing old variable names
would be a bad thing to do to you so VGETWKLD now checks
correctly for the old TSO variable names.
Change 31.027 Variable QWHCEUWN has been added to the all T102Sxxx DB2
VMAC102 trace datasets.
Feb 22, 2013
Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.
Change 31.026 SAS 9.1.4 SP4 ONLY: Note 33063 states that SASHELP.VEXTFL
PREINIT dataset only has the FIRST external file reference, if an
VMXGINIT AUTOCALL is issued, which happens by design in VMXGINIT,
Feb 22, 2013 so any subsequent reference to SASHELP.VEXTFL has only
that first DDNAME/LIBREF. There is NO FIX for 9.1.3:
"The only known solution is to process the dictionary
table SASHELP.VEXTFL prior to any system AUTOCALL."
You can use DATA WORK.VEXTFL; SET SASHELP.VEXTFL; in
PREINIT to save the VEXTFL table into //WORK.
Change 31.025 See Change 31.151.
Feb 20, 2013
Change 31.024 Format $MGSMFID had "DEFINE" rather than "DEVICE" in the
FORMATS description of the ID=11 SMF record.
Feb 20, 2013
Thanks to Mike Mayne, HHSYS, USA.
Change 31.023 Support for Software Diversified Services VFTP product
EXVFTP01 user SMF record creates these four new datasets:
EXVFTP02
EXVFTP03 DDDDDD MXG MXG
EXVFTP04 DATASET DATASET DATASET RECORD
IMACVFTP SUFFIX NAME LABEL SUBTYPE
TYPEVFTP
TYPSVFTP VFTP01 VFTPST01 VFTP01:SESSION AND TRANSFER 01
VMACVFTP VFTP02 VFTPST02 VFTP02:LOGIN FAILURE 02
VMXGINIT VFTP03 VFTPST03 VFTP03:SERVER REJECTED 03
Feb 18, 2013 VFTP04 VFTPST04 VFTP04:SUMMARY ACTIVITY 04
The start and end times in VFTPST01 dataset are on GMT
but there is no GMT Offset in the record, and the delta
between the End time and the SMF time is as much as 2100
seconds which I believe is in error, and that prevents me
from using that delta to heuristically create the offset.
This is being discussed with the vendor, but you can use
%LET MXGGMTOFF=-6*3600;
%INCLUDE SOURCLIB(....);
to circumvent and set your GMT Offset (remembering to
change each Spring Forward and Fall Backward).
Change 31.022 -Support for Software Diversified Services VIP Product SMF
EXVIPAPL USER record creates these datasets:
EXVIPDLR
EXVIPDLW SDS DDDDDD MXG MXG
EXVIPEEC DATASET DATASET DATASET DATASET RECORD
EXVIPEEX NAME SUFFIX NAME LABEL SUBTYPE
EXVIPFRM
EXVIPHPR DLC1R VIPDLR VIPDLR VIPDLR:DLC READ QUEUE 222
EXVIPHPX DLC1W VIPDLW VIPDLW VIPDLW:DLC WRITE QUEUE 222
EXVIPIFC HPR1 VIPHPR VIPHPR VIPHPR:HPR 228
EXVIPLUG HPR1 VIPHPX VIPHPX VIPHPR:HPR EXTENSION 228
EXVIPOSA RTM1 VIPRTM VIPRTM VIPRTM:TCP TAPM OR TN3270 229,231
EXVIPOSX FRM1 VIPFRM VIPFRM VIPFRM:FRAG MONITOR 230
EXVIPRTM LUG1 VIPLUG VIPLUG VIPLUG:LU GROUP 232
EXVIPSTK OSA1 VIPOSA VIPOSA VIPOSA:OSA 239
FORMATS OSA1 VIPOSX VIPOSX VIPOSA:OSA EXTENSION 239
IMACVIP APL1 VIPAPL VIPAPL VIPAPL:APPLICATION 242
TYPEVIP IFC1 VIPIFC VIPIFC VIPIFC:INTERFACE 243
TYPSVIP STK1 VIPSTK VIPSTK VIPSTK:STACK 244
VMACVIP EEC1 VIPEEC VIPEEC VIPEEC:ENTERPRISE EXTENDER 245
VMXGINIT EEC1 VIPEEX VIPEEX VIPEEC:EE ROUTES 245
Feb 22, 2013 -The variable names in these datasets are the same as the
names in the SDS-provided example SAS programs and the MXG
dataset names are similar so the SDS-provided SAS reports
should be easily adapted to use the MXG datasets. The MXG
code is structured so all records can be processed in one
pass (the SDS example program processed one subtype per
program) and the MXG "dddddd" tokens are created to permit
standard MXG tailoring of datasets and contents.
-The SDS-example variable names are long with underscores
embedded; the MXG label replaced the underscore with the
normal asterisk character so you will almost always want
to use PROC PRINT SPLIT='*' with VIP datasets to get nice
column headings and alignment.
Change 31.021 -RMF III Enhancements and Notes
ASMRMFV -NOTE: Since MXG V30.03 it is required that SYS1.MODGEN
JCLASM3 also appear in the SYSLIB DD concatenation for the
JCLRMFV ASMRMFV assemble step as follows (use JCLASM3 example):
JCLCRMFV
VMACRMFV //SYSLIB DD DSN=SYS1.MACLIB,DISP=SHR
Feb 15, 2013 // DD DSN=SYS1.MODGEN,DISP=SHR
Feb 26, 2013
Mar 10, 2013 ASMRMFV displays execution environment data that needs
the macros in SYS1.MODGEN to map certain z/OS control
blocks. Omission of SYS1.MODGEN in the assembly step
will result in ASMA prefixed error messages and the
assembly will fail.
-ASMRMFV and VMACRMFV must be at the same level; do not
expect the old VMACRMFV to read RMFBSAM files created
by the new ASMRMFV, and vice versa.
-When the ASI table is selected in ASMRMFV the entries
are now blocked up to use as much as possible of a 32K
logical record. The number of ASI records output was
reduced by up to 96% during testing.
-The example members JCLRMFV and JCLCRMFV for building an
RMF III PDB have been improved by adding a new example of
using the SIZE parameter to examine RMF III VSAM data set
disk space and index usage. Additional information about
use of ASMRMFV parameter aliases is also now included.
-VMACRMFV is upgraded to support blocked ASI entry input.
-VMACRMFV now displays a message about ASMRMFV level and
execution environment that created the RMFBSAM file.
-MISSING VALUES message on SASLOG for CPUDTIME variable
is removed in VMACRMFV. Input logic for CPUDTIME is
improved.
-NOTE: The use of archival RMFBSAM files as input to
TYPSRMFV or TYPERMFV is NOT recommended as many missing
values and other undesirable results can occur in the PDB
since VMACRMFV is expecting data in the current input
format. The RMFBSAM file is intended only as temporary
work file for the PDB build process and should not be
retained for future use. A better alternative is to
instead restore the archived RMF III VSAM file and read
it with the current ASM/VMAC RMFV program pair.
-NOTE: If intending to include the UWD table datasets in
the RMF III PDB %INCLUDE SOURCLIB(TYPSRMFV) not TYPERMFV
should be used in PDB build step. There are naturally
occurring duplicates in the UWD table that need to be
removed by the sorting process.
-When the ENC table is selected in ASMRMFV the entries are
now blocked up to use as much as possible of a 32K
logical output record.
-VMACRMFV is upgraded to support blocked ENC entry input.
-ASMRMFV now inputs all 6 ENC table entry triplets instead
of only the first one. Each offset/length/count triplet
points to a separate group of ENC table enclave entries.
Users including the ENC table in their RMF III PDB can
expect 5 times as many observations in ZRBENC dataset;
documentation on the number of ENC triplets was unclear
until actual data provided the actual documentation that
that there were 6 triplets and not just 1.
-Note: The total number of ENC table records output will
now be at least 6 times the number of tables input since
each of the 6 triplets causes a new record to be output.
-REQUIREMENT: In order to receive the performance benefits
from ASI and ENC entry blocking, the current ASMRMFV
utility program with this MXG change must be installed.
See MXG SOURCLIB member JCLASM3 for sample JCL for the
assembly and link-edit install steps.
-Tutorial: This item has been mentioned before, but with
the ASI and ENC blocking and increase in observations,
you may need to use the EXdddddd dataset exit to filter
which observations are created, and your logic in those
exits should always use this code structure:
IF something THEN DO;
OUTPUT _Wdddddd;
END;
and can't use a DELETE, RETURN, nor "IF something;" logic
because when "something" is true, they stop the read of
this current record, skipping any un-read segments from
being tested for "something".
This consideration applies in particular to the following
RMF III tables that have blocked input data to a PDB
build and to their respective output exits:
RMF III Table Output Exit
------------- -----------
ASI EXZRBASI
CPD EXZRBCPD
CSR EXZRBCSR
DVT EXZRBDVT
ENC EXZRBENC
ENT EXZRBENT
OPD EXZRBOPD
RED EXZRBRED
SHD EXZRBSHD
SPG EXZRBSPG
UWD EXZRBUWD
Thanks to Perry Lim, Union Bank, USA
Thanks to Betty Wong, Bank of America, USA
Change 31.020 Support for TMON/MQ Version 2.5 which added a number of
VMACTMMQ new variables to the TMMQQA dataset.
Feb 15, 2013
Thanks to Paul Volpi, UHC, USA.
Thanks to Homayoun Riazi, UHC, USA.
Change 31.019 Option PDBOUT= lets you output the PLOT and MSU datasets
ANALCAPD to your PDB library. By default they were temporary and
Feb 13, 2013 are deleted by ANALCAPD. This change deletes the delete
but this text will be updated when the PDBOUT= option is.
Thanks to Ralph Belamy, ???, ???
Change 31.018 Support for PACE's IDMS 17.0 User Exit SMF Record.
ASMIDMPA DDDDDD DATASET DESCRIPTION
EXIDMPAC IDMPAC PACEIDMS PACE IDMS USER SMF RECORD
IMACIDMP The SMF record is created in an IDMS Exit by ASM code
TYPEIDMP contributed by Blake Leggett, PACE Applied Technology,
TYPSIDMP their product KOMAND IDMS Charging System, KOMAND/IDMS.
VMACIDMP See the ASMIDMPx members documented in Change 31.068.
VMXGINIT However, neither PACE nor MERRILL will guarantee ASMIDMP
Feb 20, 2013 exit code will always work with future IDMS changes; this
Mar 9, 2013 now works fine, but your IDMS staff must be prepared to
ASMIDMPJ investigate and repair any exit problems in the future.
ASMIDMPS If your guru can fix the exit, I can update the SAS code!
ASMIDMPU
Thanks to Blake Leggett, PACE Applied Technology, Inc., USA.
Thanks to Trevor Rowe, Bell Alliant, CANADA.
Change 31.017 Change 29.167 enhanced VXMGRMFI by creating the VGETWKLD
ANALCOMP member used when TRNDRMFI is invoked; VGETWKLD extracts
VGETLIBS your workload names by reading DICTIONARY.TABLES to get
VGETWKLD your variable names from PDB.RMFINTRV by using
VMXGFIND PROC SQL;
VMXGSRCH CREATE VIEW VGETWKLD AS SELECT NAME,LABEL
Feb 12, 2013 FROM DICTIONARY.COLUMNS. . . .
and then reading dataset VGETWKLD with this logic
POINT=LENGTH(NAME)-2;
IF SUBSTR(NAME,POINT,3)='ZIP';
but that logic failed with WPS, perhaps due to the VIEW,
as views are not yet supported in WPS, or perhaps because
WPS created a different LENGTH value, but in either case
POINT1=INDEX(NAME,'FRTM');
IF POINT1;
now circumvents the error, even with "VIEW" in the code.
The FRTM suffix test was used in place of ZIP as not all
sites create a xxxxZIP workload variable. And just to
be safe, the "VIEW" text was removed from VGETWKLD and
the other four members.
Change 31.016 -Support for BVIR Version 2.0, 2.0a, and 2.1.
VMACBVIR -BVIR30 adds two new variables:
Feb 11, 2013 SYLVMT00='00*SYNC*LEVEL*MOUNTS'
AVLVMT00='00*AVERAGE*SYNC*LEVEL*MOUNT*TIME'
-BVIR32 documentation: IBM change how they count bytes:
"TVCSIZE: increments of 1000MB (1024*1024*1000). A TVC
that is 1.7TB in size will be reported as x000006A4
which is 1700 decimal."
MXG did not format TVCSIZE with MGBYTES but 6A4 is the
decimal TVCSIZE=1700 with the label "TVCSIZE IN GB".
-IBM confirmed that variable LIBSEQNR is now always
blank or nulls - see ADOCBVIR.
-Variable DLIBDEQN can contain hex rather than EBCDIC,
or it can be blank.
-BVIR32 variable AVGCPUSE is labeled as
AVGCPUSE 'CPU*USAGE*PERCENT*AT END OF*INTERVAL'
but it contains the AVERAGE CPU PER TAPE VOLUME CACHE
and its documentation clarified by IBM in the manual:
This 1 byte field indicates the larger of CPU usage
percentage OR Tape Volume (TVC) usage percentage at
the end of the interval. The TVC busy value is based
on IO activity where 100% is when the disks are being
accessed 100% of the time. This value can be used to
indicate how busy the system was during the interval.
It is updated every 30 seconds. The TVC percentage is
an average of 30 one second intervals.
-BVIR31 new variables are documented and created:
BYTESEXP='AMOUNT*OF DATA*EXPORTED'
BYTESIMP='AMOUNT*OF DATA*IMPORTED'
LOGVOLEX='LOGICAL*VOLUMES*EXPORTED'
LOGVOLIM='LOGICAL*VOLUMES*IMPORTED'
PHYVOLEX='PHYSICAL*VOLUMES*EXPORTED'
PHYVOLIM='PHYSICAL*VOLUMES*IMPORTED'
-BVIR33 has eight sets of new variables G1 thru G8 with
G1DEFRBY='1ST DATA*FROM*DEFERRED*COPY'
G1DEFRCY='1ST DATA*FROM*DEFERRED*COPIES'
G1IMEDBY='1ST DATA*FROM*IMMEDIATE*COPY'
G1IMEDBY='1ST DATA*FROM*SYNC MODE*COPY'
G1IMEDCY='1ST DATA*FROM*IMMEDIATE*COPIES'
G1IMEDCY='1ST DATA*FROM*SYNC MODE*COPIES'
Change 31.015 -These five DB2 V10 SMF 101 Subtype 1 DB2ACCTP variables
VMACDB2 QPACLOCN,QPACCOLN,QPACPKID,QPACASHC,QPACAANM, can be
Feb 10, 2013 wrong, but only when they are "truncated":
"IBM-truncated" fields previously had a fixed length
(QPACLOCN was 16 bytes) but now can be variable length
for data like URLs and IPV6 addresses from our open
systems gurus. Each field has an offset to a one-byte
length field followed by that many bytes of the field.
These offsets are NOT populated when the value fits in
the original fixed length field that was already INPUT.
There are two independent errors, one mine, one not mine.
-The MXG code for the offsets to LOCN COLN PKID and AANM
used OFFQPAC+offset, but LOCQPAC should have been used as
it is incremented for each QPAC segment; OFFQPAC isn't.
So those four variable's values were only valid for the
first DB2ACCTP observation in each SMF 101 record.
-One site sent SMF data with invalid values for the offset
to those "truncated" fields. The offset values for each
field is 10 more than it should be. Decimal values:
Segment 5 out of 7 in record 3222:
OFFQPAC LENQPACX Len of PACX Next QPAC
@1777 451 +2 2228
@2228 451 +2
But the two-byte OFFSET to QPACAANM is @2169 with a
'01B8'x or 440 decimal. Adding 1777+440 is 2217, but
the field's length and text are visible in 2207, and
the static portion of this segment ended in 2206.
This change compares the location of the first offset to
the end of the static fields and corrects the offset by
subtraction when they are different.
-Variable QPACRUSM was not reset to blank after it was
set to 'Y' in an SMF record because it was coded as RUSN.
Change 31.014 One user claims MXG's SMF HEADER/TRAILER messages printed
VMACSMF on the SASLOG have caused LINES EXCEEDED messages that he
VMXGINIT doesn't like. I disagree COMPLETELY, and would NEVER turn
Feb 8, 2013 them off, since they can be EXTREMELY useful (albeit in
only rare cases) in problem determination: they print the
begin and end time of each "data chunk" in each SMF Dump.
But it is trivial to create a macro variable SMFPUTHD
that will suppress their printing, using:
//SYSIN DD *
%LET SMFPUTHD=NO;
%INCLUDE ....
And, if after turning them off you realize you need them,
you can read the same SMF file and print them, using:
//SYSIN DD *
%LET SMFPUTHD=YES;
%INCLUDE SOURCLIB(VMACSMF);
DATA _NULL_; _SMF; RUN;
Clearly, my MXG default is %LET SMFPUTHD=YES;
Change 31.013 Variables NDMCNF1, NDMCNF2, & NDMCPEA were set to '00'x
VMACNDM when they should not have been (and I have no notes as to
Feb 7, 2013 why I set them to null).
Thanks to Randy Schlueter, First Data, USA.
Change 31.012 Change 30.170 output CICLDR observations only when LDRFC,
EXCICLDR Fetch count, is non-zero, but with interval statistics,
Feb 6, 2013 a program can be fetched after the region starts up and
then be continually used afterwards, with LDRFC=0, so
those observations were not output. The CICLDR dataset
exit member EXCICLDR is changed to output when LDRTU, the
Times used Since Last Reset, is non-zero, as that is a
better indicator that the program was used.
Thanks to Tony Hirst, Wells Fargo, USA.
Change 31.011 If you specified WEEKKEEP=TYPE42: that colon caused the
BLDSMPDB the length of the compare to detect what data sets should
Feb 5, 2013 be kept to be incorrectly set to &complen, which was the
length of the input name, but instead is now set to &dlen
which is the correct length for comparison with or
without the colon modifier.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 31.010 MXG 30.08-MXG 30.30. If you selected SYSLOG MSGIDs to be
VMACTMNT written as SMF Subtype=9 by MXGTMNT (Tape Mount Monitor),
Feb 2, 2013 reading them caused zero obs in TYPESYSL and log messages
MSGID NOT FOUND IN RECORD N= . . . .
Change 30.230 enhanced ASMTAPE to write some JES3 event
SYSLOG messages as Subtype=8 so they would be output to
TYPESYMT, but for testing they were created as subtype 9
with the old ASMTAPE, and my test in VMACTMNT to output
them to TYPESYMT was temporarily changed to read them
with ELSE IF TMNTTYPE=8 OR TMNTTYPE=9, but that should
have been changed back to just ESLE IF TMNTTYPE=8.
Thanks to Paul Naddeo, Fiserv, USA.
Change 31.009 The _STYBETF dataset sort macro was not in the _SBETA
VMACBETA product sort macro, so dataset BETA25 was not copied into
Jan 31, 2013 the PDB data library when TYPSBETA was used.
Change 31.008 -Change 30.250 replaced hardcoded "PDB." with "&PDBMXG.."
ANAL120 (so MXG default DDNAME is used by also easily changed,)
Jan 30, 2013 but ANAL120 was wrong before and after, as some of its
datasets were expected to be in //PDB while others were
read from //WORK. This change expects ALL of the TYPE120
datasets will be in the //PDB DD data library before the
%INCLUDE SOURCLIB(ANAL120);
is executed, but new examples in comments show how to
read SMF data to create just reports or to create both a
WebSphere PDB and these example reports. But these are
all simple PROC PRINTs and PROC MEANS and the primary
value is the suggested variables that might be useful as
a STARTING POINT for your own reports
(which I'd be happy to add to the ANAL120 member if
you have a contribution to share with other MXGers).
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 31.007 -VMACVMXA and VMAC113. The HIS CPU Counter variables in
VMAC113 z/VM dataset VXPRCMFC should match those variables in the
VMACVMXA z/OS HIS TYPE113/ASUM113 dataset, but new counters
Jan 28, 2013 EXTND157-EXTND207 in VMACVMXA were not labeled, weren't
deaccumulated with DIF() function, and weren't tested for
RESETCTR+1, and the INPUT thru 255 was changed to the
known maximum counter EXTND207. But then in VMAC113, I
discovered that variables EXTND183-EXTND207 were not
tested for RESETCTR+1. So the MXG QA now ensures counters
match in TYPE113, ASUM113 and VXPRCMFC datasets.
Change 31.006 Support for OAM SMF ID=85 Subtypes 90,91,92 and 93 create
EXTY8590 DDDDDD DATASET DESCRIPTION
FORMATS TY8590 TYPE8590 LCS FILE SYSTEM ACTION
IMAC85 Variable R859SUB contains the subtype and is formatted to
VMAC85 identify 90:WRITE, 91:READ, 92:DELETE, 93:CLEANUP events.
VMXGINIT
Jan 28, 2013
Thanks to Neil Ervin, Wells Fargo, USA
Change 31.005 -Cosmetic. These percentage variables in TYPE72GO
VMAC7072 PCTDLACO PCTDLAPR PCTDLAXM PCTDLCCA PCTDLCDE PCTDLCHS
Jan 26, 2013 PCTDLHSP PCTDLIDL PCTDLIOD PCTDLMPL PCTDLNDI PCTDLPDE
PCTDLPQU PCTDLQ PCTDLSHS PCTDLSMP PCTDLSPV PCTDLSSW
PCTDLSVI PCTDLSWI PCTDLTDQ PCTDLTOT
are now formatted 5.1 to print pretty.
Change 31.004 -RMF III, z/OS 1.13, but only with APAR OA38660, all ASI
ASMRMFV extensions (Service Class, Report Class, Resource Group
VMACRMFV and Workload) are incorrect, because that APAR inserted
Jan 28, 2013 72 at the end of the base segment; record version is now
'16'x, but only '12'x is in RMF Programmers Guide, so it
took SYS1.EYEBALL of a hex record dump to determine what
had been added. Adding data at the end of a segment is
INCOMPAT in this case in MXG because ASMRMFV appends the
extensions to its record, and those new bytes moved the
offset to the extensions. This circumvention corrects:
IF ASIVERG3='16'x THEN INPUT +72 @;
but it requires a code change and a new member.
-But, we see a better way: ASMRMFV will put ASIBASNL, the
base segment length, into the top two bytes of ASIENTMX,
with ASIENTMX in the low two bytes, so that VMACRMFV can
use ASIBASLN to locate the extensions and a future insert
won't require an updated MXG code member nor a new value
for the record version test. Using the length fields are
almost always more robust than using product or record
version values in tests for existence.
-NOTE: It is still possible to have missing values for
variables from one or more of these extensions for
some address spaces. For example, address spaces with
no Reporting Class defined will have variable ASIRNM
missing and those with no Resource Group defined will
have variable ASIGNM missing (blank).
Thanks to Warren Cravey, FMR Corporation, USA
Change 31.003 Message UNINITIALIZED VARIABLE SM1132MM: minimal impact.
ASUM113 A test for SM1132MM was added by Change 30.274 to detect
VMAC113 single book machines so negative values could be zeroed,
Jan 25, 2013 IF SM1132MM='M10' OR L4RP LE 0 THEN DO; /*SINGLE BOOK*/
but SM1132MM was only added to ID= in VMAC113, it was not
added in ASUM113 so it was uninitialized when referenced.
But, as I just discovered in assessing the actual impact
of my error, even when SM1132MM is uninitialized, that OR
in that IF statement causes the expression to be TRUE if
L4RP is zero or a missing value, which is actually a
stronger test for single book than the "Machine Model."
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 31.002 The CICTSQ dataset is merged into PDB.CICINTRV dataset
VMXGCICI but these "newish" variables in CICTSQ were not included:
Jan 24, 2013 A12SHPDF A12SHPCN A12SHRDS A12SHWTS
A12TSLHT A12TSMLM A12TSMUS A12TSMAX
A12TSQDL A12TSCTR
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 31.001 Variable QW0141OT='AUTHORIZATION*ID*TYPE', L for ROLE or
FORMATS blank for User ID or Secondary Authorization ID is INPUT
VMAC102 and kept in T102S141 Audit dataset and formatted.
Jan 23, 2013 Formats $MGD140O now has all $MGD361O entries and formats
MGD140P and MGD361P have the union of separate values.
Thanks to Tommy Grace, Nationwide Insurance, USA.
LASTCHANGE: Version 31.