COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 32.32
=========================member=CHANGE32================================
/* COPYRIGHT (C) 1984-2015 MERRILL CONSULTANTS DALLAS TEXAS USA */
ANNUAL: MXG Version 32.32 is dated Jan 6, 2015, thru Change 32.309
MXG Version 32.12 was dated Dec 23, 2014, thru Change 32.304
MXG Version 32.11 was dated Dec 2, 2014, thru Change 32.283
First MXG Version 32.11 was dated Dec 1, 2014, thru Change 32.281
MXG Version 32.10 was dated Oct 16, 2014, thru Change 32.240
First MXG Version 32.10 was dated Oct 10, 2014, thru Change 32.237
MXG Version 32.09 was dated Sep 9, 2014, thru Change 32.218
MXG Version 32.08 was dated Aug 21, 2014, thru Change 32.201
MXG Version 32.07 was dated Aug 3, 2014, thru Change 32.181
MXG Version 32.06 was dated Jul 21, 2014, thru Change 32.170
MXG Version 32.05 was re-dated Jun 18, 2014, thru Change 32.138
First MXG Version 32.05 was dated Jun 16, 2014, thru Change 32.136
Actual MXG Version 32.04 was dated Apr 27, 2014, thru Change 32.101
First MXG Version 32.04 was dated Apr 23, 2014, thru Change 32.099
MXG Version 32.03 was dated Apr 3, 2014, thru Change 32.078
MXG Version 32.02 was dated Feb 26, 2014, thru Change 32.042
MXG Version 32.01 was dated Feb 6, 2014, thru Change 32.025
ANNUAL MXG Version 31.31 was dated Jan 20, 2014, thru Change 31.296
MXG Newsletter SIXTY-TWO was dated Sep 1, 2013.
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/Software_Download_Request
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 32.32 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 32.32.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
========================================================================
I. MXG Version 32.32 dated Jan 6, 2015, thru Change 32.309.
Major enhancement added in MXG 32.32, dated Jan 6, 2015:
TYPETMO2 32.309 Support for ASG TMON/CICS Version 4 INCOMPATIBLE.
TYPE50 32.307 TYPE50 LENGTH=254, INPUT STATEMENT EXCEEDED.
BLDSMPDB 32.306 RUNDAY=NO incorrectly executed the PDBAUDIT report.
Major enhancement added in MXG 32.12, dated Dec 23, 2014:
Errors corrected:
VMACSMF 32.300 MXG 32.11-WPS ONLY. CANT READ SMF ON ASCII, MXG ERROR
TYPEWECR 32.301 WPS ONLY. DATA SET "WORK.WEBSCRAU" NOT FOUND.
TYPE112 32.295 Long BY list, HOST SORT CAN NOT BE USED, MXG error.
UTILVREF 32.295 QA UTILVREF now detects long BY lists for HOST SORT.
TYPENDM 32.284 NDM 'PT' INVALID SUBSTR, A#/C#/D#/S$/U#/UK supported.
TYPE22 32.288 MXG 32.03-MXG 32.11 Type 22 UNKNOWN SECID=40 error.
New Support:
TYPE105 32.291 Support for GDPS SMF 105 2-byte fields APAR PI26702.
TYPEIMS7 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
ASMIMSL6 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
VGETJESN 32.296 &MACJESN can delete records by TYPETASK (e.g. OMVS).
ASUMDB2A 32.293 Warning when "Rollups" are detected, summarized data.
AUTOEXEC 32.292 Old MXG SORTSIZE=400M removed, default SORTSIZE used.
BLDSMPDB 32.299 %PDBAUDIT invocation can capture ALL "PDBs".
PDBAUDIT 32.297 %PDBAUDIT can be bypassed with PRINTAUDIT=NO.
Major enhancement added in MXG 32.11, dated Dec 2, 2014:
MOBILWRK 32.279 MOBWRK02,MOBWRK05 enhanced, STARTHR in all merges.
PDBAUDIT 32.274 Report enhanced, SORTEDBYSIZE, commas in numbers.
SMFINTRV 32.271 New SMFINTRV member creates PDB.SMFINTRV from SMF.
IHDRBVIR 32.270 The IHDRBVIR "BVIR Header" exit was overlooked.
ANALDSCK 32.268 New "DSNAME Check" reads all SMF with a DSNAME.
ANALID 32.257 ANALID reports 78.2.1 and 78.2.2 VSTORE enabled.
TYPEVMXA 32.254 Support for z/VM concatenated MONWRITE mult systems.
TYPEEZSM 32.252 Support for EzSM 4.2.0 creates new datasets.
ASMRMFV 32.250 Further ASMRMFV parsing/command/filtering updates.
TYPEBVIR 32.249 Support for BVIR Version 2 short '32'x Record.
TYPECLAR 32.247 Support for EMC's Clarion Flare Firmware V26-V33.
UTILEXCL 32.265 Support for 2nd CMODNAME='USER',CMODHEAD='USER'.
TYPE119 32.278 TYP11902 TTTTLSxx variables misaligned.
TYPE7072 32.277 R7023MEG/R7023CRT were not multiplied by R7024SF.
TYPENDM 32.275 Variable NDMRTCPU in NDMRT was incorrectly INPUT.
TYPERACF 32.273 ASCII only. Variable LIOBTIME in RACF0200 wrong.
TYPEXAM 32.272 ERROR IN XAMSYS, SEGNAME=CMS, MXG coding error.
ODS 32.269 Documentation of two common ODS errors on z/OS.
TYPE7072 32.267 TYPE70X2 variables CRYAC1U/CRAM3U need mult 100.
WEEKBLxx 32.264 WPS ONLY. Test for &SYSVER GE 6 s/b &SASVER GE.
Many 32.263 MXG PROC COPY have MEMTYPE=DATA, ITEMSTORE fails.
BLDSMPDB 32.262 WTD with WEEKKEEP, or WTD with AUTOALOC, failed.
VMACDB2H 32.261 DB2 variable JOB could be incorrect LENGTH $12.
VMXGDSNL 32.260 MXG on Linux to process AS400 data, slash issue.
TYPE102 32.259 IFCID=220: Invalid Argument corrected.
MONTHxxx 32.253 BLDSMPDB,MONTHBLD, z/OS, out of order daily GDGs.
TYPE30 32.251 Variables EXCP/IOTM-NODD/TODD/TOTL inconsistent.
BLDSMPDB 32.248 WPS, z/OS, BLDSMPDB, RECFM=S370VBS not supported.
TYPE7072 32.246 TYPE72GO's PERFINDX can be missing when it's large.
MOBWRK73 32.244 MOBWRK73 in 32.10 incorrectly required //PDB DD.
TYPEVMXA 32.243 z/VM Interval ENDTIME wrong if first 0.1 not CPU 0.
TYPEVMXA 32.243 Each START MONITOR message is a LOST interval.
Major enhancement added in MXG 32.10, re-dated Oct 16, 2014:
TYPE6 32.240 First 32.10 - OS 2.1 TYPE6 PRINTWAY records caused
INPUT EXCEEDED error. This is the re-date reason.
TYPE120 32.239 WebSphere SMF 120 ST 9 TYP1209E DELTA120TM negative.
TYPETAND 32.238 Support for all Tandem records in a single file.
Major enhancement added in MXG 32.10, dated Oct 10, 2014:
VMACaaaa 32.234 The _IDaaaa=512 detection was removed.
TYPE6 32.236 Support for z/OS 2.1 ACCOUNTn in TYPE6 records.
TYPEDB2 32.231 Support for DB2 V11 IFCID 225 ILRM STORAGE Info.
TYPEBBMQ 32.223 Support for MainView for MQ Version 5.2 (COMPAT).
TYPE1415 32.230 TYPE 14 SMF14STY=01 with LEN 81 caused skipped segs
TYPEIMS 32.228 IMS Log 01 MSGTEXT INPUT expanded for MOBILE WORK.
TYPEIMST 32.222 IMS56FA obs not OUTPUT if NMSGPROC is missing.
TYPE38 32.233 Netview SMF 38 Subtype 3 INPUT EXCEEDED error.
UTILBLDP 32.226 SPINCNT/SPINUOW/TIMEDIF not correctly created.
TYPENDM 32.229 All NDM datasets are now PROC SORTed by TYPSNDM.
Major enhancement added in MXG 32.09, dated Sep 9, 2014:
ASMTAPEE 32.212 MXGTMNT Monitors ASM SLOTs + IWMWSYSQ MSU/IMPORTANCE.
New subtask wakes, writes interval record, sleeps.
TYPE50 32.210 Support for SMF 50 z/OS 2.1 INCOMPATIBLE + REDESIGN.
TYPE103 32.209 Support for SMF 103 HTTP Apache Subtypes 13 and 14.
VMACNDM 32.208 Support for New NDM-CDI CPU CP/zIIP/QUAL times.
VMXGODSO 32.217 Support for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
TYPEDB2 32.214 DB2 V10 var QW0225DMH and V11 var QW0225AR now INPUT.
TYPEBVIR 32.218 BVIRVERS=04, dataset BVIR301, values were wrong.
TYPEZOSA 32.215 Zero observations in TYPEZOSA, incorrect MXG test.
PDBAUDIT 32.206 WARNING: Multiple lengths for MEMLABEL CC=4, removed.
TYPE119 32.204 SMF 119 St 52 fields misaligned after JESDPERC.
ANALID 32.203 Protection for 2nd execution of ANALID.
ONLYJOBS 32.203 ONLY create PDB.JOBS/etc example, 2nd ANALID removed.
TYPE102 32.202 DB2 102 IFCID 196 "MORE HOLDERS", only 3 now printed.
Major enhancement added in MXG 32.08, dated Aug 21, 2014:
IMACUOW 32.185 MXG 32.07 only, 180 ERROR: with default IMACUOW.
And only in JCLTESTx if you do NOT use ASUMUOW.
(If you actually use ASUMUOW, you would have had a
tailored IMACUOW).
PDBAUDIT 32.183 %PDBAUDIT compares today's and yesterday's PDBs.
New audit report of differences and report of all
of today's output LIBNAMEs/DATASETs.
BUILDPDB 32.192 BUILDPDB/PD3/001 now use a VIEW for WORK.ID.
Could be a BIG reduction in //WORK space, for free.
VMACSMF 32.191 Using _INFILE_=SMFINFILE allows VIEW with MXGDECOM.
Which is also required for Change 32.192.
TYPEOMSM 32.184 Support for Omegamon for SMS Version 510 (INCOMPAT)
ANALSET 32.187 OPENTM added for TYPE64, new RECFOUND variable.
ANAL116 31.186 Now reports on dataset MQMACCT when it exists.
VMACaaaa 32.198 Zero OBS if _IDaaaa has two ID values, false 512.
Major enhancement added in MXG 32.07, dated Aug 3, 2014:
ERROR: 32.06: ZERO OBS IN ALL USER-ADDED BUILDPDB/UTILBLDP DATASETS:
If you use UTILBLDP(BUILDPDB=YES,USERADD=...) or EXPDBVAR/CDE/OUT
members in your USERID.SOURCLIB to add other SMF record types to
your BUILDPDB/BUILDPD3, AND YOU DO NOT PROCESS MXGTMNT/TYPETMNT
SMF records (i.e., you do NOT set MACRO _IDTMNT 238 %), then ALL
of the datasets built AFTER TYPETMNT will have zero observations.
This error was introduced in Change 32.149, which incorrectly had
added a DELETE statement that should not be there.
CIRCUMVENTIONs for this 32.06-Only ERROR: (INSTALL 32.07+ !!)
-Remove the DELETE; statement in line 265 of VMACTMNT, OR
-Add this statement in your //SYSIN at the top:
%LET MACKEEP= MACRO _IDTMNT 999 % ;
-Or: with USERADD= in UTILBLDP, add TMNT/999
Many 32.180 Correction to Zero OBS in BUILDPDB/UTILBLDP datasets.
TYPEWECR 32.173 Support for Websphere MQ for z/OS Crypto Audit SMF.
TYPE115 32.172 Support for Websphere MQ Version 8.1 115 Subtype 231
TYPE116 32.172 Support for Websphere MQ Version 8.1 116 Subtype 10
TYPE120 32.171 Support for Websphere Liberty z/CONNECT 120 Subtp 11.
TYPCTCP 32.178 Support for AES CleverView USER SMF subtypes 30-40.
TYPETMD2 32.176 TMON/DB2 compressed records not decoded on ASCII.
ANALID 32.175 View used for READSMF=YES, documentation updated.
TYPEDB2 32.174 DB2 V11 new QX variables not in DB2STATS.
MXG Version 32.06 dated Jul 21, 2014, thru Change 32.170.
Major enhancement added in MXG 32.06, dated Jul 21, 2014:
MOBILWRK 32.168 Support for MOBILE WORK CSV File to submit to IBM.
TYPESTC 32.155 Support for Oracle ELS/VTCS 7.2 HSC SMF changes.
ASMTAPEE 32.160 ML-53 MXGTMNT Monitor protects for IODF Activate OC4.
TYPE102 32.141 Support for IFCID=376.
TYPEPOEX 32.150 Revised support for Informatica POWER EXCHANGE SMF.
VMACaaaa 32.149 USER SMF Record Processing enhanced - tells if 512.
VMACSMF 32.136 CICS Version SMFPSRVR formatted prints TS5.1 vs 68.
ASUM70PR 32.166 31.09-3205. Default CECINTRV=HOUR was not in effect.
TYPENDM 32.168 Truncated CT records INPUT STATEMENT circumvention.
TYPENDM 32.161 Support for NDM-CDI M2 record, output in NDMMC.
ANALRANK 32.165 New GROUPBY parameter allows variable selections.
TYPEDB2 32.169 Some DB2STATS QDSTxxxx variables were wrong.
VMXGSUM 32.164 FREQ option created lower case variable names.
GRAFCEC 32.157 New WIDTRH HEIGHT FOOTNOTE parameters for tailoring.
ASUMCICX 32.156 New RESPAVG variable contains average response time.
ANALID 32.154 ID parameter with UTILBLDP must be first, for now.
IMACICVH 32.153 Support for optional CICS User ADP fields.
TYPE74 32.151 BY lists for some TYPE74xx did not remove duplicates.
VMACDB2H 32.148 DB2 Headers in any order are now processed correctly.
READDB2 32.148 IFCIDS=BMC worked on ASCII, failed on z/OS.
ODS 32.147 ODS doesn't support character variables with $HEX.
JMP 32.147 JMP doesn't support variables with TRANSCODE ATTRIB.
TYPE110 32.144 Invalid STID=60 CICS TS/2.3 (YES, 2.3!!!).
TYPESYNC 32.143 CPUZIPTM for SYNCSORT COPY was a missing value.
READDB2 32.142 Failed if user set FIRSTOBS or OBS insufficiently.
TYPE80A 32.140 RACF SMF 80 EXCEEDED for STATE='DISTRICT OF COLUMBIA'
TYPE113 32.130 *PUTLOG caused error, /* PUTLOG didn't, with BUILDPDB
Major enhancement added in MXG 32.05, re-dated Jun 18, 2014:
MOBILWRK 32.125 Preliminary tools to measure Mobile Work for Discount
See MVS Technical Note in Newsletter SIXTY-FOUR or
the same text in MOBILWRK member.
TYPEIMST 32.119 Support for IMS56FA for IMS 13.1 (INCOMPATIBLE).
TYPERMFV 32.130 Support for APAR OA35811, GEIRPOOL/GEIRSTRF.
TYPE113 32.126 Support for new Subtype 1 HIS SMF TYPE 113 INTERVAL.
TYPERSDS 32.123 Support for EOS RSD USER SMF ACCOUNTING Version 2.1.
TYPERSDA 32.123 Support for EOS RSD USER SMF AUDIT Version 2.1.
TYPE42 32.113 Support for APAR OA44319/OA44322 SMF 42 ST 5/6.
TYPEIDMS 32.111 Support/corrections for IDMS Version 18.
VMXGSUM 32.133 Support for "concatenated" PDBs as INPUT.
TYPEBVIR 32.134 Some POOLs were not output in BVIR322/323/324.
TYPERMFV 32.108 RMF III Fixes, Enhancements, Documentation upgrade.
TYPEXAM 32.116 XAM CRITICAL ERROR SEGLEN=84 is a false error.
TYPE30 32.104 CPUUNITS/SRBUNITS corrected by moving ASRUNITS to SRB
TYPE119 32.110 Variables FSCIPHER/FCCFIPS140/FCCIPHER4 added.
TYPEVMXA 32.106A z/VM MONWRITE divide by zero protection HFCOUNT=0.
TYPEDCOL 32.103 DCOLMIGS variable UMLRECL always zero correction.
READDB2 32.114 READDB2 with PDBOUT="not //PDB" corrections.
READDB2 32.131 %READDB2(IFCIDS=BMC) for APPTUNE failed, _S102BMC.
IMACICVG 32.107 Support for optional CICS segment ESIUSER.
IMACICMR 32.106 Optional CMRDETL CICS Segment INCOMPATIBLE 384 bytes.
IMACICSD 32.120 Support for optional CICS user SDA fields.
DOCVER 32.124 DOCVER member enhanced to list SORTED BY variables.
VMXGDEL0 32.127 New %VMXGDEL0 utility deletes all zero-obs datasets.
TYPE7072 32.103 Support for OS/390 RMF data!!! Zero obs after 30.30.
Major enhancement added in MXG 32.04, dated Apr 27, 2014:
VGETOBS 32.100 Correction to VGETOBS in First 32.04.
MXG 32.04 was redated on Monday for VGETOBS change 32.100 to add the
possibly-needed RUN; statement, and removal of the FEXIST() function
that did not exist in SAS 9.1 and didn't always work with 9.2.
TYPE102 32.101 Duplicate DB2 SMF ID=102 Trace records removed.
This enhancement was ready, so it's a bonus in the redated 32.04.
Major enhancement added in MXG 32.04, dated Apr 23, 2014:
VGETOBS 32.091 MXG 32.03 VGETOBS z/OS increased EXCPs, Elapsed time.
This performance hit on VGETOBS is the primary reason for 32.04; the
exposure only exists if you have tape device DDs in your MXG job.
The increase was VERY significant with lots of tape volsers to read.
AUTOEZOS 32.090 AUTOEZOS/CONFIGEZ - new "EAZY" MXG JCL for z/OS.
A new alternative JCL to run MXG that is quite simple.
TYPE120 32.087 Support for SMF 120 Subtype 100 ODM (Oper Decision).
TYPENMON 32.088 Support for NMON BBBPMOUNT and BBBPNETSTAT records.
TYPE92 32.094 Support for SMF ID=92 Subtypes 16 and 17.
NEARTIME 32.099 NEARTIME updates a daily PDB library each SMF dump.
TYPE30 32.089 CPUASRTM subtracted from CPUTCBTM added to CPUSRBTM.
TYPETMVS 32.092 Initial support for TMON/MVS Version 4.4 (INCOMPAT)
TYPE102 32.085 Many QWP1/4/5/9 T102S106 dataset vars overlooked.
TYPEDB2 32.082 Some NETEZZA/IDAA Q8ST vars incorrectly DIF()'d.
ANALDB2R 32.080 Default Select "Starting With" can be changed.
ADOCRMFV 32.093 Major addition to RMF III documentation.
ADOCx All ADOC members are updated with current contents.
Major enhancement added in MXG 32.03, dated Apr 3, 2014:
TYPE110 32.077 Support CICS/TS 5.2: CICSTRAN COMPATIBLE, STATs NOT.
_SMF 32.073 New MXGREADSMF=SMF/LOGGER/BOTH option to read SMF.
ANALBVIR 32.063 Hydra TS7700 IBM reports are replicated.
GRAFCIPM 32.061 Graphs from SHARE 2014 (SinRam/Enrico) using SGPLOT:
CPU used by importance level and service class level,
then service class within importance, and a scatter
plot of service class level within importance.
ANALDB2R 32.068 Report from SHARE 2014 (Catterall) DB2 Buffer Pools.
TYPE112 32.052 Support for Tivoli Enterprise Mon Server SMF 112-35.
TYPE87 32.043 Support for SMF ID=87, GRS Component Information.
TYPETMO2 32.070 Support for ASG-TMON CICS v3.4 (NO MXG UPDATE NEEDED)
TYPEEJES 32.047 Support for (E)JES Version 05.30 SMF record changes.
TYPEXCOM 32.046 Support for XCOM R32 - 11.5 (INCOMPATIBLE).
TYPEPCF 32.045 Support for MQ PCF Files.
TYPEZOSA 32.059 Support for ZEN 2280 new CSM records (INCOMPAT).
TYPETMO2 32.070 Support for ASG-TMON CICS TS 3.4 (NO UPDATE NEEDED).
TYPE80A 32.076 INPUT STATEMENT EXCEEDED, TODANAM UID, FTEL/MTEL.
TYPE79 32.062 Variables R791PHTA/PHTI/FLG3 and R792PHTA/PHTI kept.
TYPETPMX 32.058 INVALID ARG TPMPI - previous $EBCDIC1 is now PIB1.
TYPEXAM 32.057 Doc: FTP: Use TYPE E and MODE BLOCK for z/VM to z/ZOS
VGETOBS 32.056 CANNOT CLONE BUFFSIZE during PROC COPY could be bad.
ASMRMFV 32.055 New RMF III selection/filter options BASIC, MOST etc.
TYPE7072 32.054 z/OS 2.1 SMF70CPA created with RATIO=SCALING/ACTUAL.
TYPE21 32.053 SMF21CRR/CRW compress ratio populated for non-3590s.
TYPE102 32.074 IFCID 402 dataset T102S402 now outputs all segs.
TYPEDB2 32.072 IDAA/NETEZZA variables added to DB2ACCT/DB2STATS.
TYPENDM 32.071 Connect-Direct NDMCPU and other variables added.
Major enhancement added in MXG 32.02, dated Feb 26, 2014:
VMACDB2H 32.027 32.01: INVALID DB2 V10 HEADER RECORDS DELETED only if
the 2012 DB2 APAR PM62481, is NOT installed.
(Only a FEW sites have hit this missing APAR ABEND.)
TYPEBVIR 32.039 MAJOR restructure BVIR/TS7700/HYDRA datasets created.
REALLY MAJOR: 10,000 fewer lines, 3000 fewer vars.
The "horizontal" dataset with suffixed variable names
are replaced with "vertical" dataset with ONE set of
variable names. Yes, some minor pain expected as the
dataset names and some variable's names were changed.
TYPE74 32.031 TYPE74 ESS Subtype 8 TYPE748x datasets restructured.
None of the TYPE748x datasets were really valid.
TYPE120 32.035 Sort order NODUP support for TYP1209C/E/S/U.
TYPEXPTR 32.033 Support for XPTR 5.2 creates 23 new datasets.
TYPEIMST 32.038 IMS56FA dataset could have IMSSTCK incorrect.
TYPEDB2 32.032 DB2STATS variable QISTWMQM zero, QW0371CL/DA fixed.
VMXGPRAL 32.029 ERROR 72-322 or COMPBL HAS TOO MANY ARGUMENTS.
ASMRMFV 32.037 RMF III Enhancements, filters, RED TABLE error fix.
TYPETMVT 32.040 TMON/VTAM vendor maintenance now populates fields.
TYPEBETA 32.028 Protection for BETA93 truncated subtype 51 record.
Major enhancement added in MXG 32.01, dated Feb 6, 2014:
ASMTAPEE 32.010 IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28
VGETOBS 32.012 MANY spurious MXGWARN: DATASET PDB.CICxx DOES NOT msg
ASUMUOWT 32.011 ASUMUOWT (TMON/CICS) USER ABEND 1950 no CICSTRAN DD.
TYPE111 32.007 MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED ERROR.
TYPE21 32.006 PDB.TYPE21/ASUMTAPE BYTEWRIT for 3590s may be too low
TYPE90A 32.005 Support for SMF ID=90 Subtype 35 TYPE9035 dataset.
FORMATS 32.005 Format $MGSMFID 38, 85, 90, 118 IDs decoded.
FORMATS 32.005 ALL MXG FORMAT's VALUES ARE NOW COMMA-FREE, for csv.
TYPEDB2 32.002 DB2 V10 new var QWHCAACE, QWHCEUTX/EUWN now $128.
TYPENTSM 32.001 TCP/TCPV4/TCPV6 and WEBSRVCA, ASPNETAP new variables.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
SAS Versions
The current version nomenclature is SAS 9.4 TS1M2 (9.4M2). That is
printed as "SAS 9.4 (TS1M2)" or as "SAS 9.4 (TS04.01M2P07232014)"
on the SASLOG if the VERSIONLONG option is enabled.
SAS V9.4 M2 Is RECOMMENDED. SAS 9.4 M2 is at LEVEL A SAS Support
SAS V9.4 M1 and M0 had no errors and are at LEVEL A SAS Support
SAS V9.3 SAS 9.3 TS1M2 was RECOMMENDED. SAS 9.3 TS1M1 works.
But SAS 9.3 at TS1M0, the HOT FIX for SAS Note SN-43828,
see CHANGE 29.169, IS REQUIRED:
The %MACRO compiler error is in processing %LET
statements. While only two MXG members failed
repeatedly in MXG QA tests on z/OS, there were random
%LET errors in ASCII QA tests, so ANY use of %LET
statement on ANY platform are vulnerable to this
error, as the %MACRO compiler is SAS portable code,
used on all platforms. So this is NOT just an MXG
error, but impacts ALL SAS programs.
SAS V9.1.3 is NOT supported by SAS on Windows SEVEN.
SAS9.3 is LEVEL A support from SAS.
SAS V9.2 Was recommended, prior to 9.3, and was error-free with
MXG 26.03 SAS Hot Fix for SAS Note 37166 is required to
use a VIEW with the MXG EXITCICS/CICSFIUE CICS/DB2
Decompression Infile Exit. but SAS V9.2 does execute on
that platform.
9.2 is LEVEL B Support from SAS, as of Sep 30, 2013.
SAS V9.1.3 must be at Service Pack 4. Additionally, on z/OS 1.10
only, 9.1.3 requires SAS Hot Fix for SN-35332.
9.1.3 is support level C by SAS Institute, Sep 30, 2013.
SAS V8.2 IS SUPPORT LEVEL C BY SAS INSTITUTE; NOT ALL OF MXG WORKS
with SAS 8.2.
SAS 8.2 is Level C Support from SAS as of Dec 31, 2011.
JCL in MXGSAS94 or MXGSAS93 can be used, or MXGNAMES can be used
***************************************************************
As documented in Change 27.356, for SAS V9.2 or later):
The standard SAS JCL Procedure can be used for MXG with SAS V9.2+
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can continue to use the MXGSAS93 JCL Procedure example.
***************************************************************
MXG 26.03 thru MXG 32.10 will execute under the previously listed
SAS Versions on all supported platforms
Unrelated to the above SAS Note/Hot Fix, ODS users will want to
use MXG 29.06+, because SAS V9.3 did expose incompatibilities in
MXG code for ODS reporting, that were fixed in MXG Version 29.06.
See Changes 29.159 and 29.169.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2, nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Note that SAS V9.1.3 is now at "Level B" Support from SAS.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level C" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. I no longer QA with V8.2;
While many MXG programs (accidentally) will still execute under
V8.2, I cannot guarantee that all of MXG executes error free.
PLEASE INSTALL V9.2/V9.3/V9.4, TO AVOID FIXED PROBLEMS!
If you are absolutely stuck on V8, you need to copy MXG member
V8GETOBS into USERID.SOURCLIB and rename to VGETOBS.
MXG Software has not executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
SAS V8 or later, but any of those data libraries can be read or
updated by the SAS Versions that MXG Supports, above.
For SAS Version V9.3:
SAS 93 TS1M1 is RECOMMENDED; for TS1M0, SAS Hot Fix in SAS Note
SN43828 is REQUIRED. See text of Change 29.159.
With SAS 93 TS1M1, (or TS1M0 with that Hot Fix) MXG
Version 26.03 or later execute under SAS V9.3 on all platforms.
SAS Data Libraries created by SAS V8.2, V9.1.3, V9.2, V9.3 and
SAS V9.4 are interchangeable and can be read/written by any of
those versions, provided they are on the same platform.
BUT: on ASCII, the 32-bit and 64-bit SAS versions are NOT the
same "platform" and attempting to read/use the FORMAT catalog
created on one of those "platforms" on the other "platform"
will error out to remind you of that difference!
SAS V9.4 did change some V9.3 ODS processing defaults and syntax
that might cause errors with MXG 29.05 or earlier; MXG 29.06,
Change 29.160 documents the major revisions made in MXG to fully
support ODS, and MXG 29.06 is STRONGLY recommended for ODS with
SAS V9.3 or SAS V9.4.
For (Archaic) SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG,
but it still uses the CONFIGV9 configuration file.
****************************************************************
However, NEW, and documented in Change 27.356, with SAS V9.2+:
The standard SAS JCL Procedure can be used for MXG:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
instead of using the MXGSAS92 JCL Procedure example.
****************************************************************
SAS Data Libraries are compatible for V8.2, V9.1.3, V9.2, V9.3,
and V9.4. "PDBs" can be read/written interchangeably between
these SAS versions.
MXG Versions 26.03+ do execute with SAS V9.2 with NO WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
SAS Version 9.2 requires z/OS 1.7 or later, both officially as
documented by SAS Institute, and actually as V9.2 fails with 0C4
under z/OS 1.4.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) was required
as an absolute minimum level when that SAS Version was last
supported by MXG Software. PLEASE INSTALL SAS V9.x ASAP.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
GENERAL STATEMENT FOR MXG QA TESTS AND SAS VERSIONS:
MXG QA tests are executed with V9.3 & V9.4, on z/OS, on Windows
Seven (32-bit and 64-bit) and Eight (64-bit) on 64-bit hardware,
and on Centos 6.4, but MXG users execute MXG on MANY (ALL??) SAS
platforms, including AIX, Linux, and other 'nix' variants, on many
different hardware platforms, and since they all work we don't
need to list them. If SAS executes so does MXG.
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under ALL SUPPORTED SAS VERSIONS on EVERY SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 3.01 is required for AUTOEZOS.
WPS Version 3.01 is required for MOBILWRK, PICTURE fails in 2.5.
WPS Version 3.01 executed MXG 32.03 BUILDPDB with no errors.
WPS Version 3.0 requires MXG 31.09 (see Change 31.251).
WPS Version 2.4 required MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for WPS Support Statement.
WPS prints this message ERROR: COULD NOT CREATE DATA SET "PDB.ID"
when the LIBNAME PDB does not exist; there would also have been a
prior log message NOTE: Library PDB does not exist as the clue.
IV. MXG Version Required for Hardware, Operating System Release, etc.
MXG is usually NOT sensitive to z/OS hardware changes. However, MXG
Version 30.07+ was REQUIRED for z/EC12 (for SMF 113, for 95 engines)
and MXG 31.03+ is STRONGLY RECOMMENDED for the z/EC12 processor for
the new zEC12 RMF data metrics added for that new platform.
In August 2013, the MXG-L ListServer was abuzz with several postings
from MXG users and additional references to SHARE papers that all
reported that many z/EC12s are 30%-40% better than zPCR projected.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Product's
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990 8.8
MVS/ESA 4.2 Mar 29, 1991 9.9
MVS/ESA 4.2.2 Aug 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 New 30 variables Apr 14, 2010 *28.02
z/OS 1.12 Aug 17, 2010 *28.05
z/OS 1.12 SMF 85 Subtype 79 Aug 17, 2010 *29.03
z/OS 1.12 VMGUEST option Aug 17, 2010 *29.06
z/OS 1.13 Sep 30, 2011 29.03
z/OS 1.13 - MXGTMNT only Dec 15, 2011 29.08
z/OS 1.13 SMF 119 ST 6 INCOMPAT Feb 7, 2012 30.01
z/OS 2.1 - Most Records support Jul 23, 2013 30.05
z/OS 2.1 - ID=0 ERROR MESSAGE Jul 23, 2013 31.07
z/OS 2.1 - ID=85 INCOMPAT Jul 23, 2013 32.03
z/OS 2.1 - ID=70 SMF70CPA Jul 23, 2013 32.03
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
z196 (INCOMPAT IF GT 64 ENG) Aug 17, 2010 28.05
CICS/CTG V9 Transaction Gateway ?? ?? 2013 31.31
CICS/ESA 3.2 Jun 28, 1991 9.9
CICS/ESA 3.3 Mar 28, 1992 10.01
CICS/ESA 4.1 Oct 27, 1994 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R1 CICS/TS 2.1 Mar 15, 2001 18.11
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS V2R3 CICS?TS 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
CICS-TS/4.2 CICSTRAN/STATISTICS Jun 24, 2011 29.03
CICS-TS/4.2 CICSRDS MNSEGCL=5 Jun 24, 2011 29.05*
CICS-TS/4.2 INVALID STID=116 Jan 31, 2012 30.01*
CICS-TS/5.1 (INCOMPATIBLE) Dec 14, 2012 30.08*
CICS-TS/5.1 for valid TASZIP/ELG Jan 21, 2013 30.30*
CICS-TS/5.1 MNSEGCL=5 INCOMPAT Jun 17, 2013 31.03*
CICS-TS/5.2 COMPATIBLE CICSTRAN Jun 13, 2014 31.03*
CICS-TS/5.2 INCOMPAT Statistics Jun 13, 2014 32.03*
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DB2 10.1 Tolerate Oct 1, 2010 28.06
DB2 10.1 New vars + Compressed Nov 1, 2010 28.07*
DB2 10.1 Invalid Header pre APAR Jan 12, 2011 28.28*
DB2 10.1 IFCID=225 INCOMPAT Sep 23, 2011 29.07*
DB2 10.1 QWHCCV for QWHCATYP=8 Oct 3, 2011 30.07*
DB2 10.1 DBID/OBID decode Jan 21, 2013 30.30*
DB2 10.1 QLSTxxxx vars corrected Jun 21, 2013 31.04*
(ONLY IMPACTS DB2STATS)
DB2 11.1 TOLERATE DB2 V11.1 Jun 21, 2013 30.30
DB2 11.1 DB2STATS QLST CORRECT Jun 21, 2013 31.04
DB2 11.1 SUPPORT NEW VARIABLES Jun 21, 2013 31.08
DB2 11.1 IRLM NEW SEGMENT Jun 21, 2013 32.10
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
Websphere MQ Series 7.0 ??? ??, 2009 *28.06
Websphere MQ Series 7.1 MAR 12, 2011 29.03
Websphere MQ Series 8.0 Jun 24, 2011 29.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
WebSphere 7.0 Oct 7, 2010 28.06
WebSphere 8.0 Jul 17, 2011 29.05
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
z/VM 6.2 Dec 2, 2011 29.04
z/VM 6.3 INCOMPATIBLE Jul 23, 2013 31.05
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.1 Mar 06, 2007 26.01*
IMS log 11.1 Apr 1, 2010 28.02*
IMS log 12.1 Jan 23, 2012 29.29*
IMS log 13.1 (NOT 56FA) May 25, 2013 31.03
IMS log 13.1 (56FA RECORD) May 27, 2014 32.05
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk by the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
NTSMF 4.0 Mar 15, 2011 29.03
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for DB2 Version 5.0 30.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for CICS TCE 3.3 (for CICS/TS 4.1,4.2) 29.07
The Monitor for CICS TCE 3.4 (for CICS/TS 5.1) 30.30
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
APPTUNE V6R3 SMF 102 30.037
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 31.08*
IMF 4.5 (for IMS 11.1) (No change since 4.4) 31.08
IMF 4.6 a/k/a Mainview IMS 31.08*
IMF 5.1 a/k/a Mainview IMS 31.08
Mainview for MQ Version 4.4 29.03
Mainview for MQ Version 5.1 30.02
Mainview for CICS Version 6.5 (CICS/TS 5.1) 30.30
Mainview for CICS Version 6.4 (CICS/TS 4.2) 30.04
Mainview for CICS Version 6.1 26.26
Mainview Auto Operator data file 28.28
Mainview for DB2 THRDHIST file 20.20
Mainview for TCP/IP 20.20
Mainview for Batch Optimizer 19.19
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
XAMAP 4.1 Now Renamed to ZVPS 4.1 29.07
V. Incompatibilities and Installation of MXG 32.08.
1. Incompatibilities introduced in MXG 32.32:
a- Changes in MXG architecture made between 32.32 and prior versions
that can introduce known incompatibilities.
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINSTT for
SAS Version 9.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
An MXG Version never "expires" nor "goes out of Support". When
you put in a new product/subsystem/Release/APAR that incompatibly
changed its records then you must install the current MXG Version
or at least be using the minimum level of MXG that is currently
documented in the preceding list in section IV.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes in MXG 32.32 after MXG 31.31:
Dataset/
Member Change Description
ADOCRMFV 32.093 Major addition to RMF III documentation.
ANAL116 31.186 Now reports on dataset MQMACCT when it exists.
ANALBVIR 32.063 Hydra TS7700 IBM reports are replicated.
ANALDB2R 32.019 Extensive validation, ANALDBTR revisions.
ANALDB2R 32.080 Default Select "Starting With" can be changed.
ANALDBTR 32.019 STRING logic was protected for repeated execution
ANALDSCK 32.268 New "DSNAME Check" reads all SMF with a DSNAME.
ANALID 32.154 ID parameter with UTILBLDP must be first, for now.
ANALID 32.175 View used for READSMF=YES, documentation updated.
ANALID 32.203 Protection for 2nd execution of ANALID.
ANALID 32.257 ANALID reports 78.2.1 and 78.2.2 VSTORE enabled.
ANALRANK 32.165 New GROUPBY parameter allows variable selections.
ANALSET 32.187 OPENTM added for TYPE64, new RECFOUND variable.
ASMIMSL6 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
ASMRMFV 32.009 RMF III Enhancements, Fixes, and Notes
ASMRMFV 32.037 RMF III Enhancements, filters, RED TABLE error fix.
ASMRMFV 32.055 New RMF III selection/filter options BASIC, MOST etc.
ASMRMFV 32.250 Further ASMRMFV parsing/command/filtering updates.
ASMTAPEE 32.010 IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28
Those z/OS 1.13 APARs changed AR15 on return from IBM
console services. Assemble ASMTAPEE to create the
MXGTMNT monitor now so it doesn't ABEND after those
APARs are installed.
ASMTAPEE 32.160 ML-53 MXGTMNT Monitor protects for IODF Activate OC4.
ASMTAPEE 32.212 MXGTMNT Monitors ASM SLOTs + IWMWSYSQ MSU/IMPORTANCE.
ASUM70PR 32.166 31.09-3205. Default CECINTRV=HOUR was not in effect.
ASUMCICX 32.156 New RESPAVG variable contains average response time.
ASUMDB2A 32.293 Warning when "Rollups" are detected, summarized data.
ASUMUOWT 32.011 ASUMUOWT (TMON/CICS) USER ABEND 1950 no CICSTRAN DD.
AUTOEXEC 32.292 Old MXG SORTSIZE=400M removed, default SORTSIZE used.
AUTOEZOS 32.090 AUTOEZOS/CONFIGEZ - new "EAZY" MXG JCL for z/OS.
BLDSMPDB 32.248 WPS, z/OS, BLDSMPDB, RECFM=S370VBS not supported.
BLDSMPDB 32.262 WTD with WEEKKEEP, or WTD with AUTOALOC, failed.
BLDSMPDB 32.299 %PDBAUDIT invocation can capture ALL "PDBs".
BLDSMPDB 32.306 RUNDAY=NO incorrectly executed the PDBAUDIT report.
BUILDPDB 32.192 BUILDPDB/3/001 now use a VIEW for WORK.ID.
DOCVER 32.124 DOCVER member enhanced to list SORTED BY variables.
FORMATS 32.005 ALL MXG FORMAT's VALUES ARE NOW COMMA-FREE, for csv.
FORMATS 32.005 Format $MGSMFID 38, 85, 90, 118 IDs decoded.
GRAFCEC 32.157 New WIDTRH HEIGHT FOOTNOTE parameters for tailoring.
GRAFCIPM 32.061 Graphs from SHARE 2014 presentations (SinRam/Enrico)
IHDRBVIR 32.270 The IHDRBVIR "BVIR Header" exit was overlooked.
IMACICMR 32.106 Optional CMRDETL CICS Segment INCOMPATIBLE 384 bytes.
IMACICSD 32.120 Support for optional CICS user SDA fields.
IMACICVG 32.107 Support for optional CICS segment ESIUSER.
IMACICVH 32.153 Support for optional CICS User ADP fields.
IMACUOW 32.185 MXG 32.07 only, 180 syntax with default IMACUOW.
JMP 32.147 JMP doesn't support variables with TRANSCODE ATTRIB.
MOBILWRK 32.125 Preliminary MOBILWRK program to identify Mobile Work.
MOBILWRK 32.168 Support for MOBILE WORK CSV File to submit to IBM.
MOBILWRK 32.279 MOBWRK02,MOBWRK05 enhanced, STARTHR in all merges.
MOBWRK73 32.244 MOBWRK73 in 32.10 incorrectly required //PDB DD.
MONTHxxx 32.253 BLDSMPDB,MONTHBLD, z/OS, out of order daily GDGs.
Many 32.263 MXG PROC COPY have MEMTYPE=DATA, ITEMSTORE fails.
NEARTIME 32.099 NEARTIME updates a daily PDB library each SMF dump.
ODS 32.147 ODS doesn't support character variables with $HEX.
ODS 32.269 Documentation of two common ODS errors on z/OS.
ONLYJOBS 32.203 ONLY create PDB.JOBS/etc example, 2nd ANALID removed.
PDBAUDIT 32.183 %PDBAUDIT compares today's and yesterday's PDBs.
PDBAUDIT 32.206 WARNING: Multiple lengths for MEMLABEL CC=4, removed.
PDBAUDIT 32.274 Report enhanced, SORTEDBYSIZE, commas in numbers.
PDBAUDIT 32.297 %PDBAUDIT can be bypassed with PRINTAUDIT=NO.
READDB2 32.018 READDB2 didn't always honor LDB2xxx destination
READDB2 32.019 READDB2 did not always use LDB2ddd overrides, plus.
READDB2 32.114 READDB2 with PDBOUT="not //PDB" corrections.
READDB2 32.131 %READDB2(IFCIDS=BMC) for APPTUNE failed, _S102BMC.
READDB2 32.142 Failed if user set FIRSTOBS or OBS insufficiently.
READDB2 32.148 IFCIDS=BMC worked on ASCII, failed on z/OS.
SMFINTRV 32.271 New SMFINTRV member creates PDB.SMFINTRV from SMF.
TYPCTCP 32.178 Support for AES CleverView USER SMF subtypes 30-40.
TYPE102 32.074 IFCID 402 dataset T102S402 now outputs all segs.
TYPE102 32.085 Many QWP1/4/5/9 T102S106 dataset vars overlooked.
TYPE102 32.101 Duplicate DB2 SMF ID=102 Trace records removed.
TYPE102 32.141 Support for IFCID=376.
TYPE102 32.202 DB2 102 IFCID 196 "MORE HOLDERS", only 3 now printed.
TYPE102 32.259 IFCID=220: Invalid Argument corrected.
TYPE103 32.209 Support for SMF 103 HTTP Apache Subtypes 13 and 14.
TYPE105 32.291 Support for GDPS SMF 105 2-byte fields APAR PI26702.
TYPE110 32.077 Support CICS/TS 5.2: CICSTRAN COMPAT, STATs NOT.
TYPE110 32.144 Invalid STID=60 CICS TS/2.3 (YES, 2.3!!!).
TYPE111 32.007 MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED ERROR.
TYPE112 32.052 Support for Tivoli Enterprise Mon Server SMF 112-35.
TYPE113 32.126 Support for new Subtype 1 HIS SMF TYPE 113 INTERVAL.
TYPE113 32.130 *PUTLOG caused error, /* PUTLOG didn't, with BUILDPDB
TYPE115 32.172 Support for Websphere MQ Version 8.1 115 Subtype 231
TYPE116 32.172 Support for Websphere MQ Version 8.1 116 Subtype 10
TYPE119 32.110 Variables FSCIPHER/FCCFIPS140/FCCIPHER4 added.
TYPE119 32.204 SMF 119 St 52 fields misaligned after JESDPERC.
TYPE119 32.278 TYP11902 TTTTLSxx variables misaligned.
TYPE120 32.035 Sort order NODUP support for TYP1209C/E/S/U.
TYPE120 32.087 Support for SMF 120 Subtype 100 ODM (Oper Decision).
TYPE120 32.171 Support for Websphere Liberty z/CONNECT 120 Subty 11.
TYPE120 32.239 WebSphere SMF 120 ST 9 TYP1209E DELTA120TM negative.
TYPE1415 32.230 TYPE 14 SMF14STY=01 with LEN 81 caused skipped segs
TYPE21 32.006 PDB.TYPE21/ASUMTAPE BYTEWRIT for 3590s may be too low
TYPE21 32.053 SMF21CRR/CRW compress ratio populated for non-3590s.
TYPE22 32.288 MXG 32.03-MXG 32.11 Type 22 UNKNOWN SECID=40 error.
TYPE30 32.089 CPUASRTM subtracted from CPUTCBTM added to CPUSRBTM.
TYPE30 32.104 CPUUNITS/SRBUNITS corrected by moving ASRUNITS to SRB
TYPE30 32.251 Variables EXCP/IOTM-NODD/TODD/TOTL inconsistent.
TYPE38 32.233 Netview SMF 38 Subtype 3 INPUT EXCEEDED error.
TYPE42 32.113 Support for APAR OA44319/OA44322 SMF 42 ST 5/6.
TYPE50 32.210 Support for SMF 50 z/OS 2.1 INCOMPATIBLE + REDESIGN.
TYPE50 32.307 TYPE50 LENGTH=254, INPUT STATEMENT EXCEEDED.
TYPE6 32.240 Corrected z/OS 2.1 ACCOUNTn in TYPE6 records.
TYPE7072 32.054 z/OS 2.1 SMF70CPA created with RATIO=SCALING/ACTUAL.
TYPE7072 32.103 Support for OS/390 RMF data!!! Zero obs after 30.30.
TYPE7072 32.246 TYPE72GO's PERFINDX can be missing when it's large.
TYPE7072 32.267 TYPE70X2 variables CRYAC1U/CRAM3U need mult 100.
TYPE7072 32.277 R7023MEG/R7023CRT were not multiplied by R7024SF.
TYPE74 32.031 TYPE74 ESS Subtype 8 TYPE748x datasets restructured.
TYPE74 32.151 BY lists for some TYPE74xx did not remove duplicates.
TYPE79 32.062 Variables R791PHTA/PHTI/FLG3 and R792PHTA/PHTI kept.
TYPE80A 32.076 INPUT STATEMENT EXCEEDED, TODANAM UID, FTEL/MTEL.
TYPE80A 32.140 RACF SMF 80 EXCEEDED for STATE='DISTRICT OF COLUMBIA'
TYPE87 32.043 Support for SMF ID=87, GRS Component Information.
TYPE90A 32.005 Support for SMF ID=90 Subtype 35 TYPE9035 dataset.
TYPE92 32.094 Support for SMF ID=92 Subtypes 16 and 17.
TYPEBBMQ 32.223 Support for MainView for MQ Version 5.2 (COMPAT).
TYPEBETA 32.028 Protection for BETA93 truncated subtype 51 record.
TYPEBVIR 32.039 MAJOR restructure of BVIR/TS7700 datasets created.
TYPEBVIR 32.218 BVIRVERS=04, dataset BVIR301, values were wrong.
TYPEBVIR 32.249 Support for BVIR Version 2 short '32'x Record.
TYPECLAR 32.247 Support for EMC's Clarion Flare Firmware V26-V33.
TYPEDB2 32.002 DB2 V10 new var QWHCAACE, QWHCEUTX/EUWN now $128.
TYPEDB2 32.032 DB2STATS variable QISTWMQM zero, QW0371CL/DA fixed.
TYPEDB2 32.072 IDAA/NETEZZA variables added to DB2ACCT/DB2STATS.
TYPEDB2 32.082 Some NETEZZA/IDAA Q8ST vars incorrectly DIF()'d.
TYPEDB2 32.169 Some DB2STATS QDSTxxxx variables were wrong.
TYPEDB2 32.174 DB2 V11 new QX variables not in DB2STATS.
TYPEDB2 32.214 DB2 V10 var QW0225DMH and V11 var QW0225AR now INPUT.
TYPEDB2 32.231 Support for DB2 V11 IFCID 225 IRLM STORAGE Info.
TYPEDB2H 32.027 MXG 32.01 only. INVALID DB2 10.1 HEADER DELETED.
TYPEDCOL 32.103 DCOLMIGS variable UMLRECL always zero correction.
TYPEEJES 32.047 Support for (E)JES Version 05.30 SMF record changes.
TYPEEZSM 32.252 Support for EzSM 4.2.0 creates new datasets.
TYPEIDMS 32.111 Support/corrections for IDMS Version 18.
TYPEIMS 32.228 IMS Log 01 MSGTEXT INPUT expanded for MOBILE WORK.
TYPEIMS7 32.290 Larger DLREXTIM time now used for (archaic) IMSCPUTM.
TYPEIMST 32.038 IMS56FA dataset could have IMSSTCK incorrect.
TYPEIMST 32.119 Support for IMS56FA for IMS 13.1 (INCOMPATIBLE).
TYPEIMST 32.222 IMS56FA obs not OUTPUT if NMSGPROC is missing.
TYPENDM 32.071 Connect-Direct NDMCPU and other variables added.
TYPENDM 32.161 Support for NDM-CDI M2 record, output in NDMMC.
TYPENDM 32.229 All NDM datasets are now PROC SORTed by TYPSNDM.
TYPENDM 32.275 Variable NDMRTCPU in NDMRT was incorrectly INPUT.
TYPENDM 32.284 NDM 'PT' INVALID SUBSTR, A#/C#/D#/S$/U#/UK supported.
TYPENEM 32.168 Truncated CT records INPUT STATEMENT circumvention.
TYPENMON 32.088 Support for NMON BBBPMOUNT and BBBPNETSTAT records.
TYPENTSM 32.001 TCP/TCPV4/TCPV6 and WEBSRVCA, ASPNETAP new variables.
TYPEOMSM 32.184 Support for Omegamon for SMS Version 510 (INCOMPAT)
TYPEPCF 32.045 Support for MQ PCF Files.
TYPEPOEX 32.150 Revised support for Informatica POWER EXCHANGE SMF.
TYPERACF 32.273 ASCII only. Variable LIOBTIME in RACF0200 wrong.
TYPERMFV 32.108 RMF III Fixes, Enhancements, Documentation upgrade.
TYPERMFV 32.130 Support for APAR OA35811, GEIRPOOL/GEIRSTRF.
TYPERMFV 32.130 Support for APAR OA35811, GEIRSTRF replaced GEIRPOOL.
TYPERSDA 32.123 Support for EOS RSD USER SMF AUDIT Version 2.1.
TYPERSDS 32.123 Support for EOS RSD USER SMF ACCOUNTING Version 2.1.
TYPESTC 32.155 Support for Oracle ELS/VTCS 7.2 HSC SMF changes.
TYPESYNC 32.143 CPUZIPTM for SYNCSORT COPY was a missing value.
TYPETAND 32.238 Support for all Tandem records in a single file.
TYPETMD2 32.176 TMON/DB2 compressed records not decoded on ASCII.
TYPETMO2 32.070 Support for ASG-TMON CICS TS 3.4 (NO UPDATE NEEDED).
TYPETMO2 32.309 Support for ASG TMON/CICS Version 4 INCOMPATIBLE.
TYPETMVS 32.092 Initial support for TMON/MVS Version 4.4 (INCOMPAT)
TYPETMVT 32.040 TMON/VTAM vendor maintenance now populates fields.
TYPETPMX 32.058 INVALID ARG TPMPI - previous $EBCDIC1 is now PIB1.
TYPEVMXA 32.106A z/VM MONWRITE divide by zero protection HFCOUNT=0.
TYPEVMXA 32.243 Each START MONITOR message is a LOST interval.
TYPEVMXA 32.243 z/VM Interval ENDTIME wrong if first 0.1 not CPU 0.
TYPEVMXA 32.254 Support for z/VM concatenated MONWRITE mult systems.
TYPEWECR 32.173 Support for Websphere MQ for z/OS Crypto Audit SMF.
TYPEXAM 32.057 Doc: FTP: Use TYPE E and MODE BLOCK for z/VM to z/ZOS
TYPEXAM 32.116 XAM CRITICAL ERROR SEGLEN=84 is a false error.
TYPEXAM 32.272 ERROR IN XAMSYS, SEGNAME=CMS, MXG coding error.
TYPEXCOM 32.022 Support for CA XCOM VERSION 1.16: INCOMPATIBLE.
TYPEXCOM 32.046 Support for XCOM R32 - 11.5 (INCOMPATIBLE).
TYPEXPTR 32.033 Support for XPTR 5.2 creates 23 new datasets.
TYPEZOSA 32.059 Support for ZEN 2280 new CSM records (INCOMPAT).
TYPEZOSA 32.215 Zero observations in TYPEZOSA, incorrect MXG test.
UTILBLDP 32.226 SPINCNT/SPINUOW/TIMEDIF not correctly created.
UTILEXCL 32.265 Support for 2nd CMODNAME='USER',CMODHEAD='USER'.
UTILVREF 32.295 QA UTILVREF now detects long BY lists for HOST SORT.
VGETJESN 32.296 &MACJESN can delete records by TYPETASK (e.g. OMVS).
VGETOBS 32.012 MANY spurious MXGWARN: DATASET PDB.CICxx DOES NOT msg
VGETOBS 32.056 CANNOT CLONE BUFFSIZE during PROC COPY could be bad.
VGETOBS 32.091 MXG 32.03: VGETOBS on z/OS increased EXCPs, Elapsed.
VGETOBS 32.100 Correction to VGETOBS in First 32.04.
VMAC112 32.295 Long BY list, HOST SORT CAN NOT BE USED, MXG error.
VMACBETA 32.028 Protection for BETA93 truncated SUBTYPE=41 record.
VMACBVIR 32.134 Some POOLs were not output in BVIR322/323/324.
VMACDB2H 32.027 32.01 INVALID DB2 V10 HEADER RECORDS DELETED.
VMACDB2H 32.148 DB2 Headers in any order are now processed correctly.
VMACDB2H 32.261 DB2 variable JOB could be incorrect LENGTH $12.
VMACNDM 32.208 Support for New NDM-CDI CPU CP/zIIP/QUAL times.
VMACSMF 32.073 New MXGREADSMF=SMF/LOGGER/BOTH option to read SMF.
VMACSMF 32.136 CICS Version SMFPSRVR formatted prints TS5.1 vs 68.
VMACSMF 32.191 Using _INFILE_=SMFINFILE allows VIEW with MXGDECOM.
VMACSMF 32.300 WPS ONLY. CANNOT READ SMF ON ASCII, MXG ERROR.
VMACWECR 32.301 WPS ONLY. DATA SET "WORK.WEBSCRAU" NOT FOUND.
VMACaaaa 32.234 The _IDaaaa=512 detection was removed.
VMXGDEL0 32.127 New %VMXGDEL0 utility deletes all zero-obs datasets.
VMXGDSNL 32.260 MXG on Linux to process AS400 data, slash issue.
VMXGINIT 32.021 Change 31.285 removed (INSTREAM enhancement didn't).
VMXGODSO 32.217 Support for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
VMXGPLCH 32.013 Create $PLOTCHAR to map one character from SYSTEM.
VMXGPRAL 32.029 ERROR 72-322 or COMPBL HAS TOO MANY ARGUMENTS.
VMXGPRNT 32.017 Fails with 180 pointing to LABEL, mis-located RUN.
VMXGSUM 32.026 Macro variables compressed with COMPBL and %STR.
VMXGSUM 32.133 Support for "concatenated" PDBs as INPUT.
VMXGSUM 32.164 FREQ option created lower case variable names.
WEEKBLxx 32.264 WPS ONLY. Test for &SYSVER GE 6 s/b &SASVER GE.
See member CHANGESS for all changes ever made to MXG Software, or
the CHANGES frames at http://www.mxg.com
Inverse chronological list of all Changes:
NEXTCHANGE: Version 32.
====== Changes thru 32.309 were in MXG 32.32 dated Jan 6, 2015=========
Change 32.309 Support for ASG TMON/CICS Version 4.0 INCOMPATIBLE due to
EXMONEXT inserted fields.
EXMONPSB -New variables in MONITASK 'TA' record dataset.
IMACTMO2 TACNTGLN='CONTAINER*ACCUM*GET/GET64*LENGTH'
VMACTMO2 TACNTHWM='CONTAINER*LENGTH*HWM'
VMXGINIT TACNTPLN='CONTAINER*ACCUM*PUT/PUT64*LENGTH'
Jan 1, 2015 TACNTRCT='CONTAINER REQUEST COUNT'
Jan 6, 2015 TACNTRTM='CONTAINER REQUEST ACCUMULATED TIME'
TACNTWCT='CONTAINER REQUEST WAIT COUNT'
TACNTWTM='CONTAINER REQ ACCUMULATED WAIT TIME'
TAHWMRUL='RULE RECORD'
TAIPCNRL='TOTAL IPIC NETWORK BYTES INBOUND'
TAIPCNSL='TOTAL IPIC NETWORK BYTES OUTBOUND'
TASTCODE='TRANSACTION START CODE'
-New dataset MONIEXT from 'TA' EXT SEGMENTs.
TAONETWK='ORIGIN*NETWORK ID*FROM*WORK REQUEST'
TAOAPPL ='ORIGIN*APPLID*FROM*WORK REQUEST'
WKOSTART='ORIGIN*TASK*START TIME'
TAOTRNUM='ORIGIN*TASK*TRANSACTION*NUMBER'
TAOTRID ='ORIGIN*TASK*TRANSACTION*ID'
TAOUSRID='ORIGIN*TASK*USERID'
TAOTCPSV='ORIGIN*TCPIPSERV*NAME'
TAOPORTN='ORIGIN*TCPIPSERV*PORT NR'
TAOCLIPA='ORIGIN*CLIENT/TELNET*IP*ADDRESS'
TAOCLIPP='ORIGIN*CLIENT/TELNET*PORT NR'
TAOFCTNM='ORIGIN*TRANSACTION*FACILITY*NAME'
TAOTRFL1='ORIGIN*TRANSFLAG*FACILITY*IDENT'
TAOTRFL2='ORIGIN*TRANSFLAG*IDENTITY*INFO'
TAOTRFL3='ORIGIN*TRANSFLAG*RESERVED'
TAOTRFL4='ORIGIN*TRANSFLAG*DEFINITION*INFO'
TAOTRFL5='ORIGIN*TRANSFLAG*TYPE'
TAOTRFL6='ORIGIN*TRANSFLAG*RESERVED'
TAOTRFL7='ORIGIN*TRANSFLAG*RESERVED'
TAOTRFL8='ORIGIN*TRANSFLAG*RECOVERY*MANAGER'
TAOUSRCO='ORIGIN*USER*CORRELATOR'
TAOADAT1='ORIGIN*DATA*ADDED*DATA1'
TAOADID ='ORIGIN*DATA*ADAPTER*ID'
TAOADAT2='ORIGIN*DATA*ADDED*DATA2'
TAOADAT3='ORIGIN*DATA*ADDED*DATA3'
TAPHNTWK='PREV HOP*DATA CICS*REMOTE TASK'
TAPHAPPL='PREV HOP*DATA*APPLID'
WKPHSTRT='PREV HOP*DATA*START TIME'
TAPHTRNO='PREV HOP*DATA REMOTE*TASK NUM'
TAPHTRAN='PREV HOP*DATA REMOTE*TASK TRAN'
TAPHCNT ='PREV HOP*DATA NUM OF*CICS REMOTE'
TAABPANM='APPLICATION*BASE*PROGRAM*APPLNAME'
TAABPPNM='APPLICATION*BASE*PROGRAM*PLATFORM'
TAABPONM='APPLICATION*BASE*PROGRAM*OPERATION*NAME'
TAABPMAJ='APPLICATION*BASE*PROGRAM*MAJOR*VER NR'
TAABPMIN='APPLICATION*BASE*PROGRAM*MINOR*VER NR'
TAABPMIC='APPLICATION*BASE*PROGRAM*MICRO*VER NR'
TAITKANM='INITIAL TASK*APPL CNTX*APPLICATION*NAME'
TAITKPNM='INITIAL TASK*APPL CNTX*PLATFORM*NAME'
TAITKONM='INITIAL TASK*APPL CNTX*OPERATION*NAME'
TAITKMAJ='INITIAL TASK*APPL CNTX*MAJOR VER NR'
TAITKMIN='INITIAL TASK*APPL CNTX*MINOR VER NR'
TAITKMIC='INITIAL TASK*APPL CNTX*MICRO VER NR'
TACTKANM='CURRENT TASK*APPL CNTX*APPLICATION*NAME'
TACTKPNM='CURRENT TASK*APPL CNTX*PLATFORM*NAME'
TACTKONM='CURRENT TASK*APPL CNTX*OPERATION*NAME'
TACTKMAJ='CURRENT TASK*APPL CNTX*MAJOR VER NR'
TACTKMIN='CURRENT TASK*APPL CNTX*MINOR VER NR'
TACTKMIC='CURRENT TASK*APPL CNTX*MICRO VER NR'
-New dataset MONIPSB from 'TA' PSB SEGMENTs.
TADDBCCT='TOTAL*DL/I*DATA BASE*CALLS'
TADDLETC='DATA BASE*DLET CALLS*ISSUED'
TADEBCT ='DEDB*CALLS'
TADEDBRC='DEDB*READ*OPERATIONS'
TADEDQCT='EXCLUSIVE*DEQUEUES'
TADENQCT='EXCLUSIVE*ENQUEUES'
TADGHNCT='DATA BASE*GHN CALLS*ISSUED'
TADGHNPC='DATA BASE*GHNP CALLS*ISSUED'
TADGHUCT='DATA BASE*GHU CALLS*ISSUED'
TADGNPCT='DATA BASE*GNP CALLS*ISSUED'
TADISRTC='DATA BASE*ISRT CALLS*ISSUED'
TADLDBIO='DATABASE*I/O'
TADLGNCT='DATA BASE*GN CALLS*ISSUED'
TADLGUCT='DATA BASE*GU CALLS*ISSUED'
TADLIPSB='PSB*NAME'
TADLUSSN='USSN*NUMBER'
TADOBUCT='OVERFLOW*BUFFERS*USED'
TADREPLC='DATA BASE*REPL CALLS*ISSUED'
TADTDQCT='TEST*DEQUEUES'
TADTNQCT='TEST*ENQUEUES'
TADUDQCT='UPDATE*DEQUEUES'
TADUNQCT='UPDATE*ENQUEUES'
TADUOWCC='UOW*CONTENTIONS'
TADWEDBC='WAITS FOR*DEDB*BUFFER'
TADWENQC='WAITS ON*EXCLUSIVE*ENQUEU'
TADWTNQC='WAITS ON*TEST*ENQUEUES'
TADWUNQC='WAITS ON*UPDATE*AND ENQUE'
TAPSBICT='TAPSB*SEGMENT*COUNT'
WKDLDBTM='ELAPSED*TIME FOR*DATABASE I/O'
WKDLICTM='THREAD*TCB*CPUTIME'
WKDLINWT='ELAPSED*WAIT TIME*INTENT*CONFLICT'
WKDLLKTM='ELAPSED*TIME FOR*PI LOCKING'
WKDLPLWT='ELAPSED*WAIT TIME*POOL*SPACE'
WKDSCETM='SCHEDULE*COMPLETED'
WKDSCSTM='SCHEDULE*STARTED'
WKSCHDTM='ELAPSED*TIME FOR*SCHEDULE PROCESS'
-New variables in MONITR 'TR' record dataset.
TRASACTV='CURRENT*ADDRESS*SPACE*ADDRESS'
TRASHWM ='ADDRESS*SPACE*HWM'
TRASPMHW='HWM*AUX*SLOTS*PMO'
TRASPMO ='AUX SLOTS*TO BACK*64 BIT PMO'
TRBAPMO ='BYTES*ALLOCATED TO*PRIVATE MEMORY'
TRBHPMO ='BYTES*HIDDEN IN*PRIVATE MEMORY'
TRBPMOHW='HWM BYTES*USABLE IN*PRIVATE MEM'
TRCDSAL ='CURRENT*DSA*LIMIT'
TRCDSAT ='CURRENT*DSA*TOTAL'
TRCEDSAL='CURRENT*EDSA*LIMIT'
TRCEDSAT='CURRENT*EDSA*TOTAL'
TRCMCSU ='CUMULATIVE*COMMON*SUBSPACE*USER'
TRCMSUHW='HWM*COMMON*SUBSPACE*USERS'
TRCMUSU ='CUMULATIVE*UNIQUE*SUBSPACE*USER'
TRCRCSU ='CURRENT*COMMON*SUBSPACE*USERS'
TRCRUSU ='CURRENT*UNIQUE*SUBSPACE*USERS'
TRDSAHWM='HWM*DSA*TOTAL'
TREDSAHW='HWM*EDSA*TOTAL'
TRFGFAIL='NO FROM*GUARD*FAILURES'
TRFGFSZ ='FROMGUARD*FAILURE*SIZE'
TRGDSAAC='CURRENT*GDSA*ACTIVE'
TRGDSAAL='CURRENT*GDSA*ALLOCATED'
TRGDSAHA='HWM*GDSA*ACTIVE'
TRGDSAHW='HWM*GDSA*ALLOCATED'
TRGETSSZ='GETSTOR*REQUEST*SIZE'
TRMEMLMT='MEMLIMIT*SIZE'
TRMLIMTS='MEMLIMIT*SOURCE'
TRNOLMO ='LARGE*MEMORY*OBJECTS'
TRNOSHMO='SHARED*MEMORY*OBJECTS'
TRNUMPMO='PRIVATE*MEMORY*OBJECTS'
TRPGPOOL='PAGEPOOLS'
TRRFPMHW='HWM*REAL*FRAMES*PMO'
TRRFPMO ='REAL*FRAMES*64-B*PMO'
TRRNTPGM='STATE*OF*RENTPGM'
TRSBFLMO='SHARED*BYTES*FROM*LARGE MEMORY'
TRSBLMHW='HWM*SHARED BYTES*IN LARGE MEMOR'
TRSTGPRO='STATE OF*STORAGE*PROTECT'
TRTRNISO='STATE OF*TRANISO'
TRUSUHWM='HWM*UNIQUE*SUBSPACE*USERS'
Jan 6: DEBUG 8 _N_= messages eliminated.
-Divide by 4096 for all durations was added.
Change 32.308 These new-in-XCOM-11.6 variables are now INPUT and some
FORMATS are decoded by new $MGXCMxx formats:
VMACXCOM XCORELEASE XCONXFER_AK XCOPDSMN_AK1 XCODATE_AK1
Dec 30, 2014 XCOTIME_AK1 XCONAME_AK XCOPDSMN_AK2 XCODATE_AK2
XCOTIME_AK2 XCOLUSER_AK XCOPDSMN_AK3 XCODATE_AK3
XCOTIME_AK3 XCOID_AK XCOPDSMN_AK4 XCODATE_AK4 XCOTIME_A
XCOTNAME_AK XCOPDSMN_AK5 XCODATE_AK5 XCOTIME_AK5 XCOPDS
XCOTOTCPU XCOTCBCPU XCOSRBCPU XCOZIIPZCPU XCOZIIPCCPU
XCOZIIPELIG XCONRECS2 XCONSEND2 XCONRECV2 XCONPUT2
XCONGET2 XCOALPRI2 XCOALSEC2 XCOALDIR2 XCOALRUNIT
XCOEATTR XCOLCIPH_LIST XCOCIPHER XCOPROTOCOL XCOLCHAR
XCORCHAR XCOLCCSID XCORCCSID XCOSCCSID XCOTCCSID XCOLTN
XCORTNQ XCOMIERR XCOMCERR XCOLDELIM_ENCODE
XCORDELIM_ENCODE XCOMIREPL XCOMCREPL XCOLDELIMITERS
XCORDELIMITERS XCOMIREPL_CNT XCOMCREPL_CNT XCOXMITF
Change 32.307 TYPE50 with VERSN50=2 ATTCHTYP=4 and LENGTH=254 caused an
VMAC50 INPUT STATEMENT EXCEEDED error because MXG expected 262
Dec 29, 2014 bytes. Now the 8-byte TY50RDQN Read-Queue-Name is INPUT
only when there are 8-bytes left. I presume that field
was added by an APAR.
Thanks to Steven Womer, OCLC, USA.
Change 32.306 If BLDSMPDB was used with RUNDAY=NO, the PDBAUDIT report
BLDSMPDB was incorrectly invoked, causing DDNAME NOT FOUND error.
Dec 29, 2014 Now, PDBAUDIT is not run when RUNDAY=NO is specified.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 32.305 DOCUMENTATION.
FORMATS -Format $MGPROD maps every member in MXG to a product.
Dec 27, 2014 This is work in progress for Spring, 2015.
====== Changes thru 32.304 were in MXG 32.12 dated Dec 23, 2014=========
Change 32.304 Support for RMF APAR OA45421 adds new function to the SMF
VMAC74 74 subtype 4 record, new variables in TYPE74ST dataset:
Dec 19, 2014 R744SISC='INDEX TO*SCM*DATA*SECTION'
R744SNSC='STORAGE*CLASS*MEMORY*DATA*SECTIONS'
R744SSAC='SCM AR*CONDITION*REQUIRED*RESTART'
R744SOSA='SCM AR*CONDITION*SUCCESSFUL*OP'
Change 32.303 Support for APAR OA44798, which adds two variables to the
VMAC22 TYPE22 Subtype 10 record, in dataset TYPE22_A:
Dec 19, 2014 SMF22SMT='MULTI-TARGET*PPRC*STATUS'
SMF22PMT='PREVIOUIS*MULTI-TARGET*PPRC*STATUS'
Change 32.302 MXG 32.06-32.11. The QAWPS program %INCLUDE of BUIL3005
QAWPS text was incorrectly changed to BUIL3206 in 32.06 and
Dec 19, 2014 then was BUILVVNN for each version instead of BUIL3005.
Thanks to Declan Vibert, World Programming, ENGLAND.
Change 32.301 MXG 32.11, WPS ONLY. A letter F left in macro _VARWECR
VMACWECR caused ERROR: DATA SET "WORK.WEBSCRAU" NOT FOUND".
Dec 22, 2014 SAS did not fail; it added the F to the dataset LABEL.
Thanks to Declan Vibert, World Programming, ENGLAND.
Change 32.300 MXG 32.11, WPS on ASCII ONLY, INVALID SMF RECFM. A test
VMACSMF left from Change 32.258 ("OR %SYSPROD(WPS EQ 1") caused
Dec 19, 2014 ERROR: UNRECOGNIZED RECORD FORMAT VBS on ASCII (because
WPS requires RECFM=S370VBS on ASCII). Test is removed.
Thanks to Declan Vibert, World Programming, ENGLAND.
Change 32.299 The default invocation of PDBAUDIT (contents of today's
BLDSMPDB "PDB's", comparison with yesterdays) is at the end of the
Dec 18, 2014 default BUILDPDB (PDB.SPUNJOBS), but that is prior to any
ASUMxxxx or other members that you added, so those other
PDB datasets would not be reported.
-This change adds the PRINTAUDIT parameter to BLDSMPDB
PRINTAUDIT=&MXGPRINTAUDIT
to automatically defer the %PDBAUDIT invocation until
after all of the INCLAFTR programs have executed.
-If you use BUILDPDB and your own includes, you can use
%LET MXGPRINTAUDIT=NO; /* temp replace default */
%INCLUDE SOURCLIB(BUILDPDB);
%INCLUDE - all of your stuff - ;
%PDBAUDIT(PRINTAUDIT=YES);
Change 32.298 Multiple UTILBLDP executions in a single job could get
UTILBLDP errors with missing parens and other nastiness if any
Dec 18, 2014 of the EXPDB*** parameters were used. EPDBINC EPDBCDE
EPDBVAR EPDBOUT are now all nulled at the end.
Change 32.297 New argument LIBNAMES to select which LIBNAMEs are used,
PDBAUDIT and new options added to PRINTAUDIT= argument:
Dec 18, 2014 LIBNAME=_ALL_ Default, search all open LIBNAMES:
A LIBNAME is open if:
-zOS it has been touched by a DATA or PROC step
or there was a LIBNAME statement used
-ASCII there MUST have been a LIBNAME statement
PRINTAUDIT=
YES - default - datasets and reports generated
NO - PDBBAUDIT becomes a null statement
DATAONLY - only builds datasets and does not print
any reports
PRINTONLYCHANGE - builds datasets and prints only
the report of differences
PRINTONLYCONTENTS - prints only the CONTENTS report
Change 32.296 New macro variable &MACJESN is added in VGETJESN so you
VGETJESN can delete records by their TYPETASK values. For example,
VMXGINIT the large number of SMF 30s written for OMVS tasks can be
Dec 18, 2014 can be deleted from your BUILDPDB datasets, using
//SYSIN DD *
%LET MACJESN=
%QUOTE( IF TYPETASK EQ 'OMVS' THEN DELETE; ) ;
%INCLUDE SOURCLIB(BUILDPDB);
Note that using MACJESN "instream" in your //SYSIN only
impacts this job, so you could separately run TYPE30
program and see all those OMVS task records.
Thanks to Richard Stuchell, Visa, USA.
Change 32.295 Variables XMLSYSTEM/TEMSSEQ in T112TEMS dataset created
UTILEXCL by SUBSTR(XMLRECORD) with INPUT XMLRECORD $VARYING32000,
VMAC112 so SAS defaults their length to 32000, when there is no
Dec 17, 2014 LENGTH statement. That is a problem ONLY because both
are in the BY list for PROC SORT, which then caused
ERROR: HOST SORT CAN NOT BE USED (SORTPGM=HOST/SORT)
WARNING: HOST SORT CAN NOT BE USED (SORTPGM=BEST)
because DFSORT/SYNCSORT don't allow a BY list over 32760
bytes long. Both are now shortened in a LENGTH statement.
-An ERROR occurs with the site option SORTPGM=HOST/SORT.
Instead, if SORTPGM=BEST is used, SAS issues the WARNING
and proceeds to use its internal sort. Knowing this now,
I recommend SORTPGM=BEST in your site's CONFIG.
-The UTILEXCL program has a long BY list and has noted in
comments that you must use OPTIONS SORTPGM=SAS.
-But how did this slip thru my QA? Well, it turns out that
SAS does NOT validate the BY list length if the dataset
has zero observations; I don't always have obs for every
MXG dataset. I think that lack of validation is a defect,
but now that I'm aware SAS may not find these errors for
me, I've revised the UTILVREF QA program to now calculate
the length of the BY list for every dataset and report
any new exposures so they can be corrected/documented.
-Note: There are other HOST SORT CAN NOT BE USED causes.
Thanks to Gaetan Martel, Intact Corportation Financiere, CANADA.
Change 32.294 This analysis example to compare two WEEK's TYPE72GO data
ANALCPU for each Service Class, matching intervals from midnight
Dec 17, 2014 had &PDBMXG..TYPE72GO instead of WEEK.TYPE72GO and so it
failed with LIBREF PDB IS NOT ASSIGNED.
Thanks to Jerry Schmidt, Northeast Utilities, USA.
Change 32.293 Warning added to ASUMDB2A when "Rollups" are detected.
ASUMDB2A Created when ACCUMACC is specified, rollups summarize
Dec 17, 2014 DB2 events, leaving no "detail" event data in DB2ACCT, so
you need to be aware Rollups impact ANALDB2R reports and
makes any summarization of the already summarized data of
questionable utility. The new log messages print:
MXGWARN: DB2 ROLLUPS DETECTED. SUMMARIZED VALUES CANNOT
MXGWARN: BE USED FOR DETAIL ANALYSIS. TOTAL AND MAX
MXGWARN: VALUES WILL BE CORRECT BUT AVERAGE VALUES WILL
MXGWARN: BE INCORRECT. USE WITH CAUTION.
Note that %ANALID reports tabulate which DB2 Subsystems
have enabled ACCUMACC; %ANALID reports are automatically
created by BUILDPDB to tabulate your input SMF data, or
it can be directly executed to read/report on your SMF.
using %ANALID(READSMF=YES,PRINT=YES,PDBOUT=WORK);
Change 32.292 -ASCII only. The MXG default SORTSIZE=400M is removed so
AUTOEXEC the default SORTSIZE is chosen. No problem was reported,
AUTOEXEU but this archaic value could negatively impact sorts.
AUTOEXEW -Optional ODS and DM commands are now enclosed in comment
Dec 16, 2014 blocks, rather than enabling by default.
Change 32.291 Support for GDPS SMF 105 Record APAR PI26702 (replaced
VMAC105 PI16853) INPUTS eight new two-byte fields into existing
Dec 16, 2014 variables SM105LTV/LOV/LPV/LSV/LUV/LCV/LJV/SN195LFV that
were previously only one-byte fields. When the APAR is
installed, it's flag bit detects its presence and inputs
the new fields transparently. One byte was too small if
a client had an LSS with a full 256 devices defined.
Thanks to Dave Clitherow, IBM GDPS Development, UK.
Change 32.290 "Archaic" IMS log processing programs, TYPEIMS7 to create
TYPEIMS7 IMS07 IMS07D IMA0A7 IMS0708 IMSUMRY datasets or JCLIMSL6
VMACIMS and ASMIMSL6 to create IMSTRAN.IMSTRAN, both now use the
VMACIMSA newer and larger (by about 5%) DLREXTIM for the IMSCPUTM
Dec 12, 2014 value instead of the original CP CPU time field, DLRTIME.
DLREXTIM was added in IMS 10.1 and recommended by IBM IMS
support. DLRTIME is also now kept in those datasets.
NOTE: THE RECOMMENDED, NON-ARCHAIC MXG IMS LOG PROCESSING
in JCLIMSTT that creates the IMS56FA IMS Transaction Data
Set was not changed: IMSCPUTM correctly used TPEXTIME.
-IMSCPUTM/DLRTIME/DLREXTIM contain ONLY the CP CPU time
and DLRAZAAP/TPEZAAP contain ONLY zIIP/zAAP CPU time.
Thanks to David Christianson, State of Wisconsin, USA.
Change 32.289 -RMF III processing performance enhancements, message
ADOCRMFV improvements, fixes, and documentation upgrades.
ASMRMFV -Improved ASMRMFV handling of all Return Codes, Reason
CLRMFV Codes, and Info Codes into messages eliminating some
JCLRMFV instructions.
JCLCRMFV -Severe error messages RMFV003S and RMFV007S will now
JCLDRMFV provide the failing subroutine name for better diagnosis.
Dec 20, 2014 In prior ASMRMFV versions only the general name of the
failing service (OPEN, CLOSE, etc.) was shown.
-Messages RMFV024I, RMFV025I, RMFV028I, RMFV029*,
RMFV031I, RMFV037I, and RMFV999I are modified for better
alignments and legibility.
-Message RMFV028I for Indexes is now a multi-line message.
-Messages RMFV012I with Sample Begin/End Date/Time stamps
always be issued even if NODETAIL is in effect.
-When the NODUPDSN option is in effect message RMFV101I
will include the number of DSNAME COMPARES in both Detail
and Summary Reports as an indicator of the overhead
incurred detecting duplicate data set names.
-Message RMFV105I will now show the table name for the RMF
III Data Set Header as DSI instead of DSH. This was the
only report table id not conforming to the actual RMF III
internal id which is ERBDSIG3.
-Using the RMF III internal table identifications
consistently allows for more efficient table validation.
ASMRMFV documentation and source code will still refer to
this table as the DSH or Data Set Header.
-When the POLICY option was specified with the SIZE option
no Service Policy information was produced. The SIZE
option provides a quick inventory of the space usage,
index usage, and attributes of all allocated RMF III data
sets with no RMFBSAM output.
-When the SIZE option is used now any RMF III data set
filters such as NODUPDSN, SYSPLEX=, SYSTEM=, Date/Time,
and DOW= (and their aliases) will be honored to provide
Index and Space usage for only selected data sets. In
prior ASMRMFV versions all data set filters were ignored
when SIZE was specified.
-The SIZE option will now bypass opens and closes for
unneeded non-VSAM data sets RMFBSAM, RMFFILT, and RMFSKIP
for better performance.
-Summary messages RMFV100I, RMFV012I, and RMFV014I will
now also be issued when SIZE is in effect.
-SZ is no longer an alias for the SIZE option, it is now
an alias for SHOWZERO. Please use SI as a SIZE alias
instead.
-New parameters SHOWZERO (alias SZ) and NOSHOWZERO (alias
NOSZ) control display of RMF III table statistics in
message RMFV105I when there are zero occurrences of a
particular table. The default is SHOWZERO providing the
same behavior as prior ASMRMFV versions.
-These parameters replace the ZEROPRT/NOZEROPRT options
and respective aliases since the purpose was unclear from
the names. However, the old parameters are still
accepted without error.
-SHOWZERO/NOSHOWZERO parameter documentation is added to
Section 6 "Report Control Parameters" in ASMRMFV and
ADOCRMFV members. The SIZE option is also updated.
-Updates for revised messages are made to Section 12
"Messages" in ASMRMFV and ADOCRMFV members.
-Section 25 "Summary" is updated to add new parameters.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Change 32.288 SMF Type 22 log message UNKNOWN SECID=40 printed because
VMAC22 the CPU segment is only 6 bytes, MXG read 7. Obviously,
Dec 6, 2014 this is NOT a frequently used SMF record! Error was
introduced by Change 32.064 in MXG 32.03.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Change 32.287 VMXGGETM was checking the length of NRECORDS when it
VMXGGETM should have been checking for a value of MAX, when the
Dec 6, 2014 NRECORD=MAX option was chose, causing log message
NOTE: Variable MAX is uninitialized.
Change 32.286 A second execution of %VMXGSRCH might do nothing; both
VMXGSRCH generated WARNING: MULTIPLE LENGTHS FOR BY VAR MEMNAME
Dec 3, 2014 but only the first execution executed your search.
Thanks to Rodger Foreman, Trans Union, USA
Change 32.285 A RNAME (Minor Queue Name) can contain hex characters
VMACRMFV so new variable ENTMINNAHEX with $HEX72 format provides
Dec 3, 2014 the hex values when ENTMINNA contains non-printables.
These additional variables will also be updated and this
change text will be revised when completed.
Dataset Variable
CMFVEN ENRERNM
CMFRV RVRERNM
TYPEMIM MIMCMRNM
TYPEPDL RTYPEU
TMVSNQ NQMINOR
TYPE87 SMF87QSCAN_RNAME
TYPE796 TYPE796MIN
TYPE797 TYPE797MIN
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.284 -INVALID THIRD ARGUMENT TO FUNCTION SUBSTR in NDM 'PT' SMF
VMACNDM record when LOCNULL=1 is corrected by removal of SUBSTR.
Dec 3, 2014 -Additional NDMRTYPE values of A# C# D# S$ U# UK are now
also output in dataset NDMAE.
-Protection for ancient short records added so that now
every single NDM record I've ever received is tested.
Thanks to Gerard Bosker, Rabobank Nederland, THE NETHERLANDS.
Thanks to Michael Oujesky, DTCC, USA.
====== Changes thru 32.283 were in MXG 32.11 dated Dec 2, 2014=========
Change 32.283 Debugging PUTLOG removed, printed multi-million lines,
VMACRMFV causing a refresh and re-date of 32.11.
Dec 2, 2014
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.282 ASCII only. If the dataset for which you are searching
VGETOBS was a VIEW, it was found, but the DSNAME returned was a
Dec 2, 2014 period and the member type was blank. The period should
have been in the VGETOBS variable and the member type
should have been set to VIEW. The VGETDSN variable was
also incorrectly set to period on z/OS, all fixed now.
Thanks to Karl Olafsson, Advania, ICELAND.
Thanks to Hreinn C. Hreinsson, Advania, ICELAND.
====== Changes thru 32.281 were in MXG 32.11 dated Dec 1, 2014=========
Change 32.281 MXG 32.02-32.10. BUILDPDB fails if //PDB is on tape after
VMAC74 Change 32.031 added code to VMAC74 that caused SAS to try
Nov 28, 2014 to open PDB.TYPE748A and PDB.TYPE748R simultaneously, and
that can't be done when //PDB is a sequential library.
Code revised to create a temporary copy first. BUT:
WE RECOMMEND YOU NEVER USE //PDB ON TAPE for the BUILDPDB
job, not only because you can't have two datasets open,
but because BUILDPDB first writes many datasets to the
PDB, but then has to read them back in (e.g.,RMFINTRV has
to read ALL of the TYPE7xxx RMF datasets to create that
summary PDB.RMFINTRV dataset), and since there is no
dictionary on sequential libraries, SAS has to read every
record to find the first dataset, then rewind back to the
start, read to find the second dataset, etc., causing
massive increase in elapsed time. And consider what
happens when it's a five volume tape dataset that has to
have each volume mounted, read, dismounted, etc., etc.
Instead, make your //PDB DD a temporary DASD file for
the building of the PDB data library, but then add
a //REALPDB DD UNIT=TAPE,DSN=YOUR.REAL.PDB,. . . and a
PROC COPY IN=PDB OUT=REALPDB MEMTYPE=DATA;
to archive the PDB to tape efficiently.
-TYPS74 fails the same way/same reason if PDB is on TAPE.
Thanks to Jerry Schmidt, Northeast Utilities, USA.
Change 32.280 UNUSED Change Number.
Nov 22, 2014
Change 32.279 Mobile Workload support was enhanced by adding variables
MOBWRK02 SMF89IST SMF89EST SMF89ST SMF89UST in MOBWRK02, needed to
MOBWRK05 determine which of the SMF89 starting timestamps should
Nov 26, 2014 be used to set the STARTHR, and MOBWRK05 was updated to
use the STARTHR in all the merges, which is needed for
hours when an LPAR was moved to a different CEC.
Thanks to Graham Harris, RBS, ENGLAND.
Change 32.278 TYP11902 dataset variables TTTTLSSP/NC/ST/FP/UI wrong
VMAC119 when IBM inserted 16 bytes after TTDUAKRC and before the
Nov 26, 2014 relocatable OFF11903 segment, but MXG overlooked using
OFF11903 in the INPUT (probably because prior iterations
of this SMF 119 type record happened to have OFF11903 at
the COL after TTDUAKRC.) Both the OFF11903 and OFF11904
segments are now corrected and protected for inserts.
-New variable added to TYP11902 dataset, discovered in the
z/OS 2.1 IP Programmers guide, 2014 edition, which does
not show those 16 bytes after TTDUAKRC.
TTTTLSNC4='ATTLS*NEGOTIAGED*4-BYTE*CIPHER'
Thanks to Michael Creech, Black Knight Financial Services, USA.
Change 32.277 Crypto variable execution times R7023MET and R7023CRT are
VMAC7072 now correctly multiplied by the R7024SF Scaling Factor;
Nov 25, 2014 that needed multiply was overlooked when they were added.
Thanks to Michael Creech, Black Knight Financial Services, USA.
Change 32.276 Variables XCODSN2='REMOTE*DSN*WITH*G000V00' is now KEPT
VMACXCOM in TYPEXCOM; the adjacent XCODSN1 was also overlooked and
Nov 21, 2014 is now kept, but that Local DSNAME value was also in the
Dec 16, 2014 variables LCLDSN, XCOLDSN1, and in the FILE= argument in
Dec 22, 2014 the LASTMSG variable.
-Dec 16: This support extended back to version 11.5.
-Dec 22: Lines longer than 72 characters reduced.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.275 Variable NDMRTCPU in NDMRT dataset was incorrectly INPUT.
VMACNDM The +2 after NDMGPE1D no longer exists.
Nov 20, 2014
Thanks to Michael Oujesky, DTCC, USA.
Change 32.274 -The PDBAUDIT report of sizes of datasets in your PDB's is
PDBAUDIT enhanced with SORTEDBY option so that you can choose
Nov 27, 2014 the printed report order as deeded. The default order is
SORTBY=LIBNAME DESCENDING FILESIZE MEMNAME
but you can alter the order any way you wish as:
SORTBY=DESCENDING FILESIZE MEMNAME
-Numeric values are now formatted with commas and a new
column is added with FILESIZE in MGBYTES, and labels
rather than variable names are printed.
Change 32.273 ASCII execution only. Variable LIOBTIME in RACF0200
VMACRACF dataset was incorrect for times from midnight to 1 am.
Nov 20, 2014 The EBCDIC logic was copied to the ASCII code area.
Thanks to Matthew Chappell, QLD Dept Transport Main Roads, AUSTRALIA
Change 32.272 ERROR FOUND IN XAMSYS FILE. RECORD WAS NOT OUTPUT.
VMACXAM _N_=1 COL=8987 SEGNAME=CMS SEGSTART=8979 SEGLEN=16448
Nov 18, 2014 A second INPUT +SKIP in the STOSHR record misaligned.
Thanks to Randall Springs, BB&T, USA.
Change 32.271 The "true" PDB.SMFINTRV dataset built by BUILDPDB, with
SMFINTRV consolidated MULTIDD='Y' observations, ACCOUNTn's added,
VMAC30 and with the true count of tape devices allocated for
Nov 19, 2014 each interval, can now be built directly from SMF data,
or from these datasets in //WORK and/or //PDB:
TYPE30TD TYPE30_1 TYPE30_5 and TYPE30_V=SMFINTRV.
Use %INCLUDE SOURCLIB(TYPE30,SMFINTRV); to build ONLY the
PDB.SMFINTRV dataset from SMF; use TYPS30 to also create
all TYPE30xx datasets. This %UTILBLDP example shows how
other SMF records can be added to the processing in one
pass of the SMF file, with USERADD= adding SMF type 42,
and INCLAFTR=SMFINTRV adding creation of PDB.SMFINTRV:
%UTILBLDP(BUILDPDB=NO,
USERADD=30 42,
INCLAFTR=SMFINTRV,
OUTFILE=INSTREAM);
%INCLUDE INSTREAM;
(The _STY30UV Data Set Sort macro in TYPS30 to sort the
WORK.TYPE30_V dataset to the PDB does not name the sort
output to PDB.TYPE30_V, but instead, it simply sorts the
unconsolidated TYPE30_V dataset, naming it PDB.SMFINTRV.
Fortunately, by design, the %VMXGWORL invocation looks
first for the _WTY30UV token, which is WORK.TYPE30_V, but
if that does not exist, then then the _LTY30UV token,
which is PDB.SMFINTRV is used, so SMFINTRV can be used
with either TYPE30 or TYPS30 programs transparently.)
To identify the source of your PDB.SMFINTRV dataset,
the PROC CONTENTS DATA=PDB.SMFINTRV; will show
Built By Data Set Label text
TYPS30(_STY30UV) TY30UV: TYPE 30 INTERVAL EVENT
SMFINTRV DB30UV: SMFINTRV FROM SMFINTRV
BUILDPDB/3 DB30UV: BUILDPDB - SMFINTRV
-"Missing value" messages during _STY30U6 execution were
observed and eliminated with VMAC30 "cosmetic" changes.
Thanks to Cesar V. Cocco, Verisk, USA.
Change 32.270 The IHDRBVIR "BVIR Header" exit member was overlooked but
IHDRBVIR it now exists, and is taken after these header variables
VMACBVIR BVIRHIST BVIRLEN BVIRTYPE BVIRVERS CLUSTER DLIBSEHX
VMXGINIT DLIBSEQN DURATM ENDTIME GLIBSEHX GLIBSEQN GMTOFFBV
Nov 19, 2014 MACHMODL MACHSERL MACHTYPE NODEID SMFTIME STARTIME
TMZOFF VECDLEVL VECDLEVL
have been input and can be used to select which BVIR data
records are processed. As with all IHDRxxxx exits, when
EDITed with your criteria, that will apply to ALL jobs
that process the BVIR data, but each IHDRxxxx member also
also defines a unique macro variable, here MACBVIRH, that
can be used in the //SYSIN text to tailor a specific job.
See comments in the IHDRBVIR and IMACFILE exit examples.
Thanks to Ravi Kumar, Bank of America, USA.
Change 32.269 Documentation of two common ODS errors on z/OS:
ADOCODSO -NOTE: IMAGE NAME PREFIX WILL BE TRUNCATED TO 5
Nov 19, 2014 CHARACTERS TO COMPLY WITH Z/OS FILENAME RULES.
ERROR: CANNOT WRITE IMAGE TO UXMCBH.CPUS0.GIF. PLEASE
ENSURE THAT PROPER DISK PERMISSIONS ARE SET.
No output destination was defined so ODS is trying to
create datasets with userid.SGPLO.PNG and will almost
always fail, or ODS LISTING CLOSE; was not used.
-ERROR: THE JAVA PROXY IS NOT RESPONDING.
ERROR: THE JAVA PROXY'S JNI CALL TO START THE VM FAILED.
ERROR: UNABLE TO LOAD THE JAVA VIRTUAL MACHINE.
PLEASE SEE THE INSTALLATION INSTRUCTIONS OR
SYSTEM ADMINISTRATOR.
Region size too small
Change 32.268 The new ANALDSCK ("DSNAME Check") reads all SMF records
ANALDSCK (SMF 6 14,15,17,18,42.6,60,61,65,66,62,64) that contain
Nov 19, 2014 a DSNAME or ENTRNAME and selects the observations that
contain the full DSNAME, or the High-Level-Index, or any
text you choose, since the INDEX(DSNAME,'text') function
is used for the selection criteria. %VMXGPRAL is invoked
in this example to print all of the found observations.
Thanks to Jack Newburn, Los Angeles County Education, USA.
Change 32.267 Variables CRYAC1U and CRAM3U (1024/4096 utilizations) in
VMAC7072 the TYPE70X2 (PCI CRYPTO ACCELERATOR PCICA) need to be
Nov 19, 2014 multiplied by 100, like the other percentages.
Thanks to Michael Creech, Black Knight Financial Services, Inc., USA
Change 32.266 For CICS, DB2 variable QWHCCV is an alternate source for
VMXGUOW the CICS transaction name, so it is now added to the list
Nov 19, 2014 of transaction names in PDB.ASUMUOW dataset.
Change 32.265 Support for a second CMODNAME='USER' CMODHEAD='USER' CICS
IMACICDV optional segments for dataset CICSTRAN. The first segment
IMACICVS will be tailored in the IMACICUS member and the second
UTILEXCL segment' CMODNAME/HEAD values are set to CMODNAME='USER2'
Nov 18, 2014 and the new IMACICVS member is listed to be tailored for
the second segment.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.264 WPS ONLY. The ancient test for &SYSVER GE 6 (to ensure
WEEKBLDD the "new in V6" CLEAR function was available, to then
WEEKBLDT CLEAR the LIBNAME) failed under WPS, with a spurious
WEEKBL3D error message about BLKSIZE mismatch with LRECL=133!
WEEKBL3T The test needs to use &SASVER which is 8 or greater for
Nov 18, 2014 both SAS and WPS; SYSVER returns the current SAS version
which is also 8 or greater, but WPS returns a 3.
Thanks to Simone Niemczura, Sungard, USA.
Change 32.263 SAS fails to PROC COPY a DATA library with an ITEMSTORE,
DOC to a tape or sequential format library on disk, with:
ERROR: An item store cannot be created in a sequential library.
ERROR: File PDBINTRV.REGSTRY.ITEMSTOR has not been saved
Nov 14, 2014 because copy could not be completed.
All PROC COPY statements now include the MEMTYPE=DATA
option to prevent the error; most COPY's did have either
MT=DATA or MEMTYPE specified.
Thanks to Cesar V Cocco, Verisk, USA.
Change 32.262 -If you are running BLDSMPDB with Week-To-Date WTD, the
BLDSMPDB WEEKKEEP logic in BLDSMPDB failed if you used a wild card
VMXGALOC syntax (ASUM: for example).
Nov 12, 2014 -If you used WTD logic with AUTOALOC on ASCII and used
Dec 15, 2014 FORCEDAY to do a rerun the data went into the WEEK-1
dataset rather than the correct week. Dec 12: Typo fixed.
Change 32.261 If a tailored program compiled _CDE102 first, variable
VMACDB2H JOB could be length $12, because there was no LENGTH
Nov 11, 2014 statement, causing JOB=(SUBSTR(QWHCCV,1,8) to set the
length from the length of QWHCCV. A LENGTH statement is
added in VMACDB2H to protect the expected length $8.
Thanks to Paul Volpi, UHC, USA.
Change 32.260 Executing MXG on Linux to process AS400 data, a forward
VMXGDSNL slash in the path name was fine on windows but was taken
Nov 12, 2014 to be a divide symbol under linux, causing a numeric
operator to be looked for and not found. The use of the
%QUOTE() was required to resolve the intended meaning of
the slash, but the code used ONLY for TYPEQACS processing
has been rewritten to be sensitive to the execution
platform.
FOR ZOS IT WILL USE THE PENULTIMATE NODE OF THE DSNAME
Thanks to H. Sterling James, DST Systems Inc.
Change 32.259 DB2 IFCID=220: "NOTE: Invalid Argument to function INPUT"
VMAC102 prints a hex dump of the first two instances. MXG's INPUT
Nov 10, 2014 statement had not been validated with IFCID=220s and its
misalignment had not been previously observed.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 32.258 Variable SHIFT (the shift of INTBTIME) is now added to
ASUMSMFI the PDB.ASUMSMFI dataset which summarizes PDB.SMFINTRV.
Nov 10, 2014
Thanks to Frank Lund, EVRY, NORWAY.
Change 32.257 RMF Type 78 Subtype 2 record always contain the Virtual
FORMATS Storage Section, and can optionally contain Private Area
VMACID and Subpool Statistics (enabled by listing JOB names to
VMACSMF be monitored in the VSTORE options in your ERBRMFxx).
VMAC78 The %ANALID report now recognizes and reports the records
NOV 7, 2014 78.2.1:VIRTUAL STORAGE ACTIVITY
78.2.2:VIRT+PRIVATE AREA/SUBPOOL
so you can tell if there were any of those JOBS that were
initiated during this interval.
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Keith C. Shaffer, CIGNA, USA.
Change 32.256 These duration variables in dataset TYPEMVAO
VMACMVAO ACTIVETM CPUTOTAL CPUMAX ELAPSTOT ELAPSMAX TAKETIME
Nov 7, 2014 SUCCTIME SUCRETTM FAILTIME FAIRETTM
were all incorrectly multiplied by 60; I think the first
data in 2010 was in minutes, but now is in seconds, so
that multiply is now removed.
Thanks to Christa Neven, KBC Group, BELGIUM.
Change 32.255 The HIGHCONTRAST style that was used as the parent for
MXGSTYL1 MXGSTYLE1 was changed (unexpectedly, unclear when) to
Nov 6, 2014 have a black background and all of the colors were also
modified. Changing the parent to PRINTER resolved the
problem.
Thanks to Richard Way, Office Depot, USA.
Change 32.254 z/VM Variable INTERVAL and HFRATE can be wrong if there
FORMATS is no SAMPLE PROFILE (1.09) MONWRITE record written at
VMACVMXA startup. They are missing values if there is only one
Nov 4, 2014 system's MONWRITE data being read, but if MONWRITE data
from multiple systems is concatenated, the variables will
be non-missing and wrong values, as they were retained
from the prior systems 1.09 record. Now, both variables
are set to a missing value in the 1.04 (Monitor Start) to
clear the retained values. Fortunately, neither variable
is used in any MXG processing.
-Cosmetic, in FORMATS, the RECTYPE format MGVXATY had not
been updated for recently added MONWRITE records.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.253 zOS only and only if daily datasets are GDGs, MONTHBLD:
BLDSMPDB It is possible that unless the GDGs are in precisely the
MONTHASC right order (today is 0, yesterday -1, etc,) that the
MONTHBL3 MONTHBLD logic could cause you to have duplicate and/or
MONTHBLD missing data in your MONTHLY datasets. All of these
MONTHDSK members now look for daily data that is in the current
VSETMNTH week - that is the last week that started before
Nov 1, 2014 month-end and if the ZDATE is in that week will continue
Nov 6, 2014 to process that record. On zOS, all 7 days are always
set by VSETMNTH to ensure we get all of the data from the
current week into the process.
Change 32.252 Support for EzSM 4.2.0 creates two new datasets, one each
EXEZSMT2 from splitting subtype 2 and 3, and subtypes 1, 2, 3, 7
EXEZSMV3 are all now decoded and variables created. Only header
IMACEZSM variables are output for subtypes 4, 5, and 6, pending
VMACEZSM test data for those subtypes.
VMXGINIT dddddd dataset description
Oct 31, 2014 EZSM02 EZSM02 EZSM02: USER START OR END OR END
EZSMT2 EZSM02T EZSMT2: TRANSACTION START OR END
EZSM03 EZSM03 EZSM03: MVS CONSOLE COMMAND
EZSMV3 EZSMV3 EZSMV3: MVS VARY COMMAND
Thanks to Perry Lim, Union Bank, USA.
Change 32.251 TYPE30 variables EXCPNODD/TODD/TOTL,IOTMNODD/TODD/TOTL
VMAC30 were inconsistent when NUMDD=0. MXG set EXCPNODD=0 if
Oct 30, 2014 it was missing, to prevent MISSING VALUE messages, but
when NUMDD=0, there ARE no DD segments, so leaving
EXCPNODD=. when NUMDD=0 makes better sense. And while
NUMDD=0 did set IOTMTODD=., that caused the calculated
IOTMTOTL to be missing when IOTMTOTL=IOTMTOTL-IOTMTODD
was executed. All are now correct and consistent; when
NUMDD=0 the two NODDs will be missing and TOTL correct
in both TYPE30_V and PDB.SMFINTRV datasets. While MULTIDD
observations (30's with ONLY DD segments) don't have a
Unit Record segment (so IOTMTOTL in TYPE30_V will be a
missing value), the BUILDPDB/ONLYINTV consolidation of
all of those MULTIDD='Y' observations from TYPE30_V into
the PDB.SMFINTRV observation sums those variables.
Thanks to David Campbell, SunTrust, USA.
Change 32.250 -RMF III Data Set selection enhancements, fixes, and
ADOCRMFV documentation upgrades.
ASMRMFV -New parameter SYSPLEX= (alias PLEX=) provides for the
CLRMFV selection of RMF Monitor III data sets based on the
JCLRMFV originating Sysplex Name and is explained more below.
JCLCRMFV -New parameter SYSTEM= (aliases SYSID=, SID=) provides for
JCLDRMFV the selection of RMF Monitor III data sets based on the
Nov 29, 2014 originating System Id and is explained more below.
-New parameters SHOWMATCH (alias SM) and NOSHOWMATCH
(alias NOSM) control display results of SYSPLEX= and
SYSTEM= value matching. The default is NOSHOWMATCH.
-New parameters NODUPDSN (alias NODUP) and DUPDSN (alias
DUP) control detection of duplicate RMF Monitor III data
set names as input.
-The default for NODUPDSN/DUPDSN is DUPDSN that provides
the previous ASMRMFV behavior of no duplicate detection.
-New parameter DUPERR=ABEND/WARN/IGNORE controls what
happens when NODUPDSN is in effect and an RMF III data
set name duplicate is detected. The default is
DUPERR=WARN. DUPERR is ignored with DUPDSN in effect.
-SYSPLEX= and SYSTEM= do NOT allocate any RMF Monitor III
data sets, but just filter those already allocated
whether by JCL or INDSNAME= patterns.
-The SYSPLEX= and SYSTEM= parameters may be useful for
large sites with many Sysplexes and/or System Ids that
have an established comprehensive set of RMF III data
sets used for MXG PDB builds. But a complete set may not
be needed for all uses such as for certain ad hoc
studies.
-Use of SYSPLEX= and/or SYSTEM= avoids having to set up
special groups of RMF III data sets in JCL or as
INDSNAME= patterns just for special needs. The standard
configuration set of RMF III data sets can always be
used, but filtered as needed with SYSPLEX= and/or
SYSTEM=.
-Note that SYSPLEX= and SYSTEM= when specified do add some
overhead because every data set has to be opened to
examine the originating Sysplex Name and System Id
whether it will be filtered or not.
-However, that drawback is possibly offset with the
avoidance of inconvenience and errors associated with
tailoring of JCL or INDSNAME= patterns for special PDB
builds.
-Defaults are SYSPLEX=ALL and SYSTEM=ALL meaning that no
RMF Monitor III data set filtering occurs based on
Sysplex or Sysid origin as in prior ASMRMFV versions.
-SYSPLEX= and SYSTEM= support any of the following formats
for values:
SYSPLEX=Range1 SYSTEM=Range1
SYSPLEX=Range1:Range2 SYSTEM=Range1:Range2
SYSPLEX=Pattern1 SYSTEM=Pattern1
SYSPLEX=Pattern1:Pattern2 SYSTEM=Pattern1:Pattern2
SYSPLEX=Pattern1:Range1 SYSTEM=Pattern1:Range1
SYSPLEX=Range1:Pattern1 SYSTEM=Range1:Pattern1
-A Range is one or more alphanumeric (A-Z,0-9) or national
(@,#,$) characters allowed in a Sysplex Name or System
Id.
-Range1:Range2 specifies a low/high Range Pair of values
where the source Sysplex or Sysid string must be equal or
greater than Range1 and also equal to or less than Range2
for the data set to be selected.
-Patterns provide generic matching with the Sysplex and
System fields in the Data Set Header (DSH) table for
flexibility.
-A Pattern can include any of the characters in a Range
and MUST also include at least 1 special pattern
character to be recognized as a Pattern. Otherwise it is
handled as a Range.
-Supported pattern characters are:
Pattern Character Matches In Source String
----------------- ------------------------------
'*' (Asterisk) 0 or more characters
'%' (Percent sign) 1 Non-blank character
'+' (Plus sign) 1 Numeric character (0-9)
'_' (Underscore) 1 Alphabetic character (A-Z)
'.' (Period) 1 National character (@,#,$)
-The colon ':' character is a required delimiter when two
values are provided for SYSPLEX= or SYSTEM=.
-Either or both SYSPLEX= and SYSTEM= parameters may be
coded and each repeated as needed (subject to internal
table size limits).
-New severe error message RMFV034S is displayed when a
Range or Pattern filter table is exhausted. The limit
for SYSPLEX= Ranges or Patterns is 16 each. The limit
for SYSTEM= Ranges or Patterns is 64 each. If higher
limits are needed please contact MXG Technical Support.
-When both SYSPLEX= and SYSTEM= are specified the match
results are logically ANDed so that matches must occur
for BOTH Sysplex Name and System Id for the data set to
be selected.
-For more details and examples on Range and Pattern usage
with SYSPLEX= and SYSTEM= for RMF Monitor III data set
selection see the ASMRMFV, ADOCRMFV, JCLRMFV, JCLCRMFV,
and JCLDRMFV Sourclib members.
-New information message RMFV034I is displayed when
SHOWMATCH is in effect. If a match occurs for SYSPLEX=
and/or SYSTEM= the original source string as well as the
Range Pair or Pattern that matched are displayed.
-When no matches occur for all Ranges and/or all Patterns
this condition is also shown.
-SHOWMATCH can be useful for testing the new SYSPLEX= and
SYSTEM= parameters. SHOWMATCH has very low overhead and
can be used freely without concern for a performance
impact.
-Add new variable severity message RMFV036* (*=I,W,E) when
a duplicate data set is found and NODUPDSN is in effect.
-NODUPDSN adds some CPU overhead because the current RMF
III data set name being opened is compared with all the
previous data set names already processed.
-Although duplicate data set name detection is a simple
compare with a basic counter loop, the number of
comparisons rises rapidly with the number of RMF III DD
allocations:
Maximum
Number RMF III Duplicate
Data Sets Input Comparisons
--------------- -----------
2 1
3 3
4 6
5 10
10 45
50 1,225
100 4,950
500 124,750
1,000 499,500
1,500 1,124,250
1,635 1,335,795 Default 32K TIOT size
2,000 1,999,000
2,500 3,123,750
3,000 4,498,500
3,273 5,354,628 Maximum 64K TIOT size
-Users who are confident they do not have any duplicate
RMF III data sets being input to ASMRMFV do not need to
code the NODUPDSN option.
-However, new ASMRMFV users may want to use NODUPDSN at
least once to insure their ASMRMFV run does not contain
duplicate data sets.
-Duplicates are also more likely using the Dynamic Method
with the INDSNAME= parameter due to possible overlapping
of data set name patterns.
-With the addition of the NODUPDSN, SYSPLEX=, and SYSTEM=
parameters RMF III data set filters are applied in the
following order (if coded):
1) NODUPDSN Prevent duplicate dsname input
2) SYSPLEX= Select Sysplex dsname origin(s)
3) SYSTEM= Select LPAR dsname origin(s)
4) Date/Time FROMDATE=,TODATE=,FROMTIME=,TOTIME=,WINDOW
5) DOW= Day of the Week
-Filter messages RMFV006I have been reordered in the log
to correspond with the general order that filters are
applied during an ASMRMFV run.
-A new summary RMFV014I message is added with RMF III data
set filter (bypass) counts for Total, Duplicates, Sysplex
Name, System Id, Date/Time, and Day of the Week filters.
-Options message RMFV036I showing RMF III table selections
is now an RMFV006I filter message and is now part of that
multi-line message group. These are properly filters not
just options.
-Several filters in an RMFV037I option message are moved
to an RMFV006I message as these are also properly filters
not just options.
-Add new Abend Reason code 84 when DUPERR=ABEND and a
duplicate data set name is found with NODUPDSN in effect.
-Message RMFV050S for the internal Dsname Table full
condition is now message RMFV079S.
-DDNAMEs dynamically allocated by the TSO Clist CLRMFV
will now have a RMFC DDNAME prefix that is also supported
by ASMRMFV instead of an RMFV DDNAME prefix as before.
-Thus the DDNAME prefix in messages now indicates:
Prefix Allocation Method
------ -------------------------------
RMFC CLRMFV Clist Dynamic Allocation
RMFD INDSNAME= Dynamic Allocation
RMFV Static JCL DD statement
-Split message RMFV049* into RMFV049* for CSI Catalog
errors only and RMFV050* for CSI Dsname entry errors
only. Before both errors used the same message skeleton.
-All variable severity messages with ids RMFVnnn* (*=
I,W,E,S) are now initialized only once during ASMRMFV
startup according to the settings of the various
*ERR=ABEND/WARN/IGNORE options.
-This improves performance because in prior ASMRMFV
versions some messages were reused and were reset
according to severity multiple times during execution.
-There is a new variable severity message RMFV056*
(*=I,W,E) issued just for pattern errors. Before these
were part of RMFV004* messages.
-CSI severe error message RMFV043S was not being built
with variable error text correctly when the condition
occurred.
-Issue Index messages RMFV028I and RMFV029* only if the
RMF Monitor III Data Set is selected to reduce overhead.
-Issue Space messages RMFV030I and RMFV031I only if the
RMF Monitor III Data Set is selected to reduce overhead.
-When ASMRMFV execution methods were mixed in a single run
(this is supported) the summary message RMFV101I was not
reporting statistics by DDNAME prefix correctly.
-For example, using a static JCL DD statement for an RMF
data set while also using the CLRMFV Clist or using the
INDSNAME= parameter would be a mixing of methods. Now
multiple RMFV101I messages will be issued for RMFC*,
RMFD*, and RMFV* DDNAME prefixes as required.
-Last Open message RMFV017I is now an RMFV008I message and
is now part of that multi-line display group produced as
each RMF III data set is opened.
-Origin message RMFV009I is split into two parts so that
the Sysplex and System Id information appears near the
point in the ASMRMFV log where SYSPLEX= and SYSTEM=
matching occur.
-The second part of the original RMFV009I message is now
message RMFV017I showing RMF and Z/OS versions and the
timestamp value when these were first in effect.
-The MAXFINDS= parameter limit is lowered to a more
reasonable 99,999 maximum down from a 99,999,999,999
value.
-Error messages that display an invalid character both in
EBCDIC and in hex are now improved for better visibility.
-Explicit coding of DOW=ALL, SYSPLEX=ALL, or SYSTEM=ALL is
documented to explain that this resets the corresponding
internal table(s) to empty. Any prior specifications for
the corresponding table(s) in the current ASMRMFV run are
lost. Any subsequent specifications will be added to the
respective table(s) during the run.
-Definitions for the terms "Keyword", "Range", and
"Pattern" are added to Section 2 "Terminology" in ASMRMFV
and ADOCRMFV member documentation.
-NODUPDSN/DUPDSN, SYSPLEX= and, SYSTEM= parameter
documentation is added to Section 5 "Input Data Selection
Parameters" in ASMRMFV and ADOCRMFV members.
-SHOWMATCH/NOSHOWMATCH parameter documentation is added to
Section 6 "Report Control Parameters" in ASMRMFV and
ADOCRMFV members.
-DUPERR=ABEND/IGNORE/WARN parameter documentation is added
to Section 8 "Error Handling Parameters" in ASMRMFV and
ADOCRMFV members.
-Updates for new and revised messages are made to Section
12 "Messages" in ASMRMFV and ADOCRMFV members.
-A new Filter Scope Table is added to Section 13 "Filtered
Records" in ASMRMFV and ADOCRMFV members. This shows the
data filters available in ASMRMFV, to which RMF III
tables they are applied, the order of application, and
the level of data affected.
-Section 25 "Summary" is updated to add new parameters and
improve text alignments in ASMRMFV and ADOCRMFV member
documentation.
-Three new examples showing use of SYSPLEX= and SYSTEM=
parameters are added to the sample documentation members
JCLRMFV, JCLCRMFV, and JCLDRMFV.
-At the ASMRMFV 32.225 level only FROMDATE=TODAY or
TODATE=TODAY settings and all related variants and
equivalents were creating an invalid date of 01JAN1900
for date selection because the current date was not being
loaded in SETDATE processing for these settings.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Rodger Foreman, Trans Union, USA
Change 32.249 Support for BVIR Version 2 short 32X History Records that
VMACBVIR had only 31 Pool Segments, when all 32 pool segments are
Oct 30, 2014 normally always present. These records had BVIRLEN=8256,
but 8545 bytes (32*256+353) are needed for 32 pools.
The existing BVIRLEN GE 8512 test was reduced to 3256 as
record does contain the LIBxxxxx descriptor variables.
-The first three instances of these short records will
print a log message.
-A debugging PUT with _N_= GCNRCLUS= LENLEFT= was removed.
Thanks to Olivier Bigeon, SOC GEN, FRANCE.
Thanks to Pierre-Pascal Joulin, SOC GEN, FRANCE.
Thanks to Samsla Assanaly, SOC GEN, FRANCE.
Change 32.248 Under WPS, BLDSMPDB failed on z/OS because it generated
BLDSMPDB RECFM=S370VBS instead of RECFM=VBS because it incorrectly
Oct 28, 2014 changed OPSYS to 'os' with a %LET OPSYS=%LOWCASE(OPSYS).
The same code was generated under SAS, but there was no
error because SAS has supported both S370VBS and VBS
since SAS Version 8, although that was never documented.
The low case value was not visible in SYMBOLGEN messages,
because OPTIONS CAPSOUT is specified in MXG CONFIGxx.
Thanks to Scottie Mills, TI, USA.
Change 32.247 Support for EMC's Clarion Arrays data for Flare Firmware
VMACCLAR Version 26 thru 33. Most of the changes are new counters.
Oct 24, 2014 The "clarsan" object is really a special case of clarsnap
so clarsan was repurposed as clarpool.
Instrumentation was added to help build keep lists for
the various object's new counters.
Thanks to James Quigley, CONED, USA.
Change 32.246 TYPE72GO's PERFINDX can be a missing value when it should
VMAC7072 be large, for Service Classes with Percentage Goal and
Oct 24, 2014 a small number of transactions with a high goal objective
that was NOT met (so PERFINDX must be greater than one).
A Service Class with 19 transactions had 18 complete in
the first response bucket (.5) but one longer transaction
was not counted in the thirteenth response bucket (4).
So, while 94% of the transactions met their goal, the 97%
objective goal objective was NOT MET (.97*19=18.43 trans)
and due to an MXG logic error, PERFINDX was not set.
Now, when TRANS GT 0, PERFINDX is set to RTSMAP(13),
which for this case was 4.0. Note that PERFINDX will
always be a missing value when TRANS=0, or for R723CRGF=
'S' (SYSTEM) or 'D' (DISCRETIONARY) goals.
Thanks to Tom Kelman, Xerox, USA.
Change 32.245 Reserved Change Number.
Change 32.244 The MOBILE program MOBWRK73 (to read existing TYPE70s)
MOBWRK73 incorrectly required //TYPE70 DD statement. Eliminated,
Oct 21, 2014 but //TYPE70 DD UNIT=SYSDA,SPACE=(CYL,(50)) circumvents.
Thanks to Scottie Long, Navy Federal Credit Union, USA.
Change 32.243 If you use INITIT=Mx where X was the day of the month on
VMXG2DTE which you wanted to INIT the output, the first day's data
Oct 21, 2014 would have been missing. For example, if you specified
INITIT=M2 so that all the observations based on ZDATE
would be in each month's dataset, the data for the first
of each month would be missing because of an incorrect
calculation: when Wx is being used, 1 is added to the
date since the days of the week start with 0, but using
Mx, that +1 caused the data to be missing.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.242 z/VM Interval ENDTIME is set from first 0.1 (CPU) record,
VMACVMXA selecting CPUADDR='0000'x. But the first 0.1 record is
Oct 20, 2014 not always CPUADDR zero! CPUADDR=0001/0002/0003/0000x
Oct 28, 2014 data records had the MRHDRTOD in the fourth record SEVEN
MICROSECONDS later than the time in the first three. This
caused those first three observations to be output with
the (incorrect) prior ENDTIME value, which then caused
spurious observations with many missing values in dataset
VMXAINTV. Because the z/VM MONWRITE data file is weird,
consisting of 4K block containing variable records that
span blocks, and because four 0.1 records fill a block,
finding that first record requires comparing the stored
FOUNDINTBLOCK block number (_N_) with the _N_ of this new
0.1 and only updating ENDTIME if this block is more than
100 blocks later (256 CPUs would need 32 blocks).
-Lost Interval Data in VMXAINTV dataset will ALWAYS occur
for the first interval (START MONITOR message on the log)
because the data values are accumulated but there is no
prior record for the DIF() function; so if you have many
START MONITOR messages, each one is a lost interval.
MONWRITE really needs to run for 23.99 hours, STOP and
then START (and look at the REXX code in Change 29.101
that will synchronize your MONWRITE data to the hour.)
and thus lose only that one midnight interval.
Thanks to Kim Morrell, Royal Canadian Mounted Police, CANADA
Change 32.241 Back-Level EXITCICS V1 caused ERROR: DB2 INPUT STATEMENT
VMACDB2H EXCEEDED error (LENLEFT=4,QWHSTYP=8) and QWHUCPU/QWHUCNT
Oct 20, 2014 fields contain text: QWHUCPU='000000'X!!'BCDIC', and the
incorrect decompression in V1 also caused INVALID DISTRIB
HEADER messages (but DB2 APAR PM32425 was installed).
All errors were eliminated using the current EXITCICS V3.
However, protection is added for the EXCEEDED error.
On z/OS, EXITCICS decompresses the record before the SAS
INPUT statement, so a hex dump of the input record will
be the uncompressed record, but on ASCII, where MXGDECOM
must be used, after the record has been INPUT, a hex dump
will be of the compressed records. See comments in both
VMAC110 and VMACDB2 to get an uncompressed hex dump.
Thanks to Paul Maradin, HP, USA.
====== Changes thru 32.240 were in MXG 32.10 dated Oct 16, 2014=========
Change 32.240 First 32.10. INPUT EXCEEDED z/OS 2.1 SMF 6 Printway with
VMAC6 URI but no Accounting fields was not expected, but now is
Oct 16, 2014 protected.
Thanks to Jennifer D. Ayers, West Virginia State Government, USA.
Change 32.239 WebSphere SMF 120 Dataset TYP1209E had observations with
VMAC120 a negative DELTA120TM that should not have been output.
Oct 15, 2014 They are first instances of a by group, so no deaccum is
possible, but the test "IF DELTA120TM GT ." was true for
a negative. "IF DELTA120TM GT 0" is the required test.
Thanks to Wayne Bell, UniGroup, USA.
Change 32.238 Support "ALL" Tandem Measure records in a single file.
IHDRTAND This new support reads the //TANDALL DD, which can be
TYPETAND the ALL record file using this JCL:
TYPETANX // EXEC MXGSAS
TYPSTAND //PDB DD DSN=YOUR.OUTPUT.TANDEM.PDB,DISP=. . . .
TYPSTANX //TANDALL DD DSN=YOUR.TANDEM.ALL.INPUT,DISP=SHR
VMACTAND //SYSIN DD *
VMACTANX %INCLUDE SOURCLIB(TYPSTAND);
VMXGINIT or can be the individual "TYPE" files, concatenated:
Oct 12, 2014 //TANDALL DD DSN=YOUR.TANDEM.CPU.FILE,DISP=SHR
Oct 16, 2014 // DD DSN=YOUR.TANDEM.DISC.FILE,DISP=SHR
// DD DSN=YOUR.TANDEM.PROC.FILE,DISP=SHR
//SYSIN DD *
%INCLUDE SOURCLIB(TYPSTAND);
The CPU, DISC and PROC types (LOADID) have been tested.
-The "TAND" Header Exit IHDRTAND invokes &MACTANH which
can be used to select which record types are output:
%LET MACTANH= %QUOTE( IF LOADID='CPU'; );
%INCLUDE SOURCLIB(TYPSTAND);
(If the original multiple-file-name program is still
needed, use TYPETANX or TYPSTANX.)
Thanks to Paul Bennett, Euroclear, BELGIUM
====== Changes thru 32.237 were in MXG 32.10 dated Oct 10, 2014=========
Change 32.237 New variables added to ASUMDBSS for DBAT analysis:
VMXGDBSS ID= qdstnads qdstnard qdstqcit
Oct 10, 2014 MIN=qdstnqmn
MAX=qdstnccw qdstnqmx qdstnqav qdstmard
SUM=qdstnqsc
Thanks to Wayne Bell, UniGroup, USA.
Change 32.236 -InfoPrint/Printway SMF 6 SUBSYS='TCPE' Extended Mode File
IMAC6ESS Transfer INDC=7 variables PAGECNT/NRLINES/OUTDEVCE are
VMAC6 zero/zero/blank as noted in the SMF Manual.
Oct 9, 2014 -Variable SMF6URI (VMAC6) was increased from $64 to $128.
Oct 16, 2014 -Variable ESSFSSDT (IMAC6ESS) increased from $67 to $128.
-New in z/OS 2.1, the JOB Accounting fields in SMF6ACCT
are now decoded and NRACCTFL, ACCOUNTn, and LENACCTn
variables are created in TYPE6 dataset. Both BUILD005 and
BUIL3005 are also updated to use those values to populate
the existing account variables in PDB.PRINT when no 30-1,
30-5, and no type 26 records were found.
SEE CHANGE 32.240, in MXG 32.10 re-dated Oct 16, 2014.
Thanks to Teuvo Virsu, TIETO, FINLAND.
Change 32.235 Variable QWOBJNAM is now kept in MQMACCTQ dataset.
VMAC116
Oct 7, 2014
Change 32.234 The _IDaaaa=512 detection did not work correctly; all of
VMACXXXX Changes 32.224, 32.221, 32.198, 32.180 and 32.149 that
Oct 7, 2014 attempted to detect the un-changed default are removed.
Processing a USER SMF with the default MACRO _IDaaaa will
create zero obs in those datasets, as was always the case
previously. This attempt to alert the user why they had
zero obs could cause ALL of the USER SMF datasets to have
zero observations, so it has been removed.
The primary culprit was my choice to include the TMNT
USER SMF record in the default BUILDPDB/UTILBLDP, even
when you had not asked for it. And the circumvention
if you get the _IDTMNT unchanged log message, is to
request the VMACTMNT from MXG 32.10 to circumvent,
or to install MXG 32.10.
Change 32.233 Netview INPUT STATEMENT EXCEEDED for SUBTYPE=3 because I
VMAC38 thought S38DSOSN, active spans, described the length of
Oct 7, 2014 S38DSOSP, but it does not; code was revised.
Thanks to Coen Wessels, IBM, Switzerland.
Thanks to Pierre Beda, IBM, Switzerland.
Change 32.232 Variables SMF92MSZ and SMF92USZ are MGBYTES formatted.
VMAC92
Oct 2, 2014
Change 32.231 Support for DB2 V11 IFCID 225 IRLM STORAGE INFORMATION in
VMACDB2 new section 6 adds these variables to DB2STATS dataset:
Sep 30, 2014 QW0225I_ABCSA /*CURRENT*USED 64-BIT*COMMON*/
QW0225I_ABCSH /*HWM*FOR 64-BIT COMMON*/
QW0225I_BBPVT /*CURRENT*USED 31-BIT*IRLM*PRIVATE*
QW0225I_BBPVH /*HWM FOR*31-BIT IRLM*PRIVATE*/
QW0225I_ABPVT /*CURRENT*USED 64-BIT*IRLM*PRIVATE*
QW0225I_ABPVH /*HWM FOR*64-BIT IRLM*PRIVATE*/
QW0225I_BBECSA /*CURRENT*USED*ECSA IRLM*POOLS*/
QW0225I_BBECSAH /*ECSA*HWM*IRLM*POOLS*/
QW0225I_BPMAX /*THRESHOLD*31-BIT*IRLM*NORMAL*/
QW0225I_APMAX /*THRESHOLD*64-BIT*IRLM*NORMAL*/
and QW0225DMH is now correctly INPUT for DB2 V11 when it
exists.
Thanks to Ralph C. Baechle, Deere & Company, USA.
Thanks to Kerry Sommers, Deere & Company, USA.
Change 32.230 Undocumented 81-byte SMF14STY=01 segment caused remaining
VMAC1415 segments to be skipped. SMF Manual only documents 80.
Sep 29, 2014 Extra byte now input into SMF14UNK while IBM queried, and
all SMF14STY segments are now protected using SMF30ESL to
skip future new bytes, documented or undocumented.
Thanks to Carl D. Ellis, Wells Fargo, USA.
Change 32.229 -Only these NDM _SNDMxxx are PROC SORTs with NODUP to PDB:
VMACNDM CS/CF/EI/FA/JX/DS/MF/PE/PK/QE/RE/RO/S2/SC/SD/SH/SY/TR/TX
Sep 29, 2014 and CT. All other _SNDMxxx had a DATA step that copied
Oct 5, 2014 to //PDB, but that doesn't propagate the Dataset Label,
Oct 7, 2014 nor remove duplicates. (I use a DATA step instead of SORT
Oct 9, 2014 in an _Sdddddd sort macro when I don't have any data, so
I can't validate the BY list for the NODUP removal. When
a customer provides data, I validate the BY list and use
the PROC SORT NODUP in place of the DATA step.) But, the
BY list CAN be built from MXG code, so this was done and
all NDM _Sdddddd sort macros now use PROC SORT.
-The table in comments in VMACNDM was updated to identify
the datasets that have been populated with observations.
-These datasets _SNDMxxx were updated, but they all still
have zero observations, so their new BY list has not been
data-validated for NODUP:
CS CX GF HW HW2 CS EI JX LS MF PE PX RE RO S2 SC SH
ST TP TR TX
(If you have obs in these datasets, you can use the
UTILNODU program to confirm my BY list is sufficient,
or send your SMF data to support for examination.)
-Variables added to the NDMCT dataset:
NDMZFBA1='ZFBA*DEVICE*RANGE*ONE'
NDMZFBA2='ZFBA*DEVICE*RANGE*TWO'
NDMZFBA1='SEND*ZLIB*VERSION'
NDMZFBA2='RECV*ZLIB*VERSION'
-Dataset NDMPT variables NDMSUBJOB/NDMSUBJID were always
blank because the MXG logic for the Extension segment
was not correct. But there are new PT fields that are
NOT documented in the DSECT, in particular, PTDSNAME and
several character and numeric fields now INPUT in new
PTUNCHx and PTUNNRy character and numeric variables until
updated documentation is available.
Thanks to Randy Hewitt, HP, CANADA.
Change 32.228 Only 240 characters of IMS Log Input Message, MSGTEXT,
VMACIMS were kept, but that text can be much longer and may be
Sep 27, 2014 needed to identify your IMS Mobile Workload transactions.
So INPUT MSGTEXT $VARYING32000 MSGLEN @; is now used, but
with LENGTH MSGTEXT $240 added to keep the same length.
So if YOU do need to access data in MSGTEXT, you would
tailor the EXIMS01/EXIMS01M dataset exit members to test
the text and could use existing SMSGTEXT variable ($40)
for your flag, perhaps with logic like this:
IF INDEX(MSGTEXT,'MOBILE') GT 0 THEN SMSGTEXT='MOB';
before the OUTPUT statement in those EXdddddd members.
Or, you could create your own variable in those exits:
LABEL MYTEXT='ALL*32000*BYTES OF*MSGTEXT';
MYTEXT=SUBSTR(MSGTEXT,1,32000);
and then use
%LET MACKEEP= MACRO _KIMS01 MYTEXT %
MACRO _KIMS01M MYTEXT % ;
to add variable MYTEXT to each of those datasets.
Variable MSGSZIN is the actual MSGLEN of MSGTEXT.
Change 32.227 The ENDTIME in the last obs in NMONINTV can had a value
VMACNMON 12 hours later than actual, when there were BBBP records
Sep 26, 2014 after the last ZZZZ, because MXG code incorrectly updated
ENDTIME when it should have updated variable BBBPEND049.
Thanks to Xiaobo Zhang, FIServ, USA.
Change 32.226 SPINCNT SPINUOW and TIMEDIF were not correctly created
UTILBLDP when BUILDPDB=YES was used; if they existed in your MXG
Sep 19, 2014 USERID.SOURCLIB, then they were correctly included, but
if they were only specified in your UTILBLDP text, the
default members in the SOURCLIB were used.
Thanks to Doug Medland, IBM Global Services, USA.
Change 32.225 -RMF III Date/Time selection enhancements, fixes,
ADOCRMFV and documentation upgrades.
ASMRMFV -New parameter WINDOW (alias WIN) allows selection of
JCLRMFV non-contiguous data by time range for multiple days
JCLCRMFV and is explained below.
JCLDRMFV -New parameter NOWINDOW (alias NOWIN) provides the
Sep 18, 2014 behavior of prior ASMRMFV versions in most cases and is
Sep 22, 2014 the default.
Nov 25, 2014 -New parameter DOW= allows RMF III data selection by day
of the week and is also explained below.
-The FROMTIME= value may now exceed TOTIME= value even for
a single day selection. This condition was previously
flagged as an error, but will now be handled as an
implicit WINDOW request.
-WINDOW/NOWINDOW processing and interaction with the
FROMDATE=, TODATE=, FROMTIME=, and TOTIME= parameters is
best explained with the following examples.
NOTE: ASMRMFV has always added 59.999999 seconds to all
TOTIMEs so that RMF Monitor III Sample Sets that begin in
any part of a final minute of a time range are selected.
For example, TOTIME=1559 becomes 15:59:59.999999 for data
selection purposes.
Case 1: FROMTIME= LE TOTIME= for a SINGLE day
and WINDOW or NOWINDOW (default) in effect
FROMDATE=01OCT2014 TODATE=01OCT2014
FROMTIME=0800 TOTIME=1559
| 01 OCT 2014 |
| Select |
+-------<======>-------+
0 0 1 0
0 8 5 0
: : : :
0 0 5 0
0 0 9 0
Case 2: FROMTIME= GT TOTIME= for a SINGLE day
and WINDOW or NOWINDOW (default) in effect
This is a NEW behavior previously an error.
FROMDATE=01OCT2014 TODATE=01OCT2014
FROMTIME=1600 TOTIME=0759
| 01 OCT 2014 |
|Select Select|
<======>--------<======>
0 0 1 2
0 7 6 3
: : : :
0 5 0 5
0 9 0 9
Case 3: FROMTIME= LE TOTIME= for MULTIPLE days and
NOWINDOW (default) in effect
FROMDATE=01OCT2014 TODATE=03OCT2014 NOWINDOW
FROMTIME=0800 TOTIME=1559
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
| Select | Select | Select |
+-----<===========|=================|===========>-----+
0 0 1 0 0 1 0 0 1 0
0 8 5 0 8 5 0 8 5 0
: : : : : : : : : :
0 0 5 0 0 5 0 0 5 0
0 0 9 0 0 9 0 0 9 0
Case 4: FROMTIME= LE TOTIME= for MULTIPLE days and
WINDOW in effect. This is a NEW behavior.
FROMDATE=01OCT2014 TODATE=03OCT2014 WINDOW
FROMTIME=0800 TOTIME=1559
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
| Select | Select | Select |
+-----<=====>-----|-----<=====>-----|-----<=====>-----|
0 0 1 0 0 1 0 0 1 0
0 8 5 0 8 5 0 8 5 0
: : : : : : : : : :
0 0 5 0 0 5 0 0 5 0
0 0 9 0 0 9 0 0 9 0
Case 5: FROMTIME= GT TOTIME= for MULTIPLE days and
NOWINDOW (default) in effect
FROMDATE=01OCT2014 TODATE=03OCT2014 NOWINDOW
FROMTIME=1600 TOTIME=0759
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
| Select| Select | Select |
+-----+----<======|=================|=====>-----+-----+
0 0 1 0 0 1 0 0 1 0
0 8 6 0 8 6 0 7 6 0
: : : : : : : : : :
0 0 0 0 0 0 0 5 0 0
0 0 0 0 0 0 0 9 0 0
Case 6: FROMTIME= GT TOTIME= for MULTIPLE days and
WINDOW in effect. This is a NEW behavior.
FROMDATE=01OCT2014 TODATE=03OCT2014 WINDOW
FROMTIME=1600 TOTIME=0759
| 01 OCT 2014 | 02 OCT 2014 | 03 OCT 2014 |
|Select Select Select Select|
<=====>-----<=====|=====>-----<=====|=====>-----<=====>
0 0 1 0 0 1 0 0 1 2
0 7 6 0 7 6 0 7 6 3
: : : : : : : : : :
0 5 0 0 5 0 0 5 0 5
0 9 0 0 9 0 0 9 0 9
-See the documentation in ASMRMFV or ADOCRMFV members for
more details on WINDOW/NOWINDOW.
-Five more examples have been added to each of the
JCLRMFV, JCLCRMFV, and JCLDRMFV sample JCL members
showing use of the new WINDOW parameter.
-Filter messages RMFV006I can now appear as multiple pairs
showing begin and end time stamps with one set for each
day when WINDOW is in effect. Prior to this change only
one pair was possible per RMF III data set processed.
-However, if the number of days between FROMDATE= and
TODATE= exceeds 15 only one RMFV006I pair will be shown
to avoid CPU overhead and excessive log message volume.
Actual filtering will still occur as requested.
-Filter message RMFV006I will now show the number of days
as DAYS= between the FROMDATE= and TODATE= values and
also the setting of the WINDOW/NOWINDOW option.
-ASMRMFV now uses 64-bit Grande z/Architecture
instructions in all 64 bit binary TOD date and time
calculations for better performance. Prior versions used
an older method with two 32 bit registers and
carry/borrow logic that was cumbersome with longer
instruction paths.
-Filter message RMFV006* (* = I or E) is now
multi-severity. When the FROMDATE= value exceeds the
TODATE= value then message RMFV006E will be issued. A
U0998 abend will then occur as in prior versions.
-The FINDGREG subroutine that determines the day of the
week (dow) for TOD values will retain the results of the
prior dow calculation and as a performance improvement
not repeat it if the date has not changed between
consecutive calls.
-Relative date selection will now allow up to
FROMDATE=*-999 or TODATE=*-999 for date backup values.
Previously 99 was the limit. However, the need for this
larger limit should be extremely rare as 999 days is
about 2.7 years.
-New option SHOWSAMP (alias SS) will display the begin and
end timestamps for each RMF Monitor III Sample Set
selected. SHOWSAMP is intended for diagnostic use and
possible user testing with the new WINDOW or DOW=
parameters to verify date and time selection is as
desired.
NOTE: SHOWSAMP is not appropriate for routine production
use due to TOD conversion overhead for each Sample Set
and ASMRMFV log output volume.
-When SHOWSAMP is in effect a pair of new messages
RMFV039I are issued showing Sample Set begin and end
timestamps and the Sample Set number (1-1110).
-New option NOSHOWSAMP (alias NOSS) is the default and
provides the same ASMRMFV behavior as before with no
RMFV039I messages issued. Normally there should be no
need to code this option.
-Options display message RMFV037I will show the setting of
SHOWSAMP/NOSHOWSAMP.
-Documentation in ASMRMFV and ADOCRMFV members has been
updated to include details on WINDOW/NOWINDOW,
SHOWSAMP/NOSHOWSAMP parameters as well as for messages
RMFV006*, RMFV037I, and RMFV039I.
-A new DOW= parameter allows optional RMF III data
selection based on the day of the week. DOW= will be
mainly useful for ad hoc studies where only activity on a
certain set of days is of interest.
-DOW= is coded as DOW=value where value uses one of these
formats:
dow dow:dow WEEKDAYS WEEKENDS ALL
dow is a 3 character day of the week:
SUN MON TUE WED THU FRI SAT
: is a range operator indicating selection of a group of
consecutive days including the first and last dow in the
range and all days in between.
The range will automatically wrap as needed to the start
of a week on Sunday so that DOW=FRI:MON is perfectly
valid selecting FRI, SAT, SUN, and MON.
Coding DOW=WEEKDAYS (or a value alias) is equivalent to
coding DOW=MON:FRI . Value Alias(es) for WEEKDAYS are:
WD, WEEKD, WEEKDA, WEEKDAY
Coding DOW=WEEKENDS (or a value alias) is equivalent to
coding DOW=SAT:SUN . Value Alias(es) for WEEKENDS are:
WE, WEEKE, WEEKEN, WEEKEND
Coding DOW=ALL is equivalent to coding DOW=SUN:SAT and no
filtering occurs. DOW=ALL is the default and so should
not needed to be coded.
-NOTE: DOW= filtering slightly increases CPU overhead as
conversion of the 64 bit binary TOD microseconds value to
a day of the week occurs for both the RMF III Data Set
Header (DSH) and Sample Set Header (SSH) tables.
-However, dow determination is not repeated for
consecutive table TOD values for the same date.
-DOW filtering is applied AFTER all FROMDATE=, TODATE=,
FROMTIME=, TOTIME=, and WINDOW data/time filters are
applied.
-DOW= may be combined with one or more of the
these existing date/time selection parameters or may be
used exclusively by itself.
-DOW= usage examples:
Parameter Selects RMF III Sample Sets for
--------- -------------------------------
DOW=MON:FRI MON, TUE, WED, THU, FRI
DOW=WD MON, TUE, WED, THU, FRI
DOW=SAT:SUN SAT, SUN
DOW=WE SAT, SUN
DOW=ALL SUN, MON, TUE, WED, THU, FRI, SAT
DOW=SUN:SAT SUN, MON, TUE, WED, THU, FRI, SAT
DOW=FRI:MON FRI, SAT, SUN, MON (dow wraps)
DOW=WED WED only
DOW=MON DOW=WED DOW=FRI MON, WED, FRI only
DOW=MON:TUE DOW=THU:FRI MON, TUE, THU, FRI only
-Filter display message RMFV006I will show the setting of
the DOW= filter.
-Six more examples have been added to each of the
JCLRMFV, JCLCRMFV, and JCLDRMFV sample JCL members
showing use of the new DOW= parameter.
-Documentation in ASMRMFV and ADOCRMFV members has been
added to discuss the DOW= parameter in detail.
-Null (blank) values for keyword=value type ASMRMFV
parameters are now allowed. The parameter is ignored.
For example, FROMDATE= is accepted with no change in the
FROMDATE occurring. Previously zero length keyword
values were flagged as an error.
-This feature allows users to provide these keywords in
templates for a possible future addition of an actual
value. Also existing keywords can now be nullified by
just setting the value to blanks rather than removing
the entire keyword.
-Multi-severity messages RMFV051* through RMFV055* (* = I,
W, or E) have been updated for consistency and alignment
with message RMFV008I for the DSN value.
-A new subroutine WRITESEP will now handle the generation
of separator lines used to delineate sections of the
ASMRMFV log for visibility. Prior to this every message
id was checked in the WRITEPRT subroutine for separator
eligibility before the message was issued. Now WRITESEP
will be called only as needed for specific messages.
-A separator line will now be written prior to the final
RMFV999I message for better visibility of important
ASMRMFV final results.
-Entries in Section 2 "Terminology" in ASMRMFV
documentation have been alphabetized and a few new
entries added.
-All examples in the JCLRMFV, JCLCRMFV, and JCLDRMFV
sample JCL members that use date/time parameters now
include a small diagram that visually shows what time
frames are selected.
-The RMFV014I RMF III data set bypass message has been
reformatted for better clarity and will now indicate
whether the data set is excluded due to date/time or DOW=
filters.
-A new RMFV014W warning message is issued at the end of
processing if ALL RMF III data sets have been bypassed
due to date/time and/or DOW= filtering.
-An invalid value for the DEVTYPE= or any *ERR= parameter
could allow ASMRMFV processing to continue instead of
abending as intended because the parameter error counter
was not being updated for these keywords.
-When multiple RMFV004E messages were issued due to
parameter errors it was possible some of the descriptive
problem text could be garbled.
-Julian years before 2000 in FROMDATE= or TODATE= were
not flagged as errors when they should have been.
-Message RMFV008I Descriptor Code overlaid when issued
as a WTO by the WTO option.
-Messages RMFV017I and RMFV038I should not be issued as
WTOs when the WTO option is in effect.
-DOW table entries were not blanked if DOW=ALL coded.
-NOTE: When the WTO option is coded it should be the
FIRST parameter in the JCL PARM= field or in SYSIN (if
no JCL PARM= field). Otherwise any errors for other
parameters will not be shown in JESMSGLG and JESYSMSG
until the WTO option is encountered.
-Documentation in ASMRMFV and ADOCRMFV members has been
updated as appropriate for the above changes.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
-Nov 25: Discovered the TODAY selection did not work
correctly, made the correction, and redated ASMRMFV.
This error was ONLY in the original 32.225 dated 9/22.
Change 32.224 The _IDaaaa=512 protection added in Change 32.198/180/149
VMACXXXX costs 10 CPU secs per 20,000,000 records, caused by the
Sep 16, 2014 statement ELSE IF LENGTH(COMPRESS(_IDaaaa)) that tests
Sep 29, 2014 the value of the old-style macro _IDaaaa for 512 and also
supports the "512 OR ID=513" multi-IDs syntax. That
statement causes a NUMERIC to CHARACTER conversion, for
each record, EVEN for the EXPECTED case where _IDaaaa has
been defined (when the ELSE clause is NOT even executed).
Since the "512" test only benefits "newbies" who didn't
find the doc to define their _IDaaaa macro, it certainly
should NOT cost "oldbies" who knew what to do. That 512
default value is only defined internally in MXG VMACaaaa
members, so by changing the MXG default ID value for all
USER SMF records from 512 to a MISSING VALUE, i.e., using
MACRO _IDaaaa . % as the internal default definition, the
test now uses the MISSING(_IDaaaa) function to detect and
tell this new user why all the datasets have zero obs,
and how to correct. And since no conversion is involved,
old users see no increase: the MISSING function cost 0.08
CPU secs per 20,000,000 records.
SEE CHANGE 32.234.
Thanks to MP Welch, Bank of America, USA.
Change 32.223 Update for MainView for MQ Version 5.2.
VMACBBMQ Changes are COMPATIBLE, MANY new variables.
Sep 16, 2014 -New variables added to BBMQQMGR (RTIN='E1'x) dataset:
Dec 11, 2014 PARM1 PARM2 QMCERTLBL QMCHLAUTH QMCONNAUTH
Dec 18, 2014 QMCRTVALPOL QMDEFCLXQ QMGRPUR QMICBC QMICBR
Jan 2, 2014 QMICTLC QMICTLR QMIPUBSC QMIPUBSR QMISTUSC
QMISTUSR QMISUBC QMISUBR QMISUBRC QMISUBRR
QMMAXUMSG QMPSCLUS QMQSGCRTLBL QMRCBC QMRCBR
QMRCTLC QMRCTLR QMREVDNS QMRPUBSC QMRPUBSR
QMRSTUSC QMRSTUSR QMRSUBC QMRSUBR QMRSUBRC
QMRSUBRR QMSCBC QMSCBR QMSCTLC QMSCTLR
QMSPLCAP QMSPUBSC QMSPUBSR QMSSTUSC QMSSTUSR
QMSSUBC QMSSUBR QMSSUBRC QMSSUBRR QMSTRDATE
QMSTRTIME QMSUITEB
-New variables added to BBMQBUFF (RTIN='E2'x) dataset:
SBPLOC SBPPGCLS
-New variables added to BBMQPAGE (RTIN='E3'x) dataset:
SPSEXPNDT SPSPADC1 SPSBPID SPSPSIDX SPSRBAV8 SPSRBA2V8
-New variables added to BBMQLMGR (RTIN='E4'x) dataset:
LMDATASETNM1 LMDATASETNM2 LMFULLLOGS LMICMPB LMICMPBR
LMICMPF LMICMPFR LMICMPR LMICMPRR LMIDCMP LMIDCMPR
LMIDECF LMIDECFR LMIDECR LMIDECRR LMIDUCMP LMIDUCMPR
LMIUCMP LMIUCMPR LMLGSUSPND LMLOGCOPYNM1 LMLOGCOPYNM2
LMMRCRBA LMOFLOSTA LMQMSRBA LMRCMPB LMRCMPBR LMRCMPF
LMRCMPFR LMRCMPR LMRCMPRR LMRDCMP LMRDCMPR LMRDECF
LMRDECFR LMRDECR LMRDECRR LMRDUCMP LMRDUCMPR LMRUCMP
LMRUCMPR LMSCMPB LMSCMPBR LMSCMPF LMSCMPFR LMSCMPR
LMSCMPRR LMSDCMP LMSDCMPR LMSDECF LMSDECFR LMSDECR
LMSDECRR LMSDUCMP LMSDUCMPR LMSUCMP LMSUCMPR
LMTOTALLOGS
-New variables added to BBMQCHAN (RTIN='E5'x) dataset:
CHLRVER CHLCRTLBL
-New variables added to BBMQQUES (RTIN='E6'x) dataset:
QSBACKD QSBACKT QSCBD QSCBT QSCMITD QSCMITT
QSCTLD QSCTLT QSFBACKD QSFBACKT QSFCBD QSFCBT
QSFCMITD QSFCMITT QSFCTLD QSFCTLT QSFINQD QSFINQT
QSFPUT1D QSFPUT1T QSFSETD QSFSETT QSFSTATD QSFSTATT
QSFSUBD QSFSUBT QSIBOCPU QSIBOELA QSICCPU QSICELA
QSICMCPU QSICMELA QSIGCPU QSIGELA QSIICPU QSIIELA
QSIMAXOI QSIMAXOO QSIMAXOT QSINQD QSINQT QSIOCPU
QSIOELA QSIP1CPU QSIP1ELA QSIPCPU QSIPELA QSISBACK
QSISBCKR QSISBCPU QSISBELA QSISCB QSISCMIT QSISCMTR
QSISCPU QSISCTL QSISELA QSISINQ QSISSET QSISSTAT
QSISSUB QSITFGET QSIUBACK QSIUBCKR QSIUCB QSIUCMIT
QSIUCMTR QSIUCTL QSIUINQ QSIUSET QSIUSTAT QSIUSUB
QSPUT1D QSPUT1T QSRBOCPU QSRBOELA QSRCCPU QSRCELA
QSRCMCPU QSRCMELA QSRGCPU QSRGELA QSRICPU QSRIELA
QSROCPU QSROELA QSRP1CPU QSRP1ELA QSRPCPU QSRPELA
QSRSBACK QSRSBCPU QSRSBELA QSRSCB QSRSCMIT QSRSCPU
QSRSCTL QSRSELA QSRSINQ QSRSSET QSRSSTAT QSRSSUB
QSRSTCKG QSRSTCKP QSRTFGET QSRUBACK QSRUCB QSRUCMIT
QSRUCTL QSRUINQ QSRUSET QSRUSTAT QSRUSUB QSSBOCPU
QSSBOELA QSSCCPU QSSCELA QSSCMCPU QSSCMELA QSSETD
QSSETT QSSGCPU QSSGELA QSSICPU QSSIELA QSSMAXOI
QSSMAXOO QSSMAXOT QSSOCPU QSSOELA QSSP1CPU QSSP1ELA
QSSPCPU QSSPELA QSSSBACK QSSSBCKR QSSSBCPU QSSSBELA
QSSSCB QSSSCMIT QSSSCMTR QSSSCPU QSSSCTL QSSSELA
QSSSINQ QSSSSET QSSSSTAT QSSSSUB QSSTATD QSSTATT
QSSTFGET QSSUBACK QSSUBCKR QSSUBD QSSUBT QSSUCB
QSSUCMIT QSSUCMTR QSSUCTL QSSUINQ QSSUSET QSSUSTAT
QSSUSUB
-New variables added to BBMQCFAC (RTIN='E8'x) dataset:
CFBERBA2 CFBSRBA2 CFCONLOS CFDSBLK CFDSBUFS CFDSEXPN
CFDSGRP CFLOGS CFOFFLDU CFOFL1S CFOFL1T CFOFL2S CFOFL2T
CFOFL3S CFOFL3T CFOFLD CFPARM CFQSYN CFRECAUT
-New variables added to BBMQAPPL (RTIN='E9'x) dataset:
APSSTCKB
-Occasional compressed records were found in uncompressed
data files, so the previous STOP on compressed record is
replaced by a RETURN so the non-compressed records after
a compressed record will be processed.
-All records have VERSREL=6.1, but their VERSION IS 5.2.
-Dec 10 Revisions: Records E1x/E5x/E6x don't have all of
the fields in the DSECT, causing INPUT STATEMENT EXCEED;
logic was inserted to read only what's there, but record
E4x's eyecatcher is @89 while all other record's is found
@85, and E4x record has ENTL=1192 but data visibly shows
the repeated segment length is only 1136. Hardcoded
circumvention for these two inconsistencies.
Interspersed Compressed records in an uncompressed file
are still skipped, but new message prints the first 25
so you can see the pattern of these records.
-BMC found that PTF BPL2290 caused problems with history
record decompression; BPL 2430 fixes for MVMQ 5.1 and
BPL2429 fixes for MVMQ 5.2
-Jan 2, 2015: After Installing BMC Mainview PTF's BPL2427
and BPL2430, 753 (out of 1003) 'E6' records were missing
the last four bytes of the last segment, with 2596 vice
2600 bytes visible in that last segment. These short
records are now detected and reported but that last
segment will be lost until a subsequent PTF corrects.
Thanks to James S. Swinarski, Credit Suisse, USA.
Change 32.222 IMS56FA log record is not output if NMSGPROC is missing,
TYPEIMST but that MXG decision is now rescinded, and all IMS 56FA
Sep 15,2014 records are output, having found pairs of records for
some transactions, with the second record having a small
amount of CPU time (1st 1265 microsec, 2nd 238 microsec)
and elapsed/service time, but CALLMSGU=0 so NMSGPROC=.
All of these second records have TCPCFLGS='01'x which is
a "TERM THREAD SYNCPOINT" reason for the record, so I
presume the second record is the CPU time associated with
the SYNCPOINT and is output so that time is not lost.
Now, you must use NMSGPROC to count transactions, as the
second syncpoint records are not a new transaction.
Note: the test for NMSGPROC GT 0 is in the MACRO _EIMS56G
overridden in comments in TYPEIMST, so you will need to
delete that macro in the SYSIN in your TYPE56FA job.
Change 32.221 Erroneous "_IDSYNC not set" message for SYNCSORT User SMF
VMACSYNC record processing when MACRO _SYNCID nnn % was specified.
Sep 14, 2014 That new message only tested _IDSYNC, but the original
_ID macro for SYNCSORT was _SYNCID, which is still valid.
Some early USER SMF _IDaaaa macros syntax was _aaaaID
but the "standard" is now _IDaaaa so those with the old
_aaaaID were enhanced to support either _ID macro name,
but the new "_ID=512" protection didn't support both of
the SYNCSort macro names. Now supports either syntax.
SEE CHANGE 32.234.
Thanks to Betty Wong, Bank of America, USA.
Change 32.220 -Documentation revised for TRENDing. MONTHLY was never a
BLDSMPDB valid interval value and has been removed from comments.
VMXGALOC -You can now suppress the creation of the DB2 and CICS
Sep 10, 2014 directories by specifying DB2KEEP=0 and/or CICSKEEP=0.
Sep 25, 2014 -New parameters BASECICS and BASEDB2 will allow you to
route DB2 and/or CICS datasets to a different drive.
Change 32.219 TMON/CICS variables TAUSRWCT and TAUSRWTM were reversed.
VMACTMO2
Sep 9, 2014
Thanks to Michael Oujesky, DTCC, USA.
====== Changes thru 32.218 were in MXG 32.09 dated Sep 9, 2014=========
Change 32.218 -BVIRVERS=04, dataset BVIR301 values were wrong due to two
VMACBVIR fields not INPUT for that Hydra version.
Sep 9, 2014 -DO Loop variable _I_ is replaced by kept variables
Sep 25, 2014 CACHEPARTNR created in BVIR301
TDUCONTNR created in BVIR321
CSPNR created in BVIR322
to identify the segment number
-DVAVDTMB/WRMB/RDMB now multiplied by 1048576 vs 1058576.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.217 Support added for ODS TYPEs CSV CSVALL EXCEL and TAGSETS.
VMXGODSO Some thoughts on ODS: Initially, VMXGODSO was thought
Sep 7, 2014 to be a tool to make use of ODS features easy, but you
may do better learning the ODS command set. VMXGODSO
does work, but it does not touch all of the ODS issues
and features, and many ODS statements are not supported.
But it can be used for simple cases, like wrapping around
a PROC to send its output to a CSV or EXCEL file, or if
you want to send many reports to a single output, a PDF
for example.
So you could use VMXGODSO, externally, to run GRAFWRKX
and GRAFCEC and send both ODS plots to a single PDF:
%VMXGODSO(ODSTYPE=PDF,FILE=c:\mxg\daily.pdf);
%GRAFWRKX:
%GRAFCEC;
RUN;
%VMXGODSC;
RUN;
and not use the parameters for ODS built into those
GRAFXXXX macros.
Change 32.216 Cosmetic. Some unneeded MXGNOTES are suppressed, unless
VMXGOPTR %LET MXGEXIMSG=YES; enables them for diagnostics.
Sep 7, 2014
Change 32.215 Zero observations in TYPEZOSA dataset because the test
VMACZOSA for ZOSATYPE=32 should have been ZOSATYPE=50.
Sep 6, 2014 The test for invalid ZOSAXDLN is again bypassed.
Thanks to Jerome Vitner, EXPERIAN, ENGLAND.
Change 32.214 DB2 V10 variable QW0225DMH is now INPUT and QW0225AR is
VMACDB2 now INPUT for DB2 V11. See Change 32.231.
Sep 3, 2014
Thanks to Kerry Sommers, Deere & Company, USA.
Change 32.213 -WARNING: MULTIPLE LENGTHS FOR VARIABLE X1 in ANALDB2R
ANALDB2R is not new; the X1 that shouldn't have been there isn't.
Sep 1, 2014
Change 32.212 MXGTMNT ML-54 monitor expands: a new subtask that COPIES
ASMTAPEE System-level information each SMF interval, writing new
EXTMNAS1 subtypes of the existing TMNT SMF record, synchronized.
EXTMNAS2 The subtask does not "monitor" the system, but sleeps
EXTMNSYQ until awoken at each interval end, reads EXISTING data
IMACTMNT fields and writes them to SMF, and goes back to sleep.
VMACTMNT This FIRST use of the ML-54 "SYSTEM" subtask captures two
VMXGINIT sets of data:
Sep 9, 2014 - ASM Page Data Set SLOT usage, with total, and by ASID
- MSU used by each IMPORTANCE level, IWMWSYSQ data.
Two new subtypes create these three new datasets:
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL SUBTYPE
TMNAS1 TYPEASMT MXG SYSTEM ASM PAGE DATA SET SLOTS TOT 10
High Virtual counts: Frames in Use, Shared AUX
for Non-VIO, for AUX, and for AUX for SCM,
Common Aux, Common AUX SCM, Common in USE.
Shared Non-VIO, Shared AUX, SHARED AUX SCM,
Frames in use, Shared Non-VIO/High Virt Shared
High Virt AUX SCM, Shared Non-VIO/High Virtual
Aux, HV AUX SDM
TMNAS2 TYPEASMA MXG SYSTEM ASM PAGE DATA SET SLOT ASID 10
Frames in Use, VIO/non-VIO slots, High
Virtual AUX Slots for each ASID.
TMNSYQ TYPESYSQ MXG SYSTEM WLM PERF/CAPACITY IWMWSYSQ 11
MSU consumed last 60, 180, 600 seconds
by each Importance Level and Unused MSU,
Free CSA & free ECSA, and SU_SEC value.
-ASM subtask is a per-system monitor and must be enabled
on ALL systems, creating records on all systems.
-SYSQ subtask is a sysplex-wide monitor, so it should only
be enabled on one SYSTEM in each SYSPLEX; duplicate data
would be created if enabled on multiple systems within a
SYSPLEX. However, the number of SYSQ SMF records is very
small, one per system per SMF interval, so you may want
to enable SYSQ to write records on each system, so that
you have the identical ASMTAPEE/MXGTMNT on each SYSTEM,
and remove the duplicate SYSQ using EXTYSYSQ exit member
when you read the SYSQ SMF records.
-The ASM and SYSQ subtasks are enabled by default in ML-54
ASMTAPEE, by adding them to OPTIONS2, but they can be
disabled by removing them from OPTIONS2, or thru PARMs
on the // EXEC PGM=MXGTMNT statement, or thru MODIFY
commands issued from the console.
Full documentation is in the comments in ASMTAPEE.
Change 32.211 Cosmetic. Variable PAGETYPE='SCM' is set when SCMPGTYP
VMAC75 is true, replacing a blank value in PAGETYPE.
Aug 28, 2014
Thanks to Douglas C. Walter, CitiCorp, USA.
Change 32.210 -Support for SMF 50 INCOMPATIBLE change in z/OS 2.1 that
EXTY501 inserted four bytes that corrupted all values after that
EXTY50R insertion in the TYPE50 dataset.
EXTY50W -Redesign of TYPE 50 support to create separate datasets
EXTY50I with only the relevant variables for that event, now that
EXTY50O I realize it is no longer a single purpose VTAM record!
EXTY503 These seven new datasets are created:
EXTY504 DDDDDD DATASET Description
IMAC50 TY501 TYPE501 01 CHANNEL TO CHANNEL
Table 52 Subtype 1
VMAC50 TY50R TYPE502R 02-02 READ MPCNAME
Table 53 Subtype 2
VMXGINIT TY50W TYPE502W 02-02 WRITE MPCNAME
Table 53 Subtype 2
AUG 28, 2014 TY50I TYPE504R 02-04 READ MPCNAME
Table 54 Subtype 2
TY50O TYPE504W 02-04 WRITE MPCNAME
Table 54 Subtype 2
TY503 TYPE503 03 TCP CONNECTION
Table 55 Subtype 3
TY504 TYPE504 04 SNA CONTROLLER
Table 51 Subtype 4
-Dataset TYPE50 will continue to be created for backwards
compatibility, but it is very messy with all possible
variables in every observation, so there are always lots
of variables with missing value; using these new datasets
will provide much simpler analysis.
Thanks to Jim Sherpey, Bank of America, USA.
Change 32.209 -Support for SMF 103 HTTP Apache Server 8.5.5.0 Subtype 13
EXTY103D and 14 create new datasets:
EXTY103D DDDDDD DATASET Description
IMAC103 TY130D TYPE130D HTTP PROCESS Thread Statistics
VMAC103 TY130E TYPE130E HTTP LOGGING REQUEST/RESPONSE
VMXGINIT The T103ELAP elapsed time units are not documented.
Aug 27, 2014 -APAR PI24782 reports subtype 14s are only written when
SMFLogDebug ON has been specified.
Thanks to Dave Moreau, Royal Bank of Canada, CANADA.
Change 32.208 New NDM-CDI CPU TIME variables added to NDMRT dataset:
VMACNDM NDMRTSID='SUBMITTER*JCTJOBID'
Aug 27, 2014 NDMRTSUB='SUBMITTER*JOB*NAME'
NDMRTCP0='RUN-TASK*CPU TIME*ON CP'
NDMRTCP1='RUN-TASK*CPU TIME*ON ZIIP'
NDMRTCP2='ZIIP*QUALIFIED*PART OF*NDMRTCP0'
Dataset NDMDT variables were removed that shouldn't have
been kept in that dataset, listed in comments in KEEP.
Thanks to Michael Oujesky, DTCC, USA.
Change 32.207 "WARNING: Value of QWHCXTYP WILL BE TRUNCATED" in ANAL116
FORMATS in PROC CHART is harmless and does NOT set a return code.
Aug 26, 2014 Format MG116TY for QWHCXTYP had one 18-character value,
but this PROC CHART decided it needed some of that space
for other things. But that format value was reduced to
16 characters so this error should not reoccur.
Change 32.206 PDBAUDIT code can set Return Code 4 due to this message:
PDBAUDIT "WARNING: Multiple lengths specified for the variable
Aug 26, 2014 MEMLABEL by input data set(s). This can cause
truncation of data."
but the message makes no sense; it is in a single data
step: DATA PDBAUDIT; LENGTH MEMLABEL $64; SET CONTENTS;
where CONTENTS was created from DICTIONARY.TABLES.
Removing that LENGTH statement from this step and adding
it in a subsequent new step to reset the MEMLABEL length
eliminates the warning and creates expected lengths.
Thanks to Robert B. Richards, OPM, USA.
Change 32.205 Preliminary update, revised by CHANGE 32.212.
VMAC50 SMF 50 VERSN50 04 new variables kept in TYPE50:
Aug 25, 2014 INBDNLPS='INBOUND*NLPS*INLP'
OUBDNLPS='OUTBOUND*NLPS*ONLP'
BYINNLPS='BYTES READ*FROM*INBOUND*NLPS*BFNLP'
SMF 50 VERSN50 02 new variables kept in TYPE50:
TY50SBCO='OSA-EXPRESS*SBAL*COUNT*OVERFLOW*READ Q'
TY50SBCT='OSA-EXPRESS*SBAL*COUNT*READ Q'
TY50EICO='OSA-EXPRESS*EARLY*INTER*OFLOW*COUNT READ Q'
TY50EICT='OSA-EXPRESS*EARLY*INTERRUPT*COUNT READ Q'
TY50E2CO='OSA-EXPRESS*EARLY*II INT OFLO*COUNT READ Q'
TY50E2CT='OSA-EXPRESS*EARLY*II INTERRUP*COUNT READ Q'
TY50PKCO='OSA-EXPRESS*PACKET*COUNT*OVERFLOW READ Q'
TY50PKCT='OSA-EXPRESS*PACKET*COUNT*READ Q'
TY50ACCO='OSA-EXPRESS*ACCEL*PKTCNT*OVERFLO*READ Q'
TY50ACCT='OSA-EXPRESS*ACCEL*PACKETCOUNT*READ Q'
TY50ACBO='OSA-EXPRESS*ACCEL*BYTE*OVERFLOW*READ Q'
TY50ACBT='OSA-EXPRESS*ACCEL*BYTE READ Q'
TY50NVCO='OSA-EXPRESS*INVALID*FRAME*OFLOW*READ Q'
TY50NVCT='OSA-EXPRESS*INVALID*FRAME*READ Q'
TY50RDQN='OSA-EXPRESS*READ*QUEUE*NAME'
-The record LENGTH is stored into LENTYP50 to identify
the old 262 byte or new 274 byte record.
Change 32.204 SMF 119 St 52 dataset TYP11952 variable JESDPERC field
VMAC119 length in the IP Programmers Guide and Reference was 8
Aug 24, 2014 which MXG used, but the offset of the next field was only
4 bytes, and SYS1.MACLIB(EZASMF77) had length 4, which
was confirmed by IBM Support, so these fields are now
correctly all input as length 4:
SMF119ML_HC_JESDPERC &PIB.4. /*PCT JES DEST TASKS BUSY*/
SMF119ML_HC_JESWUSED &PIB.4. /*JES WRITER TASKS BUSY*/
SMF119ML_HC_JESWPERC &PIB.4. /*PCT JES WRITER TASKS BUSY*/
SMF119ML_HC_MDIRPFREE &PIB.4./*PCT FS SPACE FREE SYSWIDE EXTRTY*/
SMF119ML_HC_MDIRPUSED &PIB.4./*PCT FS SPACE USED SYSWIDE*/
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 32.203 32.08 Only: two errors related to %ANALID / BUILDPDB:
ANALID ERROR: DATASET NOPRINT NOT FOUND
ONLYJOBS ERROR: THE REQUESTED TYPE OF VIEW (INPUT OR OUTPUT)
Aug 26, 2014 were corrected by this change in MXG 32.09, or they can
be circumvented with 32.08 by inserting in your //SYSIN:
%LET VMVMACID=;
-UTILBLDP with USERADD=ID that also had %ANALID statement
got ERROR: DATASET NOPRINT NOT FOUND because a second
execution of ANALID was not expected. The ONLYJOBS
invokes UTILBLDP, but it already had a %ANALID statement,
but Change 32.192 to UTILBLDP inserted a %ANALID
execution when USERADD=ID was specified, causing the
second execution. The %ANALID; statement is removed from
ONLYJOBS, and ANALID now bypasses the second or more
executions in the same data step/session by default to
avoid the error with an accidental second execution, by
setting a value of YES for the new macro variable
DONEANALID.
-It's unlikely you will need ANALID twice in the same
job-step, but if you do, you can bypass the MXG bypass
with %LET DONEANALID=; to set a blank value, before each
of your %ANALID executions.
-If you have a locally-tailored BUILDPDB SYSIN code that
invokes _RPDBID, and 32.08, its removal would avoid the
need for the circumvention to suppress the VIEW.
Thanks to Paul Maradin, HP, USA.
Thanks to MP Welch, Bank of America, USA.
Change 32.202 DB2 Trace SMF 102 IFCID 196 "MORE THAN 9 HOLDER/WAITER"
VMAC102 MXG WARNING log messages will only be printed for the
Aug 23, 2014 first three instances.
====== Changes thru 32.201 were in MXG 32.08 dated Aug 21, 2014=========
Change 32.201 -New parameter VARSINCL= lets you add non-ranked variables
ANALRANK to the report that is created. So (for example) if you
Aug 21, 2014 were ranking, JOBS based on CPUTM you could also see the
Sep 4, 2014 total EXCP and IOTM counts by specifying:
VARSINCL=EXCPTOTL IOTMTOTL
In addition, if there is only a single variable being
ranked, the report is in RANK order rather and alpha.
-New parameters:
VARSINCL= a list of variables to include in the report
that are not being ranked
PAGEBY=Y/N YES/NO if YES or Y then the report is broken
into pages using the GROUPBY variable.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
====== Changes thru 32.200 were in MXG 32.08 dated Aug 19, 2014=========
Change 32.200 Example reports for (archaic) SMF 118/TCP and SMF 119 are
ANAL119 corrected; the average bytes were a rolling average and
ANAlTCP did not match the values in the detail records.
Aug 19, 2014
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 32.199 The WLM dialog changed how it puts data in its table,
REXXWLM with a missing trailing quote on new Application
Aug 19, 2014 Environments in the generated code for some AESP values.
The padding on new AEs on the parms was changed from null
to blanks; the Rexx code was revised.
Thanks to Michael Oujesky, DTCC, USA.
Change 32.198 MXG 32.06-32.07. Protection for _IDxxxx EQ 512 failed
Many VMACaaaa if your _IDxxxx had multiple SMF record types, e.g.:
Aug 19, 2014 MACRO _IDNDM 132 OR ID=133 %
Aug 30, 2014 Zero observations were created for that product AND the
message was printed that the _IDxxxx macro wasn't set.
The 512-detection code was revised to support the two-id
syntax by testing both the length and the value, with
IF LENGTH(_IDNDM) EQ 3 AND _IDNDM EQ 512 THEN DO;
and this worked for the two-id syntax. However, only
accidentally. The LENGTH(_IDNDM) was 12 which is what
prevented the false positive 512 message. And, even
with MACRO _IDNDM 123 %, the LENGTH(_IDNDM) is still 12!
To circumvent this defect, the logic was revised again:
IF LENGTH(COMPRESS(_IDNDM)) EQ 3 AND _IDNDM EQ 512 ...
which uncovered yet another defect; the length of the
compressed two-id text is ONE, but the length of the
compressed one-id text is THREE, so the LENGTH of the
COMPRESSED macro text is used to only detect 512 with
three characters. Any other text in _IDxxxx will not
have length 3 so those records will be processed.
These XXXX product's VMACs were updated:
ACF2 BE91 BE97 BETA BVIR CTCP EDGS EJES ENDV FTP
HSM HURN IDMS M204 MIM NDM NETM NTCP PROS RSDA
RSDF SHDW STC SYNC TMNT TPMX X37 ZCOS
(There are MANY other user SMF records that have NOT yet
had the protection code added; deferred until an actual
need/request is received.)
-Notes: "Numeric values have been converted to character
string" will be printed, underscoring the "132" value in
the _IDxxxx macro; they are unavoidable but are compile
time conversion with no cost.
SEE CHANGE 32.234.
Thanks to Richard Wendland, U.S. Bank, USA.
Change 32.197 ANALZIPC (Analysis of CPU times for Ziip Engines) failed
ANALZIPC with ERROR: PDB.TYPE70PR NOT FOUND when _SMFZIPC was used
Aug 18, 2014 to read SMF. _SMFZIPC still used _STY70PR, which was
replaced by _STY70 (Change 23.321, SPLIT 70 processing).
Clearly, ANALZIPC users have NOT read SMF data but have
instead used the PDB.SMFINTRV and PDB.TYPE70PR datasets
from their already-created PDB data library!
Thanks to Ian Porter, Nissan-NEDC CO, ENGLAND.
Change 32.196 Preliminary summarization of PDB.DB2STATS from its fixed
ASUMDB2S one-minute interval to a larger interval of your choice,
Aug 18, 2014 defaults to 15 minute in this iteration, but this member
may be changed into a %macro to externalize options.
Thanks to Glenn Bowman, Wakefern, USA.
Change 32.195 New program to extract the workloads from your TRNDRMFI
GRAFWRKT dataset and linear regresses by SHIFT WORKLOAD SYSTEM,
Aug 17, 2014 then summarizes by SHIFT and WORKLOAD and uses SGPLOT
to display which workloads are growing over time.
Change 32.194 Support for NDM-CDI 5.2 HW2 subtype creates new dataset.
EXNDMHW2 DDDDDD DATASET DESCRIPTION
IMACNDM NDMHW2 NDMHW2 hw2 highwater mark record
VMACNDM This record is not a standard NDM-CDI record as it has
VMXGINIT 'CDHW' where the record length and record type normally
Aug 17, 2014 are located.
Thanks to Rich Wendland, U.S. Bank, USA.
Change 32.193 -These ASIxxxxx variables are now divided by ASISMPCT:
VMACRMFV ASILMEMO ASMLPGSZ ASILVNMO ASIHVCOM ASILVSHR
Aug 15, 2014 ASILVABY ASIHVCBY ASILVSBY ASIHVVBY ASILVMEM
ASI1MBFF ASI1MBPF
-Cosmetic. Debugging PUTLOG statement in line 5565
PUTLOG _N_= SSHRMFVN= SSHSMPNR= GEIRSTRF= GEIRPOOL=;
is now removed.
Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.
Change 32.192 BUILDPDB/BUILDPD3/BUILD001 now use a VIEW for WORK.ID,
ANALID which eliminates completely the (potentially large) disk
BUILD606 space previously required to produce the SMF AUDIT REPORT
BUIL3606 (created by %ANALID, added to PDB in MXG Version 30.02.).
VMXGINIT -You can suppress the %ANALID invocation and the creation
UTILBLDP of the PDB.SMFRECNT dataset with %LET MXGSMFAUDIT=NO in
Aug 15, 2014 your SYSIN. (Previously, MACRO _RPDBID % bypassed the
report, but that is no longer used; if it exists in
your SYSIN it will just be ignored.)
(Only SAS supports Data Step Views.)
-UTILBLDP constraint that ID had to be first with USERADD=
(Change 32.154) is removed.
-Views are not executed when OPTIONS OBS=0 is in effect,
which is sometimes used in QA syntax tests, but since no
data will be read with OBS=0, &VWVMACID is nulled when
OBS=0 value is detected.
Change 32.191 Adding a View to BUILDPDB processing for the ID dataset
ANALDUPE exposed a SAS error (since 9.1) that corrupts the value
ANALDUPE of the internal _INFILE_ variable when a View is used.
ASCISMFC The error was detected when the MXG decompression logic
VMAC102 (MXGDECOM/DB2DECOM, for CICS/DB2) incorrectly expanded
VMAC110 the _INFILE_ internal variable. SAS confirmed the error,
VMAC112 recommending that the _INFILE_= argument instead of the
VMACDB2 _INFILE_ internal variable be used to circumvent, which
VMACSMF was verified in MXG QA tests. However, then the WPS QA
Aug 16, 2014 test failed because WPS doesn't support the _INFILE_=
argument, but their _INFILE_ variable is valid with or
without a View, so this change splits the logic to use
the _INFILE_=SMFINFILE argument for SAS but for WPS uses
the SMFINFILE=_INFILE_ statement, so SMFINFILE can then
be used in MXGDECOM/DB2DECOM macros in all of the listed
members that invoke the internal SAS code algorithms.
-MXGDECOM/DB2DECOM are always used on ASCII, and are used
on z/OS ONLY if the (recommended) EXITCICS/CICSIFUE exit
is not installed.
-Change 32.192 implemented the use of the VIEW for ID.
Change 32.190 BVIR variable VECDLEVL='VIRTUALIZATION*ENGINE*CODE LEVEL'
VMACBVIR is now converted to node notation, so the hex value
Aug 13, 2014 '0008 001F 0000 0059'X will now contain and print as
8.31.0.89 in character/decimal node notation.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.189 Cosmetic. Labels were corrected from CORRECTION to:
VMACDB2 FSPSCCPL - CONTROL*CONNECTION*PROTECTION*LEVEL
Aug 13, 2014 FSPSDCPL - DATA*CONNECTION*PROTECTION*LEVEL
Thanks to MaryBeth Delphia, Texas Comptroller of Public Accounts, USA
Change 32.188 DB2STATS variable QISEKLRU is not accumulated but was not
VMACDB2 detected as such in Change 30.113 because my test data
Aug 11, 2014 values were all zero. It is no longer deaccumulated.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Lori Masulis, Fidelity Systems, USA.
Change 32.187 -Missing value message for IOTMNOCA when SMF30AIC=. (which
ANALDSET occurs in MULTIDD='Y' obs), in VMAC30, is now avoided.
VMAC30 -ANALDSET enhanced with OPENTM calculated for TYPE64 since
Aug 11, 2014 OPENTIME was added after this was originally written.
Variables are now ordered for default PROC PRINT, grouped
with common first, then 1415, 64, and steps variables.
New RECFOUND variable identifies which records were found
for each observation. JESNR kept in both output datasets.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 32.186 The ANAL116 example reports did not report on MQMACCT;
ANAL116 the new report was contributed by Scott and its absence
Aug 8, 2014 was noted by David.
Thanks to Scott Barry, SBBWorks Inc., USA.
Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.
Change 32.185 MXG 32.07 only. 180 Syntax error when ASUMUOW is tested
IMACUOW IF (TRANNAME=:'CSM' OR TRANNAME=:' ' OR TRANNAME=:'CPM'
Aug 7, 2014 180
is due to IMACUOW line 226: /* CASE ONE LOGIC BEGIN */ ,
added by Change 32.178 for the new CASE FIVE example,
which was a comment within a comment and must be deleted.
But MY real error was that I failed to QA test the new
IMACUOW. The default IMACUOW doesn't create observations,
so I have a tailored copy in my QA.PRODTEST library, but
as only a new commented block was added (I thought!), I
didn't update the new member into QA.prodtest. Mea Culpa.
Worse, the QA report that compares QA.PRODTEST members
flagged IMACUOW as changed, but I also failed to take
heed of that notification. Mea Mea Culpa.
Thanks to Jack Basile, PCH, USA.
Change 32.184 Support for Omegamon for SMS Version 510 USER SMF RECORD
EXOMSMTD (INCOMPATIBLE, INPUT EXCEEDED because the offset to the
EXOMSMTG next JOB segment is 112 bytes, but only 96 bytes are
FORMATS documented in each segment, requiring MXG protection.)
IMACOMSM -Two variables added to OMSMSJOB dataset:
VMACOMSM OMFS2DAO='DEVICE*ACTIVE*ONLY*TIME'
VMXGINIT OMFS2IOQ='IOQ*TIME'
Aug 6, 2014 -BY List macros for OMSMSDEV and OMSMSJOB datasets to
remove duplicates.
-New datasets created from subtype 4 records:
DDDDDD DATASET DESCRIPTION
OMSMTG OMSMSTPG TAPE GROUP
OMSMTD OMSMSTPD TAPE DEVICE
-Invalid Subtype 4 records are created with offset greater
that the record length; the first three instances are
printed on the log for pursuit with the vendor.
-Several fields with -1 value are now properly decoded.
-Some TAPE datasets have lots of blank character variables
that should be populated.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 32.183 New %PDBAUDIT audits all DATASETS in all LIBNAMES created
BUILDPDB by today's "BUILDPDB" in the "AUDIT" report, and compares
BUILDPD3 today's "PDBs" with yesterday's "PDBs", reporting any
PDBAUDIT changes in observation length, number of variables, or
VMXGINIT any datasets with zero obs in one PDB and non-zero obs
Aug 4, 2014 in the other PDB, in the "COMPARE" report.
Aug 15, 2014 -%PDBAUDIT is automatically called in BUILDPDB/BUILDPD3.
-You can use %LET MXGPDBAUDIT=BYPASS; in your SYSIN to
bypass that default execution of %PDBAUDIT.
-%PDBAUDIT creates the PDB.PDBAUDIT dataset with today's
statistics and copies that dataset into SPIN.SPINPDBAUDIT
which will be used for tomorrow's compare, and then backs
ups the dataset into PDB.SPINPDBAUDIT.
-If your "Build PDB" creates additional datasets after the
%INCLUDE SOURCLIB(BUILDPDB), for example, when ASUMs are
%INCLUDEd, you would bypass the default execution by
adding %LET MXGPDBAUDIT=BYPASS; in your //SYSIN and then
by adding the statement %PDBAUDIT; at the end of your
"BUILD PDB" step.
-All of the LIBNAMEs that have been opened/referenced in
this SAS step when %PDBAUDIT is invoked will be reported
and written to today's PDB.PDBAUDIT dataset.
-You can suppress the report printing but still build
the PDB.PDBAUDIT and SPIN.PDBAUDIT datasets by using
%LET MXGPRINTAUDIT=NO;
-Macro variables &PDBMXG, &SPININ and &SPINOUT are used
to set the output and SPIN input/output, with the normal
defaults of PDB/SPIN/SPIN, but can be changed if needed.
-It is possible to run %PDBAUDIT in a separate step, but
then you must use a LIBNAME statement for each library
you want to be audited, so the LIBNAME is referenced.
Having just a //DDNAME DD does NOT reference the LIBNAME.
You must have "PDB" and "SPIN" LIBNAMEs with DISP=OLD for
the complete COMPARE and AUDIT reports, but those could
separate dsnames just for audit:
// EXEC MXGSAS
//PDBAUDIT DD DSN=YOUR.PDBAUDIT.PDB,DISP=OLD
//SPNAUDIT DD DSN=YOUR.PDBAUDIT.SPIN,DISP=OLD
//PDB DD DSN=YOUR.REAL.PDB,DISP=SHR
//SPIN DD DSN=YOUR.REAL.SPIN,DISP=SHR
//CICSTRAN DD DSN=YOUR.CICSTRAN.DISK.PDB,DISP=SHR
//IMSTRAN DD DSN=YOUR.IMSTRAN.DISK.PDB,DISP=SHR
//SYSIN DD *
LIBNAME PDBAUDIT 'YOUR.PDBAUDIT.PDB';
LIBNAME SPNAUDIT 'YOUR.PDBAUDIT.SPIN';
LIBNAME PDB 'YOUR.REAL.PDB';
LIBNAME SPIN 'YOUR.REAL.SPIN';
LIBNAME CICSTRAN 'YOUR.CICSTRAN.PDB';
LIBNAME IMSTRAN 'YOUR.IMSTRAN.PDB';
%LET PDBMXG=PDBAUDIT;
%LET SPININ=SPNAUDIT;
%LET SPINOUT=SPNAUDIT;
%PDBAUDIT;
RUN;
-The default MXGEXCLUDESEQ=YES prevents expensive reading
of LIBNAMES that are Sequential Format SAS Data Libraries
to save resources, since DICTIONARY.TABLES cause the full
dataset to be read (even then, SAS does not report the
number of observations!). The cost can be significant:
processing a day's PDB with a 6,000,000 obs SEQ DB2ACCT:
EXCLUDESEQ NO (reads) YES (doesn't read)
CPU 4.8 seconds 1.2 seconds
Elapsed 5.5 minutes 58 seconds
EXCP Count 255,000 3,313
If you still want to read sequential libraries, you can
use %LET MXGEXCLUDESEQ=NO;
-ITRM sites can produce the report simply by adding
%PDBAUDIT; at the bottom of the SAS SYSIN stream.
-These five variables that are not created by WPS
FILESIZE NPAGE NUM_CHARACTER NUM_NUMERIC PCOMPRESS
will be missing values in reports and PDBAUDIT datasets.
Change 32.182 MXG QA test step TESSIBM2 MULTIPLE LENGTHS FOR STARTIME
ASUM113 caused Return Code 4, but had no other impact. A length
Aug 4, 2014 statement was added when TYPE70PR does not exist.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 32.181 were in MXG 32.07 dated Aug 3, 2014=========
Change 32.181 -New MOBWRKX3 member for Mobile Workload Processing uses
MOBWRK01 the CICDS Dispatcher Interval CPUTCBTM with selection by
MOBWRKX3 APPLID in MOBWRK01 instead of using CICSTRAN.
MOBWRK06 -Documentation in MOBWRK06 and MOBILWRK was updated.
MOBILWRK
Aug 3, 2014
Thanks to Michael Marcus, UPS, USA.
Change 32.180 MXG 32.06 ONLY. Zero OBS in user-added SMF type datasets.
VMACTMNT plus The delete statement discussed below was removed from
Aug 2, 2014 the new code added by Change 32.149 in these members:
ACF2 BE91 BE97 BETA BVIR EDGS EJES ENDV FTP HSM
HURN IDMS M204 MIM NDM NETM NTCP PROS RSDA RSDF
SHDW STC SYNC TMNT TPMX X37 ZCOS
ERROR: 32.06: ZERO OBS IN ALL USER-ADDED BUILDPDB/UTILBLDP DATASETS:
If you use UTILBLDP(BUILDPDB=YES,USERADD=...) or EXPDBVAR/CDE/OUT
members in your USERID.SOURCLIB to add other SMF record types to
your BUILDPDB/BUILDPD3, AND YOU DO NOT PROCESS MXGTMNT/TYPETMNT
SMF records (i.e., you do NOT set MACRO _IDTMNT 238 %), then ALL
of the datasets built AFTER TYPETMNT will have zero observations.
This error was introduced in Change 32.149, which incorrectly had
added a DELETE statement that should not be there.
CIRCUMVENTIONs for this 32.06-Only ERROR: (INSTALL 32.07!!)
-Remove the DELETE; statement in line 265 of VMACTMNT, OR
-Add this statement in your //SYSIN at the top:
%LET MACKEEP= MACRO _IDTMNT 999 % ;
-Or: with USERADD= in UTILBLDP, add TMNT/999
Change 32.149 added protection for each User SMF record
to detect when the IF ID= _IDxxxx THEN DO code block had
the default _IDxxxx value of 512, which would cause those
datasets to have zero observations, printing an MXGNOTE
to alert you to the needed correction to create obs.
But these code block for IF _IDxxxx=512 (STUPIDLY) had a
DELETE statement, and because the TYPETMNT processing of
that user record is inside the "standard" BUILDPDB, if
you had not set MACRO _IDTMNT 238 % to tell MXG to read
that type in the TMNT code block, then any record type
that was not processed in the preceding IBM type blocks
was deleted, and never examined by the subsequent code
blocks you had added with USERADD= or EXPDBetc.
SEE CHANGE 32.234.
Thanks to Robert Chavez, Florida Power and Light, USA.
Change 32.179 Cosmetic, confusing. These variables now have VIRT in
VMAC71 their label, for VIRTUAL, instead of VERT, which could
Jul 31, 2014 make you think of VERTICAL Polarized Processors:
SMF71SRA='AVG*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
SMF71SRM='MIN*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
SMF71SRX='MAX*HI VIRT*SHARED*FRAMES BACKED*RSTORE'
Thanks to Graham Harris, Royal Bank of Scotland, UK.
Change 32.178 Support for AES CleverView USER SMF subtypes 30-40, which
EXCTCP30 are added to the existing CleverTCP User SMF record code:
EXCTCP31 DDDDDD MXG MXG
EXCTCP32 DATASET DATASET DATASET
EXCTCP33 SUFFIX NAME LABEL
EXCTCP34
EXCTCP35 CTCP30 CTCP30 CTCP CRITICAL RESOURCE
EXCTCP36 CTCP31 CTCP31 CTCP PORT MONITOR
EXCTCP37 CTCP32 CTCP32 CTCP LINK VIEW
EXCTCP38 CTCP33 CTCP33 CTCP PROCESS VIEW
EXCTCP39 CTCP34 CTCP34 CTCP ICMP STATISTICS
EXCTCP40 CTCP35 CTCP35 CTCP IP STATISTICS
FORMATS CTCP36 CTCP36 CTCP TCP STATISTICS
IMACCTCP CTCP37 CTCP37 CTCP UDP STATISTICS
VMACCTCP CTCP38 CTCP38 CTCP OSA CHANNEL
VMXGINIT CTCP39 CTCP39 CTCP OSA ETHERNET
Jul 31, 2014 CTCP40 CTCP40 CTCP OSA LPAR
Change 32.178A Added as a new example, Case 5, for UOW definitions.
IMACUOW When there are no CSMI transactions, there is no EXECAPPL
Jul 27, 2014 that IMACUOW expected, so it is located by using byte 3
of the PATH(x) variable: If it is T or R, and not DB2,
then that CICSTRAN instance is used for EXECAPPL, and for
TRANNAME.
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.177 Cosmetic. A NULLFILE/DD DUMMY caused a message that
VMXGDSNL VMXGDSNL could not resolve the lower level; the message
Jul 27, 2014 now simply says a NULLFILE DUMMY was found.
Change 32.176 Member VMACTMD2 did not process nor detect compressed
VMACTMD2 records when executed on ASCII, or on z/OS without the
Jul 25, 2014 EXITMON6 z/OS-only INFILE exit. Now, the internal SAS
algorithm is invoked, but that is VERY CPU intensive and
should NOT be used on z/OS.
-Change 31.133 added the second iteration support for V5
but it did not note that the 'DB' Thread Detail dataset
and dddddd token names were changed from TMDBDB2/TMDDB2
to TMD2DB/TMD2DB.
Thanks to Ernest E. Amador, UC Davis, USA.
Thanks to Mark A. Turner, UC Davis, USA.
Change 32.175 Enhancement and documentation for the ANALID reports:
ANALID -A Data Step VIEW is used for the (potentially large) ID
FORMATS dataset when %ANALID with READSMF=YES specified, or when
TYPEID %INCLUDE SOURCLIB(TYPEID); is used, or when BUILD001 or
TYPEID or BUILDPDB or BUILDPD3 is executed, saving LOTS of disk
TYPSID space. (Only SAS supports Data Step Views.)
VMACID -The DB2 Subsystem is now ALWAYS captured for 100-102s.
VMACSMF Originally, the DB2 Subsystem field was read from the
VMXGINIT (compressed) Product Section, but all DB2 records have
Jul 29, 2014 Subsystem in the uncompressed header, which is now used.
BUILDPDB -The COMPRESS and ACCUMAC flags now print 'C' and 'A'.
BUILDPD3 -On z/OS, when SMFEXIT=CICS is used (for compressed DB2 or
BUILD001 CICS SMF records), records have been uncompressed by that
INFILE exit, before the INPUT, so the COMPRESS=Y flag
can't be set, but the DB2 IFCID value is INPUT from the
product section, so reports show type 102 IFCIDs.
-
-Instead, when the internal decompression code is used
(i.e., either on z/OS without SMFEXIT=CICS, or on ASCII),
the DB2 IFCID is not available, because IBM does not
populate the 102 subtype field in the SMF header, and the
decompress occurs after SMF header processing; while the
COMPRESS=Y flag is set, all 102s will be reported as type
"102.000: UNKNOWN IFCID COMPRESSED".
REVISED JUL 5, 2015: SEE CHANGE 33.159, MXGDECOMP=DB2
will now decompress in the SMF header processing.
-Note that if you use IMACFILE/MACFILE (or it is used FOR
you, like with READDB2) to select which SMF records are
to be processed, those skipped records will NOT be
counted in the ANALID reports.
-BMC APPTUNE 102 records printed as 134.772-134.780 but
this change revises to print 102.8004-102.800B.
Thanks to Wayne Montefiore, CSC, AUSTRALIA.
Thanks to MP Welch, Bank of America, USA.
Change 32.174 DB2 V11 added new QX variables, but MXG only added them
VMACDB2 to DB2ACCT. These variables are now added to DB2STATS:
Jul 25, 2014 QXALTMP QXCREMP QXCRTSV QXDEGAT QXDRPMP QXDRPSV QXHJINCS
QXHJINCT QXMAXESTIDG QXMAXPLANDG QXN1093A QXN1093B
QXPAROPT QXPFMAXUG QXPFMAXUM QXPFSENUM QXPFSENUMG
QXPFSLNUM QXRSMIAP QXSISTOR QXSIWF QXSTARRAY_EXPANSIONS
QXSTODGNGRP QXSTOREDGRP QXWFRIDS QXWFRIDT
Thanks to Steve R. Wood, DST Systems, USA.
Thanks to Ramu Nalluri, DST Systems, USA.
Change 32.173 Support for Websphere MQ for z/OS Crypto Audit User SMF
EXWECRAU record (default 180) creates new dataset:
IMACWECR DDDDDD DATASET DESCRIPTION
VMACWECR WECRAU WEBSCRAU WEBSPHERE MQ CRYPTO AUDIT
VMXGINIT This code has NEVER been tested with actual SMF records;
Jul 25, 2014 please send records if they exist at your site.
Change 32.172 Support for Websphere MQ Version 8.0 CHANNEL/CHANNEL INIT
EXTY115E new subtypes of the 115 (subtype 231) and 116 (subty 10).
EXTY116A create these new datasets:
FORMATS DDDDDD DATASET DESCRIPTION
IMAC115 TY115E MQCHIN MQM CHAN/CHANINIT STATISTICS
IMAC116 TY116A MQCHININ MQM CHAN/CHANNEL INIT ACCOUNTING
VMAC115 These new subtype have NOT been tested with data. Please
VMAC116 send SMF data if you have these new SMF subtypes.
VMXGINIT Jun 24, 2015: See Change 33.151, MXG 33.07, which updated
Jul 24, 2014 VMAC115 and VMAC116 and tested with data.
Change 32.171 Support for Websphere Liberty z/CONNECT SMF 120 subtype
EXT12011 11 creates new dataset TYP12011.
IMAC120 DDDDDD DATASET DESCRIPTION
VMAC120 T12011 TYP10211 WEBSPHERE 11 LIBERTY z/CONNECT
VMXGINIT
Jul 22, 2014
====== Changes thru 32.170 were in MXG 32.06 dated Jul 21, 2014=========
Change 32.170 Support for CA SYSVIEW 14.0 IMS Records updates (COMPAT).
VMACSVIE -New variables added to SV34TRAN dataset:
Jul 19, 2014 IMTR_TRN_FPFLAG IMTR_TRN_FPFLAG2 IMTR_TRN_ENQPCB
IMTR_TRN_CPUTIME IMTR_TRN_TPTDBIO IMTR_TRN_TPTDBPL
IMTR_TRN_SYNCFAIL IMTR_TRN_FLIMRTCD IMTR_TRN_FLIMBQCT
IMTR_TRN_FLIMIQTM IMTR_CLK_CNT_ENQ IMTR_CLK_MXG_END
IMTR_CLK_CNT_GU IMTR_CLK_UOW_START IMTR_CLK_UOW_END
IMTR_CLK_FLIMIQTM IMTR_CLK_FLOMPRTM IMTR_CLK_SYNCPRTM
IMTR_CLK_FLDQOTIM IMTR_CLK_SYNCDATE IMTR_CLK_SYNCTIME
IMTR_CLK_SAVE IMTR_CLK_IFP5901L IMTR_CLK_IFPMSGWAIT
However, no V14 records have yet been available, and
there may be other changes in the TIMER records that are
under investigation. This text will be revised.
Change 32.169 -DB2STATS variables QDSTNQMN,QDSTNQMX,QDSTNQAV,QDSTNCCW
VMACDB2 were wrong with DB2 V10. Added by DB2 V11, the input test
Jul 19, 2014 was for QDSTLEN GE 96 instead of GE 114, so they were
input when they should have been missing values.
-DB2STATS variables QDSTMARD and QDSTNARD were wrongly
deaccumulated, causing very large, or zero, values.
Thanks to Wayne Bell, UNIGROUP, USA.
Change 32.168 NDM CT truncated record caused INPUT STATEMENT EXCEEDED.
VMACNDM The invalid record has NDMRECLN=1014, which should then
Jul 18, 2014 have LENGTH=1028, but the record LENGTH is only 1020.
Jul 23, 2014 The NDMLENPA length of NDMPACCT field in bytes 1017-1018
contains 10, but there are only 2 bytes left in the SMF
record. Tests added to detect the truncated record and
to print a message on the log for each defective record,
and to only input as many bytes as exist.
-IBM APAR PM77776/PTF UK83894 for Direct Connect V 5.x
corrects the truncated record.
Thanks to Norbert Wagner, Deutsche-Boerse, GERMANY.
Change 32.167 ANALDUPE algorithm to remove duplicate records in z/OS
ANALDUPE file had typos in S02OF02. The DSN syntax should be
Jul 18, 2014 //FMTDAT DSN=&&KEEPFMT,DISP=(OLD,PASS)
and the correct syntax is OPTIONS FMTSEARCH=(FMTDAT);
Thanks to Richard Schwartz, IBM Global Services, USA.
Change 32.166 MXG 31.09-32.05. The default CECINTRV=HOUR in ASUM70PR
ASUM70PR was incorrectly/unintentionally changed to QTRHOUR back
SAGANAL in MXG 31.09, but the HOUR default is now (AGAIN!) set.
Jul 18, 2014 %VMXG70PR (PDB=PDB,INTERVAL=QTRHOUR,CECINTRV=HOUR);
Jul 23, 2014 The INTERVAL parameter controls the summarization of the
two per-SYSTEM datasets, ASUM70PR and ASUM70LP, and the
INTERVAL=QTRHOUR works for data at 5, 10, or 15 min for
each individual SYSTEM.
The CECINTRV parameter controls the summarization of the
two per-CEC datasets, ASUMCEC and ASUMCELP, and the HOUR
default is used because it is safer: only if ALL systems
in the CEC have 15 minute interval data can QTRHOUR be
used for CECINTRV, and so using HOUR protects sites with
multiple/different intervals, and my intention was to
always create these CEC-level datasets hourly.
And, most sites have copied ASUM70PR into their tailoring
library, to set their own values for INTERVAL/CECINTRV,
so this incorrect change in default was not observed.
-However, SAGANAL did require the CECINTRV=HOUR and that
was not previously noted in its comments, hence this
discovery. Now, instead of INCLUDEing ASUM70PR, the
_READ70 macro uses %VMXG70PR with CECINTRV=HOUR.
-Jul 23: ERROR PDB.TYPE70PR not found was corrected.
Thanks to Ian Porter, Nissan, ENGLAND.
Change 32.165 New parameter GROUPBY added to let you find the rankings
ANALRANK by some variable. So for example, you wanted to find the
Jul 17, 2014 top 20 JOBS by SYSTEM for CPUTM and EXCPTOTL, you would
code:
%ANALRANK(DATASET=PDB.JOBS,GROUPBY=SYSTEM,IDBY=JOB,
VARS=CPUTM EXCPTOTL,HOWMANY=20);
Along the way logic was cleaned up and simplified
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.164 FREQ created variables with lower case names. Later code
VMXGSUM that went looking for the variable could fail if it
Jul 17, 2014 looked for an upper case name. FREQ is now upcased as
are all the other variable names.
Change 32.163 Unused Change Number.
Change 32.162 See Change 33.014. Required for z13.
Change 32.161 Support for NDM-CDI M2 record, which is output in NDMMC
VMACNDM dataset. These M2-only variables are added to NDMMC:
Jul 17, 2014 NDMCFFLB NDMCRTYP NDMCSRVR NDMCTSLB NDMCTTYP NDMMCDSN
NDMMCSEQ NDMNBLKS NDMNBYTS NDMNRECS
Thanks to Michael Oujesky, DTCC, USA.
Change 32.160 ML-53 of MXG Tape Mount/Allocation/SYSLOG Monitor adds a
ASMTAPEE check for an I/O configuration change during the device
Jul 17, 2014 scan loop, which should reduce the chances of logrec
entries, which occurred at one site when a new IODF was
activated during MXGTMNT's device scan. Other than the
2,000 logrec entries for recovered 0C4 ABENDS for the
load module MXGTMNT, and the loss of data for that one
interval, MXGTMNT did not fail, and the MXGTMNT job log
did report the event was detected:
TMNT060I I/O configuration change detected,
MXGTMNT suspended pending restart
TMNT061I I/O configuration restart complete,
MXGTMNT processing resumed
Thanks to Ed Brociek, FMR, USA.
Change 32.159 -A possible error in ANALCAPD caused it to ignore the PDB=
ANALCAPD parameter, so &PDBMXG was always used. Since &PDBMXG
Jul 17, 2014 defaults to PDB, an error was unlikely, but the exposure
is removed, and a changed PDB= argument will now be used.
-Added SGPLOT invocation if you are on SAS 9.3 or higher.
Otherwise, if you have SAS/GRAPH, it is used.
Otherwise, the ancient PROC PLOT is used, and comments
were added to document the meaning of the characters
printed when PROC PLOT is used.
Thanks to Andrew Woods, Interactive Data, ENGLAND.
Change 32.158 Updates for Mobile Work including CSV-generating program.
MOBMWRT -%MOBMWRT creates the CSV file for submission to IBM.
MOBWRK05 -Changes to MOBWRKnn members now consistently have unique
MOBWRK06 &MOBxxx LIBNAMEs, and both SMF and PDB processing has
MOBILWRK been revised and tested.
VMXGINIT -MOBWRK05 and MOBWRK06 process all five products data if
Jul 18, 2014 they exist, so they can be used for one or all products.
Change 32.157 New parameters WIDTH HEIGHT FOOTNOTE added to let you
GRAFCEC tailor the appearance of graphs. Most of these look
GRAFWRKX better as landscape so the defaults are WIDTH=10in and
Jul 13, 2014 HEIGHT=8in. The 'in' is required. The footnote
parameter will let you add a footnote to the graphs
produced that you could use to add the job name that
created the graph. For example - to add a left justified
footnote with a height of .5 and in red you would
specify:
FOOTNOTE=JUSTIFY=L COLOR=RED 'Job name'
Thanks to Tom MacCabe, Dominion Resource Services, USA.
Change 32.156 Variable IRESPTM in the CICS dataset is the SUM of the
ASUMCICX response time in all transactions in the BY group. It
TRNDCICX probably should have always been the average value but it
Jul 11, 2014 is left as the sum and a new variable RESPAVG is created
which is the average value.
Change 32.155 Support for Oracle ELS/VTCS 7.2 HSC changes to user SMF
EXSTCV31 records.
IMACSTC -New dataset STCVSM31 created from subtype 31
VMACSTC -New variables added to datasets created from Subtypes
VMXGINIT STCnnTPX added to 13,14,15,16,17,18,19,20,25,26,27,28
Jul 8, 2014 29,30
Jul 16, 2014 STCnnTYP added to 16,17,18,19
Subtype 16: STC16LOC STC16MVC
Subtype 17: STC17LOC
Subtype 18: STC18LOC STC18VPT STC18TND STC18ND
Subtype 19: STC19LOC STC19VPT STC189ND STC19ND
subtype 26: STC26VPT
-All but subtypes 27,and 31 have been data tested.
-These (archaic) variables are always missing values:
STC13FLG STC13HID STC13SEQ STC13VTI
STC14FLG STC14HID STC14SEQ STC14VTI
STC18FLG STC18HID STC18SEQ STC18VTI
STC19FLG STC19HID STC19SEQ STC19VTI
-One question is open: STC14DSN contains a TODSTAMP and
not a 44-character DSNAME.
Thanks to Richard Stuchell, VISA, USA.
Thanks to Bruce MacKay, Oracle, USA.
Thanks to Merle Sadler, Oracle, USA.
Change 32.154 -This part of the original change:
ANALID "If you want to produce the ANALID report using UTILBLDP,
UTILBLDP with BUILDPDB=NO specified, then the ID token must be the
Jul 8, 2014 FIRST token in the USERADD= parameter:"
Aug 15, 2014 is no longer true; Change 32.192 removed that restriction
and ID can be anywhere in the USERADD= list.
-While only the SELECTED SMF record's datasets will be
created, ALL SMF records in the INFILE will be reported
by ANALID, UNLESS you also used MACFILE/IMACFILE to
delete SMF records; those deleted records will NOT be
counted/reported by ANALID.
-If you want to see the code that was created by UTILBLDP,
it can be printed on the LOG by specifying either the new
ECHO=YES (or ECHO=Y) argument, or with MXGEXIMSG=YES.
-Cosmetic change in ANALID to print 0 for small percentage
values to eliminate "Note: At least one W.D format was
too small for the number to be printed...."
Thanks to MP Welch, Bank of America, USA.
Change 32.153 Support for Optional CICS User ADP fields in IMACICVH.
EXUTILEX The EXUTILEX member is listed here ONLY to note that it
IMACICVH is not the correct way to add USER CICS fields to MXG.
VMAC110 Instead, send your CICS Dictionary SMF records to support
UTILEXCL and MXG will be enhanced to support your optional data,
Jul 5, 2014 with a new IMACICxx member just for you!
Thanks to Patricia Hansen, ADP, USA.
Change 32.152 Datetimes in TYPECTLT - CONTROL/T are GMT and there is no
VMACCTLT way to know what was the GMT Offset when those data were
Jul 5, 2014 created.
Change 32.151 BY lists for TYPE74PA/TYPE74ST/TYPE74DU/TYPE74HO/TYPE74TD
VMAC74 and TYPE747C were insufficient to remove duplicates.
Jul 5, 2014 All of those _BTY74xx macros are extended for removal.
-Variable R742PLIN='LIST*NUMBER*WITHIN*STRUCTURE' is now
INPUT; it was added to _BTY74PA. However, there are
duplicate observations in TYPE74PA.
-Variable R744FNAM was added to _BTY74ST for NODUP sort.
-Variable R744FNAM was added to _BTY74DU for NODUP sort.
-Variable R744HPCP was added to _BTY74HO for NODUP sort.
There are duplicate observations created in TYPE74HO.
-Dataset TYPE74ID will always have many more duplicates
removed than output observations, by design.
-If you use TYPE74PA or TYPE74HO, or TYPE74TD, and want
to open a PMR with IBM Support to examine why there are
duplicates, please send your data to support@mxg.com to
verify and to document for your PMR submission.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.150 Revised support for Informatica's POWER EXCHANGE SMF
VMACPOEX records, updated after the original preliminary support
Jul 3, 2014 in Change 29.134. These issues will be reported and this
text updated when resolved:
CHANGES REQUIRED:
1. In POEXDB2, POEXROWS are accumulated, but POEXSTMT=1
POEXSQLC=0 POEXUPDT=0 POEXDELT=0 POEXINSR=0 in all
fifteen DB2 segments so it is unclear if they too are
accumulated. BUT: ANY ACCUMULATED FIELDS means that
data is lost; the first instance for EVERY JOB must be
deleted since it is impossible to know which is the
FIRST interval record. Interval records MUST contain
interval values.
2. POEXUNDO (28-byte field before POEXCPUG CPU Time in
General Section: Undocumented field contains IP
address for IPV4 addresses:
(161.236.233.152)
but IPV6 addresses are truncated at 15 bytes
(::ffff:165.37.5)
3. CRITICAL: Subtype 3 Interval records POEXENDT is
always unpopulated (missing value) so the actual
interval duration can never be known.
4. CRITICAL: Subtype 3 Interval records POEXSTRT is
always the START TIME OF THE JOB and is NOT the START
TIME OF THE INTERVAL. SO: the interval duration can
NOT be known except in the first interval.
5. POEXSECN - Count of sections is ALWAYS ONE in all
records, even though there ARE multiple sections in
many records.
OTHER ISSUES:
6. Issues with UNDOCUMENTED DSN1 & DSN2 in File Segments:
a. Length 46 rather than 44 in DSN2, both set to 64 to
be safe for open system path names.
b. Contains single quotes around DSN in SOME
POEXACME=NRDB2 records:
'EDWT.ISG.COMBINED.MO.PRTY.INF' )
c. Contains DSN2=BLANK, DSN1=CONNECTION
d. Contains DSN2=BLANK, DSN1=TS01295.SHR.S9S.D140626
e. Contains double quotes at start and interval in
some records, i.e., "ZA1P".za1racf1_RACF_RECORD
7. Variables ADDL CIPC NODE REAS RTRN SESS SSI are always
blank.
8. Bytes Send and Received Count in CLIENT segment is
ALWAYS 256 bytes.
9. POEXCLIE (Client):
A JOB is identified by SYSTEM POEXJOB POEXTPID, but
POEXSTRT is CONSTANT for each interval. In each
INTERVAL record, POEXCPUG (General) is Accumulated,
while POEXCPUC (Client) is the interval CPU Time.
But in each END record, POEXCPUG and POEXCPUC are
EQUAL and are the TOTAL for that JOB. And POEXCPUG
(General) is ACCUMULATED while the POEXCPUC (Client)
is the DELTA
UNLESS: In POEXCLIE jobs where there is a DB2 Section:
a. The POEXTPID is always zero, so it is NOT possible
to group interval/end records for each job.
b. The CPUG and CPUC are accumulated and interval as
for POEXCLIE jobs that have FILE sections, but the
CPUD from the DB2 section is ALSO ACCUMULATED in
the interval records, and is the TOTAL in END
record.
10. There are four CPU metrics in four segments: CPUG -
General, CPUD - DB2, CPUL - Listener and CPUC -
Client, but no documentation of what is or is not
included in those fields.
Observing values, it appears:
POEXLIST - LISTENER - POEXCPUG (General) equal to
POEXCPUL (Listener)
POEXCLIE - CLIENT - See Preceding Item 19.
11. In the FILE segment, field POEXAMTY is not documented.
The values of 01, 0Ax and 19x in POEXAMTY have
POEXACME, Access Method, with , DB2, SEQ, and NRDB2,
respectively.
12. POEXSTRC - Character datetime value does not contain
fractions of a second, while POEXSTRT
TODSTAMP does have full resolution.
13. POEXENDC - Character datetime value does not contain
fractions of a second, while POEXENDT
TODSTAMP does have full resolution.
14. Client Segment TODSTAMPS ENDX STRX are always missing
values, but start/end from General Section are valid
and kept.
15. No GMT OFFSET value in any record, but the character
start time in POEXSTRC is on local while POEXSTRT is
on GMT so the offset value GMTOFFPOEX is calculated
and used to convert GMT datetimes to local.
16. Records with lots of nulls (SMF record 43, LENGTH=4928
(RDW=4932), but data ends in byte 847, 4181 bytes of
nulls).
Thanks to Eileen F. Van Etten, Bank of America, USA.
Thanks to Christopher D. Carnes, Bank of America, USA.
Change 32.149 SMF record TYPE can be 0-127 for IBM records or 128-255
VMACXXXX for USER SMF records. Because the TYPE number of a USER
Jun 26, 2014 record is set by the site's product installer, you must
Sep 28, 2014 tell MXG the record number that was chosen for USER SMF
processing for SMF TYPES 128-255. MXG sets the default
TYPE number to a missing value, a period, in MXG 32.10.
Previously, a value of 512 was the MACRO _IDxxxx default.
The recommended way to specify a User SMF type is to put
the defining MACRO in the IMACKEEP member in your USERID
Tailoring Library/Directory:
MACRO _IDxxxx nnn %
where the xxxx is the VMACxxxx suffix for the product,
(documented in member IMACAAAA), and nnn is the site's
chosen record number. This way, any processing of xxxx
will use that definition for that product's SMF record.
If you are using %UTILBLDP to create your SYSIN program,
the RECOMMENDED tool to process multiple SMF records, and
especially to add other SMF records, either IBM or USER,
with or without executing BUILDPDB, you supply the SMF
Record TYPE number in the syntax:
%UTILBLDP(USERADD=xxxx/nnn yyyy/mmm . . . .);
Alternatively, you can supply the _IDxxxx value in the
input in the job that processes the USER SMF record:
//SYSIN DD *
%LET MACKEEP= MACRO _IDxxxx nnn % ;
%INCLUDE SOURCLIB(TYPSxxxx);
Change text revised.
SEE CHANGE 32.234.
Thanks to MP Welch, Bank of America, USA.
Change 32.148 Support BMC DB2 Data Sharing Header, QWHSTYP=32 segment,
READDB2 which is inserted between the QWHSTYP=1 & 2 segments in
VMACDB2H BMC records, but is after the other segments in IBM data.
Jun 20, 2014 MXG logic had assumed the segments were in order, the BMC
Jul 9, 2014 insertion of their 32 segment caused the QWAC fields to
to be blank/missing, as the insert prevented segment 2
being input. Logic is now independent of the order.
-Using %READDB2(IFCIDS=BMC); worked fine on ASCII but did
not work on z/OS, because the test "IF &IFC GT 3" is true
on ASCII when &IFC is BMC, but the collating sequence on
z/OS causes BMC to be LESS than 3, so BMC subtypes were
not read. The test now explicitly tests for 'BMC'.
-Observed: TITLE CREATED BY _T102BMC; created an error;
the title must be in quotes to prevent macro _T102BMC
from being resolved as code!
Thanks to Janet Smith, BMC, USA.
Thanks to Tony Curry, BMC, USA.
Change 32.147 -ODS doesn't support character variables with $HEX format:
DOC SAS development investigated this issue with their XML
Jun 26, 2014 parser and the problem is caused because the values have
to be converted to XML, and Unicode values in
user-defined formats are not supported by the ODS
Graphics procedures.
Furthermore, ODS does not use the FORMATTED value of a
variable that contains hex values:
%INCLUDE SOURCLIB(TEST73);
PROC SGPLOT DATA=TYPE73;;
SCATTER X=STARTIME Y=PCHANBY/GROUP=SMF73CPD;
FORMAT SMF73CPD $HEXCHAR.;
RUN;
So it is necessary to create a new variable with the
format and use it:
DATA PLOT/VIEW=PLOT;
SET PDB.TYPE73;
CHANTYPE=PUT(SMF73CPD,$MG073CD.);
PROC SGPLOT DATA=PLOT;
SCATTER X=STARTIME Y=PCHANBY/GROUP=CHANTYPE;
-JMP doesn't support variables with ATTRIB TRANSCODE=NO.
The TRANSCODE= attribute can be changed with a DATA step
DATA NEW; ATTRIB variable TRANSCODE=YES; SET OLD;
Or with a PROC DATASETS
proc datasets lib=work memtype=data;
modify type73;
attrib _all_ TRANSCODE=YES;
run;
fails with errors:
attrib _ALL_ TRANSCODE=YES;
-
22
76
ERROR 22-322: Syntax error, expecting one of the
following:
a name, -, :, FORMAT, INFORMAT, LABEL, LENGTH, _ALL_,
_CHARACTER_, _CHAR_, _NUMERIC_.
ERROR 76-322: Syntax error, statement will be ignored.
Thanks to MP Welch, Bank of America, USA.
Change 32.146 Cosmetic, line "@; PUTLOG _N_= COL= DCVSGLNG=...; INPUT"
VMACDCOL left from testing Change 32.103 is now deleted.
Jun 23, 2014
Thanks to Clayton Buck, UNIGROUP, USA.
Change 32.145 Cosmetic. MXGNOTEs that VMXGSUM is bypassing a step or a
VMXGSUM sort that is not needed, are suppressed, unless you have
Jun 23, 2014 set %LET MXGEXIMSG=YES to print those suppressed notes.
Change 32.144 MXG 32.03-32.05 INVALID STID=60 CICS/TS 2.3 Statistics
VMAC110 error was not protected by Change 32.077, which had only
Jun 23, 2013 protected CICS/TS 3.2-5.1. The IBM error being protected
is that DSGLLEN=128, the correct length of the header, is
not the 136 byte length of each TCB segment. Previously,
all 136 bytes were always INPUT without a length test.
But CICS/TS 5.2 increased the length to 160, so 32.077
reset DSGLLEN to 136, but with data only back to 3.2 for
validation, the test was (65 LE SMFPSRVR LE 67). Now
(63 LE SMFPSRVR LE 67) is used to protect both CICS/TS
2.3 and 3.1 by resetting DSGLLEN to 136.
Thanks to Craig North, FHG, ENGLAND.
Change 32.143 The CPUZIPTM for SYNCSORT was a missing value for COPY or
VMACSYNC SORTs that did not use Sort Works DDs. MXG code was
Jun 22, 2013 revised, after discovering that the DS H'0' field in the
DSECT after then SMFWKEXL DS H'0' field does NOT exist
when NRSORTWK=0.
Thanks to Richard Krueger, Sentry Insurance, USA.
Change 32.142 READDB2 failed if FIRSTOBS NE 1 or OBS NE "enough" for
READDB2 the internal DATA steps needed to build the code, if you
Jun 22, 2014 asked for individual IFCIDS. Now, the original values for
FIRSTOBS/OBS are stored, the text for the code and sorts
are generated, and then they are restored to control the
SMF records read. Note, however, that you will then need
to reset FIRSTOBS=1 and OBS=MAX after READDB2 to process
the output datasets. For example, to read a single SMF
record for a single IFCID:
OPTIONS FIRSTOBS=123456 OBS=123456;
%READDB2(IFCIDS=376);
RUN;
OPTIONS FIRSTOBS=1 OBS=MAX;
PROC PRINT . . .
Change 32.141 Support for IFCID=376, but the DB2 V11 DSECT shows that
VMAC102 the last field is QW0376PN, which ends in byte 165 of the
Jun 21, 2014 record which has LENGTH=662, so a PMR is to be opened
with IBM DB2 support to determine if those extra bytes
are real or trash. In addition, the QW0376TS value, a
timestamp, contains '19871FAF182106A5'x, which I do not
recognize as a valid datetimestamp.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 32.140 -RACF SMF 80 INPUT EXCEEDED error because STATE field for
VMAC80A DISTRICT OF COLUMBIA DC exceeded the $VARYING16 LENVAR,
Jun 21, 2014 and SAS only INPUTs 16 bytes even when LENVAR is 24.
Informat changed to $VARYING32.
-Variable TOKMCARRIER now decoded into TYPE80TK dataset.
Thanks to David W. Chambers, Norfolk Southern, USA.
Change 32.139 -MXG 32.05 only, ONLY if BUILD606/BUILD3606 logic (or user
VMAC113 program with ELSE _CDE113). MXG 32.05 had this commented
Jun 20, 2014 debug statement *PUTLOG // _N_= ID= SUBTYPE= //; after
the MACRO _CDE113 statement, which caused a 180 syntax
error when preceded by the ELSE statement.
BUT: had I used /* PUTLOG . . . */ syntax, there was
NO ERROR!
The commented debug statement is now removed.
-If the EXPDBCDE member was used to add SMF 113 to your
BUILDPDB or if you used UTILBLDP, there was no error.
-But this goes all the way back to Change 15.354, (1998)
which was supposed to ensure that all SMF processing
members had syntax of IF ID= . . . immediately following
their MACRO _CDExxxx statement, so they could be used in
BUILD606/BUILD3606. I now find these other members also
didn't comply with 15.345; they all had a semicolon ahead
of their IF statement, which is now removed:
VMAC110 VMAC111 VMACBVIR VMACCDC VMACCMHM VMACCTCD
VMACGUTS VMACID VMACIPAC VMACMVTP VMACSHDE VMACZCOS
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
====== Changes thru 32.138 were in MXG 32.05 re-dated Jun 18, 2014======
Change 32.138 First MXG 32.05. VMACRMFV had a syntax error due to last
VMACRMFV minute untested update I rushed in at the last minute.
Jun 18, 2014 Update was an attempt to match Delay Percents in MXG to
IBM RMF III reports, but research is still in progress.
Four lines with WHEN ( ) AND syntax were incorrect but
are now removed.
Thanks to Robert B. Richards, OPM, USA.
Thanks to Matthew Brooks, OPM, USA.
Change 32.137 -All JCLTESxx members now all test with TESSxxxx members,
JCLTES91 which invoke all of the PROC SORTs so that the existence
JCLTES92 of BY variables is validated in testing. Previously, the
JCLTEST9 TESTxxxx members were used, which did not test SORTs.
JCLTESS9 -Members JCLTESS9, JCLTEST9, and JCLTES92 are identical;
TESTOTHR the multiple names are kept because of prior references.
Jun 18, 2014 -TESTOTHR had a mislocated %END; statement that is fixed,
but any of your code that %INCLUDES SOURCLIB(TESTxxxx)
should be changed to use TESSxxxx instead per preceding,
but the TESTxxxx members will remain in MXG forever.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 32.136 were in MXG 32.05 dated Jun 16, 2014=========
Change 32.136 VMACSMF: CICS version variable SMFPSRVR is formatted
VMACSMF with existing MGVERCIC so the version (e.g. TS5.1) is
UTILEXCL printed instead of its internal value (e.g. 68).
Jun 16, 2014 Since SMFPSRVR is not formatted in the other members,
Jun 19, 2014 the VMACSMF format will apply to all datasets read from
infile SMF with a CICS Version value in SMFPSRVR.
-UTILEXCL: Options NOCENTER improves report formatting.
-IMACICEZ: Comments revised: this member always inputs
five fields so it is removed from REPORT THREE-A as only
its comment block needs to be removed.
-IMACICE1 and IMACICE2: Comments revised to direct you to
use REPORT THREE-A to EDIT to find your number of fields.
Change 32.135 Labels for NDM datasets from a single subtype are now
VMACNDM explanatory. Multi-subtype datasets are still labeled
Jun 14, 2014 with the list of subtypes, but comments were updated to
list all of the subtypes that are documented.
Thanks to MP Welch, Bank of America, USA.
Change 32.134 Datasets BVIR322/BVIR323/BVIR324 for some POOLs were NOT
VMACBVIR output. The test for ATLGVOLS=0 that terminated the scan
Jun 14, 2014 on the first instance was invalid as there are many pools
AFTER that test. Now, all 32 possible pools are scanned
and only those with ATLGVOLS GT 0 are output, so all of
the active POOLs are output.
Thanks to Doug Medland, IBM Global Services, USA.
Change 32.133 -VMXGSUM is enhanced to support "concatenation" of "PDBs".
VMXGSUM Existing VGETDDS logic is implemented in VMXGSUM. The new
Jun 14, 2014 syntax %VMXGSUM(INDATA=CICSTRAN,USEVGETDDS=CICTRN:); will
input all DDNAMES/LIBNAMES from CICTRN1 up to CICTRN99.
INDATA must be set to a SINGLE dataset without a LIBNAME
reference, but it may include a (KEEP=VARA VARB ...)
modifier. The DATA step is passed as a view to the SORT.
-To fully support concatenated PDBs on tape, OPEN=DEFER is
forced when USEVGETDDS is specified.
Change 32.132 CALLEDBY= parameter added for internal use by MXG.
VGETDDS NOTES telling you what was allocated are suppressed
Jun 14, 2014 unless MXGEXIMSG=YES.
Change 32.131 -%READDB2(IFCIDS=BMC) created the 11 BMC APPTUNE datasets
READDB2 but then failed because _S102BMC macro does not exist.
Jun 13, 2014 Using IFCIDS=ALL does circumvent this error, but now the
individual _Sdddddd macros for the 11 BMC datasets are
invoked when IFCIDS=BMC is specified.
-Redundant code block for BMC removed in READDB2.
Thanks to Tony Cury, BMC, USA.
Change 32.130 Support for doc APAR OA35811 (replaced, FIN) by OA54385,
VMACRMFV for RMF III GEIG3 corrects the length of GEIRSTRF in z/OS
Jun 8, 2014 2.1 to 8 bytes, but actual data records show GEIRSTRF was
also 8 bytes in 1.13. But the code changes caused by the
doc APAR is that GEIRPOOL, the Average Online Real
Storage, is no longer used in z/OS 2.1 and GEIRSTRF is
the replacement. So this MXG change stores GEIRSTRF back
into GEIRPOOL in z/OS 2.1 so your existing reports using
GEIRPOOL will be correct without change.
But there appears to be an undocumented change in 2.1, as
I THINK (TO BE VALIDATED) that the order of subsequent
GEILF4K and GEILP4K in 1.13 were reversed in 2.1. When
input as originally documented, these are the values:
GEILF4K GEILP4K
(Fixed) (Pageable)
1.13 60 316,680
2.1 108,180 0
which seems to be wrong for 2.1.
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Steven Yucha, Aetna, USA.
Thanks to Miguel Mercado, Aetna, USA.
Thanks to Micheline Bissell, Aetna, USA.
Change 32.129 Protection for zero length data that printed this message
VMAC80A SMF 80 SEGMENT 301 HAS UNDECODED TOKDANAM=
Jun 6, 2014
Thanks to David Kaplan, DTCC, USA.
Change 32.128 Variable QBGLNW='PAGE-IN*WRITE*AROUND' now INPUT and kept
VMACDB2 in dataset DB2GBPST. Field was added in DB2 V11.
Jun 6, 2014
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.127 New %VMXGDEL0 utility can delete all datasets with zero
VMXGDEL0 observations, with or without a report of members and
Jun 11, 2014 their count of obs, or only a report can be generated.
While zero-obs datasets take essentially no disk space,
some SAS procedures open all datasets in a data library,
creating unnecessarily long menu lists. But, use this
tool with care, since if you delete zero observation
datasets from a "daily PDB" library, you could easily
cause other jobs (that still reference old datasets that
are no longer populated) to fail when you delete members.
This was handy to use after %READDB2(IFCIDS=ALL) so only
the populated T102Snnn datasets remained
Thanks to MP Welch, Bank of America, USA.
Change 32.126 Support for new Subtype 1 of HIS SMF ID=113 creates new
VMAC113 DDDDDD DATASET DESCRIPTION
ASUM113 TY1131 TYPE1131 HIS HARDWARE MONITOR DETAIL
Jun 2, 2014 IBM will not enhance the original Subtype 2 (accumulated
values), and the Subtype 1 contains interval delta values
so the first observation(s) are not lost in TYPE1131. The
ASUM113 program creates both ASUM113 (ST=2) and ASUM1131
(ST=1), but ASUM1131 should be used if it is populated,
as it will have more observations than ASUM113.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.125 New MGIBMxx formats created to support MOBILE WORK.
FORMATS Preliminary MOBILWRK program to identify Mobile Work.
MOBILWRK See the MOBILWRK member in MXG 32.05 for documentation.
MOBWRK00
MOBWRK01
MOBWRK02
MOBWRK03
MOBWRK04
MOBWRK05
MOBWRK73
MOBWRKS3
MOBWRK83
MOBWRKC3
MOBWRKD3
MOBWRKI3
MOBWRKM3
MOBWRKW3
TESTMOBQ
TESTMOBP
JUN 16, 2014
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 32.124 The DOCVER member, which documents all variables in all
UTILVREF MXG datasets, is enhanced by the addition of the BYLIST
May 31, 2014 for all datasets that are sorted. Most "important" MXG
datasets are sorted when the TYPSxxxx member is used to
SORT from WORK to PDB, but some datasets still have only
a DATA step to COPY from WORK to PDB. Contact support if
you use a dataset that is not sorted and be prepared to
send data, since actual data records are required to find
the BY list that removes duplicated.
Thanks to MP Welch, Bank of America, USA.
Change 32.123 Support for RSD USER SMF ACCOUNTING record Version 2.1
EXRSDSDS creates four new datasets:
EXRSDSES dddddd dataset description
EXRSDSEP RSDSDS RSDSDSET RSD SMF ACCOUNTING DATASET
EXRSDSNL RSDSES RSDSAESR RSD SMF SLR ACCOUNTING
FORMATS RSDSEP RSDSAEPR RSD SMF EPR ACCOUNTING
IMACRSDS RSDSNL RSDSANLR RSD SMF NLR ACCOUNTING
VMACRSDA Support for RSD USER SMF AUDIT record Version 2.1 is a
VMACRSDS complete rewrite with replaced variable names in the
VMXGINIT RSDAUDIT dataset.
Jun 8, 2014 Aug 11: Action Codes 36 and 84 are now recognized and
Aug 11, 2014 processed. FORMATS were updated for action codes.
Dec 10, 2014 Dec 10: Test for UNKNOWN AUDIT ACTION is removed, so now
Dec 22, 2014 all action codes are output. New AUDACT records all have
the same physical structure, the full record has been
read, and AUDOBJI is populated so you can split/store it
if needed, as done now for some AUDOBJT values.
Dec 22: Lines over 72 shortened.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Thanks to Raul Juan Rincon, Bustia, SPAIN.
Change 32.122 VMXGPARS did not correctly parse quoted strings if there
VMXGPARS was a blank embedded in the quoted string, which caused
May 29, 2014 UTILBLDP to generate invalid syntax errors.
Change 32.121 UTILBLDP new option SORTOUT=NEVER prevents output SORT of
UTILBLDP all datasets, intended for MXG internal use. SORTOUT=NO
May 29, 2014 suppressed SORTs of most data, but still sorted these:
7072 DB2 HSM NTCP ROSC TMDB TPX 103 28
because they contain accumulated values that require the
sort to deaccumulate. NEVER prevents even those sorts,
but leaves invalid values for those datasets, so use of
SORTOUT=NEVER prints a warning message when used.
Change 32.120 Support for optional CICS user SDA fields.
IMACICSD
UTILEXCL
VMAC110
May 27, 2014
Thanks to Trevor Holland, ANZ, AUSTRALIA.
Change 32.119 Support for IMS56FA records from IMS 13.1 (INCOMPATIBLE,
VMACIMS due to inserted fields).
May 27, 2014
Thanks to Rudolf Sauer, T-Systems, GERMANY.*
Change 32.118 ANALID= parameter added to READDB2 to create SMF Audit
READDB2 report when set to YES. Only the SMF records that are
May 25, 2014 required for the READDB2 request are reported.
Change 32.117 Incorrect ID Test for ID=140 corrected to ID=104.
VMAC104
May 23, 2014
Thanks to Robert A. Obee, IMS Health, USA.
Change 32.116 XAM CRITICAL ERROR with SEGLEN=84 was a false error; that
VMACXAM is a valid length for the SYTSYP segment in zVPS 5.4 so
May 21, 2014 the MXG "protection" for invalid FTP transfer added in
Change 32.057, which tested only for the known mangled
100 value now accepts 84 as valid, suppressing the error.
Thanks to Robert K. Hare, Comerica Bank, USA.
Change 32.115 VMXGSRCH failed if there were no datasets in the LIBNAME
VMXGSRCH pointed to by the LIBNAME= parameter.
May 17, 2014
Change 32.114 READDB2 with PDBOUT="non-PDB" still wrote to PDB.DB2ACCT
READDB2 and if there was no //PDB in JCL or no LIBNAME PDB, the
May 17, 2014 job abended. Additionally, if STATISTICS was specified
(instead of the RECOMMENDED STATS argument), errors in
PROC SORTs for STAT0/1/2/4/225 would also fail. Missed
because a LIBNAME PDB always existed in the QA tests.
Unrelated, with recommended STATS specified, datasets
DB2STAT0 1 2 4 DB2ST225 and T102S225 were left in WORK,
but they are now deleted.
Thanks to Frank Bereznay, IBM Global Services, USA.
Change 32.113 Support for APAR OA44319/OA44322 for SMF ID=42 ST 5 and 6
VMAC42 statistics to TYPE42SR, TYPE42VT, and TYPE42DS datasets.
May 17, 2014 TYPE42SR TYPE42VT TYPE42DS Description
S42SCA1U S42VDA1U S42DSA1U AVG*DEVICE*ACTIV ONLY*TIME
S42SCB1U S42VDB1U S42DSB1U AVG*DEVICE*BUSY*TIME
S42SCC1U S42VDC1U S42DSC1U AVG*I/O*CONNECT*TIME
S42SCD1U S42VDD1U S42DSD1U AVG*I/O*DISCONNECT*TIME
S42SCHRD S42VDHRD S42DSHRD ZHPF*READ*COUNT
S42SCHWR S42VDHWR S42DSHWR ZHPF*WRITE*COUNT
S42SCM1U S42VDM1U S42DSM1U AVG*COMMAND*RESPONSE*TIME
S42SCP1U S42VDP1U S42DSP1U AVG*I/O*PENDING*TIME
S42SCQ1U S42VDQ1U S42DSQ1U AVG*CONTROLUNIT*QUEUE TIME
S42SCR1U S42VDR1U S42DSR1U RESPONSE*TIME
S42SCT1U S42VDT1U S42DST1U AVG*TOTAL*READ*DISCONNECT
Change 32.112 Documentation. TYPE113 variable SM1132SP is labelled as
VMAC113 the processor speed in cycles per microsec, so it has a
May 15, 2014 value of 5504, while MXG-created variable EFFGHX is the
processor speed in GHZ, a value of 5.504. While SM1132SP
could be changed, it is pervasively used in many of the
calculated ratios, and changing its value now would not
only require those calculations to be changed, they would
then not match the equations in John Burg's many papers.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.111 Support/corrections/enhancements for IDMS Version 18.
VMACIDMJ -PMRHTYPE=4 PMHSEQN=2 record +4 needed for doubleword
VMACIDMS alignment; variable INSTTTI created and kept in the
TYPEIDMJ IDMSINS dataset.
May 12, 2014 -Variable DBKOWNER no longer kept in IDMSTAS dataset;
it exists only in IDMSDBK dataset.
-Variable TASTITI is incorrectly spelled, but so as to
prevent current programs from failing, the correctly
spelled variable TASTTTI is equated and kept in the
IDMSTAS dataset.
-Members TYPEIDMJ and VMACIDMJ, which reads the INFILE
//DCLOG rather than SMF format data, were revised so
that they now use the VMACIDMS member, eliminating need
for dual maintenance.
Thanks to Mark S. Miller, APL, USA.*
Change 32.110 Variables FSCIPHER FCCFIPS140 FCCIPHER4 are added to both
FORMATS TYP11903 and TYPE11970 datasets. Variable FCCFIPS140 and
VMAC119 existing SMF119ML_CN_TTLSFP TTTTLSFP variables are
May 12, 2014 decoded with $MG119FP format.
Thanks to Jerome Vitner, Experian, ENGLAND.
Change 32.109 Variable STATCTM1, when non-zero, was incorrect; the TU4.
IMACICDB INFORMAT was replaced by &PIB.8.6/4096 to properly input
May 11, 2014 the duration value.
Thanks to Raymond Dunn, CIGNA, USA.
Change 32.108 -RMF III Fixes, Enhancements, Documentation upgrades.
ADOCRMFV -Fix for possible S0C4 Abend when processing an ASI table
ASMRMFV in the first MINTIME interval after a Service Policy
Jun 12, 2014 activation.
-Possible incorrect data for Service Class, Report Class,
Workload, or Resource Group extensions in the ASI output
record for the MINTIME interval immediately after a
Service Policy activation.
-Investigation found that RMF III copies all ASI entries
from the prior MINTIME interval to the new MINTIME
interval after a Service Policy activation.
-If the number of Service Classes, Report Classes,
Workloads, or Resource Groups in the Service Policy has
changed after Service Policy activation, the indexes for
some of those copied ASI entries will not match the
corresponding sections in the active Service Policy.
This causes the Abend or incorrect extension data
conditions.
-ASMRMFV will now use the prior Service Policy to resolve
indexes in the copied ASI entries for this particular
MINTIME interval. Once all of the ASI copied entries are
processed, normal use of the active Service Policy will
resume for the remaining entries and for all other
MINTIME intervals.
-New message RMFV078I will indicate when the new ASI index
FIND logic is in use after a Service Policy activation
and for how many copied entries it was used.
-Four new FIND error handling parameters are added:
SCERR=, RCERR=, WLERR=, and RGERR=. These are
respectively for Service Class, Report Class, Workload,
and Resource Group indexes.
-An ASMRMFV FIND error occurs when the index value for one
of the above 4 data categories exceeds the number of
actual entries for that category in the active Service
Policy.
-Possible setting values for SCERR=, RCERR=, WLERR, and
RGERR= are IGNORE, WARN, and ABEND. Each may be
shortened to as few letters as desired down to a single
character I, W, or A respectively.
When a setting is IGNORE:
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) None None None None
Return Code Unchanged Unchanged Unchanged Unchanged
When a setting is WARN (default):
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) RMFV070W RMFV071W RMFV072W RMFV073W
Return Code 0004 0004 0004 0004
When a setting is ABEND (for diagnostic use):
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) RMFV070E RMFV071E RMFV072E RMFV073E
Abend Code U0998 U0998 U0998 U0998
Reason Code 70 71 72 73
-An extra RMFV037I message displays the values assigned to
these FIND error settings at ASMRMFV startup as I, W, or
A.
-When an SCERR=, RCERR=, WLERR=, or RGERR= setting is WARN
and a FIND error occurs ASMRMFV updates the usual 32 byte
Description field for the Service Policy category in ASI,
ENC, RCD output records as follows:
Category Description Field Contents
-------------- ---------------------------
Service Class SC: I=nnnnnnn E=eeeee L=lll
Report Class RC: I=nnnnnnn E=eeeee L=lll
Workload WL: I=nnnnnnn E=eeeee L=lll
Resource Group RG: I=nnnnnnn E=eeeee L=lll
where:
nnnnnnn is the invalid index value up to 7 decimal digits
eeeee is the actual number of entries in the Service
Policy for this category up to 5 decimal digits
lll is the length of one entry in the Service Policy
for this category up to 3 decimal digits
These Descriptions eventually become part of the MXG PDB.
When a Service Class, Report Class, Workload, or Resource
Group name variable in an MXG PDB is blank the
Description field in this case helps to explain why.
-When a setting is WARN AND an index value is ZERO the
respective Description field is also updated.
In this case NO messages are issued. An index may
validly be zero.
As examples, in a given Service Policy not all Service
Classes belong to a Resource Group nor do they
necessarily have a Report Class. The index for the
Resource Group and/or Report Class in these cases would
be validly zero.
-When a SCERR=, RCERR=, WLERR=, or RGERR= setting is
IGNORE and the respective index value is either invalid
or zero, the corresponding Description field is instead
left as blanks.
This was the behavior of prior ASMRMFV versions for zero
index values. Users who prefer to have the Description
field remain blank in the PDB in these cases should use
the IGNORE setting for all 4 error parameters (or set
MAXFINDS=0 as noted below).
-NOTE: The respective 8 byte Service Class, Report Class,
Workload, or Resource Group name variable itself in the
PDB remains as blanks for invalid or zero indexes
regardless of IGNORE or WARN settings.
-A new parameter MAXFINDS= (aliases MAXFIND=, MAXFI=,
MAXF=) specifies the number of FIND warning messages
RMFV070W, RMFV071W, RMFV072W, and RMFV073W to be shown
for each RMF III data set processed when the WARN setting
is in effect. The default is MAXFINDS=10.
-With the MAXFINDS= default up to 10 each of RMFV070W,
RMFV071W, RMFV072W, and RMFV073W warning messages could
be shown for each RMF III data set processed. The
counter is reset for each new RMF III data set.
-An extra RMFV037I message displays the numeric value
assigned to MAXFINDS= at ASMRMFV startup.
-MAXFINDS=0 EXCLUDES all FIND warning messages and has the
same effect as coding SCERR=IGNORE, RCERR=IGNORE,
WLERR=IGNORE, and RGERR=IGNORE.
-MAXFINDS=MAX allows virtually unlimited FIND warning
messages to be shown per RMF III data set.
-Documentation Section 2 "Terminology" has been expanded.
-Documentation Section 6 "Report Control Parameters" is
updated for the new MAXFINDS= parameter.
-Documentation Section 8 "Error Handling Parameters" is
updated for the new SCERR=, RCERR=, WLERR=, and RGERR=
parameters.
-Documentation Section 9 "JCL and SYSIN Parameter Usage"
has been updated.
-Documentation Section 12 is now called "Messages" and now
includes ALL possible messages that can be produced by
ASMRMFV. For each message there is a discussion of
purpose, whether the message is Multi-Line and/or
Multi-Severity, possible action(s) to be taken, and an
explanation of all variable fields in the message.
-Documentation Section 17 "Abend Reason Codes" is updated.
-Documentation Section 21 is now called "Extended
ASI/ENC/RCD/UWD Record Support" and has been updated.
-Documentation Section 24 "Sysplex Master Gatherer" is
updated for the new MASTER RMF III option in z/OS 2.1.
-Message RMFV032E was missing trailing +++ characters.
-Message RMFV034I is now message RMFV017I and message
RMFV034I is no longer in use.
-Error message RMFV043E is now a severe error message
RMFV043S.
-Message RMFV052* (* = I,W,A) had an invalid value for
CISIZE.
-Message RMFV106W was missing trailing * character.
-Two new diagnostic only messages for the ASI table
RMFV076I and RMFV077I have been added but do not
normally appear without a special procedure.
-Data ORIGIN message RMFV009I now includes the RMF Version
Number, z/OS Version and Release Number, and the MINTIME
sample time stamp to better identify the source of data
being processed for each RMF III data set.
-In the event multiple RMF versions have created data in
an RMF III data set message RMFV009I will be repeated as
needed for each new version detected.
-REQUIREMENT: In order to implement these features the
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Warren Cravey, Fidelity Institutional, USA.
Change 32.107 Support for optional CICS segment ESIUSER.
IMACICVG
UTILEXCL
May 8, 2014
Thanks to Alfred Holz, Express-Scripts, USA.
Change 32.106 Optional CMRDETL CICS segment is now 384 bytes long with
IMACICMX unpopulated/useless 128 bytes added to each CICS 110-1,
UTILEXCL so UTILEXCL is updated to detect the new length and tell
May 4, 2014 you to tailor the new IMACICMX member. The previous 256
length is still detected and IMACICMR identified for you
to tailor. IF BOTH IMACICMR and IMACICMX are identified
in your data, please send the UTILEXCL output using the
first example to support@mxg.com and we will return a
tailored member that will support both lengths.
Change 32.106A Protection for divide by zero in VXPRCPRP when HFCOUNT is
VMACVMXA zero, VMDUSER is removed from VXPRCMFC BY list as it is
May 4, 2014 not always populated.
Change 32.105 Variable NDMNODET is now labeled DIRECTION*OF*DATA and is
VMACNDM formatted with $MGNDMNT.
May 1, 2014
Change 32.104 Change 32.089 subtracted CPUASRTM from CPUTCBTM and added
VMAC30 CPUASRTM to CPUSRBTM. Now, the CPUUNITS and SRBUNITS are
May 8, 2014 also corrected by moving ASRUNITS from CPU to SRB, since
CPUASRTM is SRB, and not TCB, time.
Thanks to Julian Smailes, Experian, ENGLAND.
Change 32.103 DCOLMIGS dataset variable UMLRECL was always zero because
VMACDCOL the DSECT in Access Method Services has the wrong offset
May 1, 2014 for the 10 reserved bytes, which misled me to incorrectly
input UMLRECL.
Thanks to Steve Gormley, UNUM, ENGLAND.
Change 32.102 Support for OS/390 RMF data. MXG changes after MXG 30.30
VMAC7072 caused zero observations in PDB.TYPE70 for records from
Apr 28, 2014 OS/390. Now, IF VERSNRMF LE 607 THEN OS390='Y' is set and
used to force output when TYPE70EN has no observations.
Thanks to Jeff Fracas, WIPRO, USA.
====== Changes thru 32.101 were in MXG 32.04 dated Apr 27, 2014=========
Change 32.101 -Duplicate DB2 SMF ID=102 Trace records are removed in the
ADOC102 revised _S102nnn dataset sort macros that now correctly
VMAC102 PROC SORT NODUP DATA=_Wdddddd OUT=_Ldddddd, WORK to PDB.
Apr 26, 2014 (Previously, a DATA _Ldddddd; SET _Wdddddd; was used in
the "sort" macro to copy from WORK to PDB data library).
-The BY list _V102SRT _B102nnn, where V102SRT is this list
of common variables used for all T102Snnn sorts
SYSTEM QWHSSSID QWHCPLAN QWHCAID QWHSLOCN QWHCCV
QWHCCN QWHSSTCK QWHSWSEQ
and _B102nnn is the IFCID-specific variables that are
also needed for NODUP to work.
-But: NODUP can ONLY be verified with actual data records:
These IFCIDs had 50% removal with _ALL_ BY List:
004 005 006 007 022 027 053 058 059 060 061 062
063 064 064 066 072 703 074 075 080 081 082 086
090 091 095 096 107 108 109 112 142 173 177 191
199 208 225 247 250 254 261 262 263 267 268 340
342 343 350 359 361 362 366 370 371 377
This 1 IFCID needed it's _B102199 BY List Populated:
199
These 24 IFCIDs did not remove 50% with _ALL_:
023 024 025 055 083 087 106 140 141 143 144 145
169 172 192 196 219 220 258 313 319 337 402 SSS
All other IFCIDs had zero observations so it is not
known if the default _V102SRT BY list is sufficient, but
you can easily verify, by reading the same SMF input
twice with %READB2(IFCID=nnn,PDBOUT=PDB) and observing
if the PROC SORT duplicate observation count is equal to
to the output observations, i.e., 50% of the input.
-Obscure: Previously, variable T102RECN was accidentally
output with the physical record number in the SMF input
file, when it should have been a missing value, as it was
intended for internal debugging or support diagnostics.
But that non-missing value prevents NODUP removal of any
duplicate records, since duplicates would have different
values in T102RECN. It can't be dropped without possibly
causing someone's "perfectly good programs" to fail, so
it is now set to a missing value, as intended.
If you needed to know which SMF record created an obs,
you can populate T102RECN by inserting this statement
%LET MXGDEBUG=T102RECN;
in your //SYSIN input.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 32.100 VGETOBS First 32.04: A RUN; statement is REQUIRED, and,
VGETOBS only under SAS V9.2, the newly-used-in-32.04 FEXIST()
Apr 27, 2014 function didn't recognize a valid //PDB DISP=NEW DDNAME
that had already been written to; the BUILDPDB failed
with CRITICAL ERROR PDB DDNAME NOT FOUND when VMXGCICI
made the first VGETOBS call to create PDB.CICINTRV.
-The RUN; statement is required to be inserted inside the
%MACRO VGETOBS definition to force resolution of input
%macro variables before their reference, discovered when
%ANALZPCR failed to create any output.
-The FEXIST(DDNAME) function replaced a PROC SQL in 32.04
(to determine if the DDNAME existed when DDNAME.DATASET
didn't exist) because it looked simpler and faster with
a large VTABLE, but the measured difference was small and
large VTABLEs are very uncommon, so the initial test for
DDNAME existence is changed to %SYSFUNC(LIBREF(&DDNAME)),
with code reordered to expect existence, the normal case.
The fall thru to find if the DDNAME exists but has not
been opened/assigned, reverts to use the PROC SQL on
DICTIONARY.EXTFILES to avoid 9.2 FEXIST problem.
-Why is VGETOBS so pervasively used in MXG? First, to
verify that the DDNAME.DATASET of interest exists. Often
in MXG internal code, like VMXGWORL, so MXG can find and
copy/delete the WORK/PDB copy transparently, and often in
ANALxxxx report members that require your names as input,
VGETOBS is used to verify your request does exist. By
finding the non-existence before the reference, the user
can be alerted with explanatory MXGNOTES. Otherwise, not
only does the job eventually fail, but the failure error
messages can be quite confusing (BY VARIABLE NOT FOUND)
as they are not the actual cause of the failure. Second,
MXG can significantly reduce tape mounts and EXCPs using
VGETOBS to detect that tape or sequential format library
is in use; since SEQ doesn't have a directory of datasets
on tape, MXG can bypass the read of each tape volser to
find that this DATASET exists. And third, many of the
ANALxxxx/ASUMxxxx members use VGETOBS to bypass execution
of DATA and PROC steps where there is no data to report
or summarize.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Robert B. Richards, OPM, USA.
====== Changes thru 32.099 were in MXG 32.04 dated Apr 23, 2014=========
Change 32.099 NEARTIME updates a daily PDB library with every SMF dump,
NEARTIME to provide nearly current time reports throughout a day.
Apr 21, 2014 You can build a complete PDB each time, or only process a
few records that you may want to have available during
each day. It can create all of the PDB datasets in the
LIBNAME of NEARTIME, and after all datasets are created
and sorted, it can either APPEND or COPY those datasets
from the NEARTIME data library to the PDB data library.
It keeps track of its last run in SPIN.LASTRUN and for
the first run on a new day, it PROC COPYs to initialize,
or PROC APPENDs all datasets found in NEARTIME to PDB.
If you choose to run a full BUILDPDB, the standard
invocations of RMFINTRV CICINTRV ASUM70PR and ASUM113
are suppressed until after the copy process is complete,
so that the summarizations include all the data to that
point in time and they are redriven with every execution.
The JOBS/STEPS/PRINT datasets are built by the normal
BUILDPDB process, where SPINCNT is incremented for each
execution, so you may need to increase the SPINCNT value
in your IMACSPIN tailoring to account for the increased
number of executions per day. You could even add an MXG
step to your SMFDUMP routine to cause the daily PDB to
be as current as the last SMF dump. This has been tested
by two sites, so please use with caution and report any
problems, and any enhancement suggestions.
Change 32.098 Variable PCTMVSBY is added to PDB.ASUM70LP dataset.
VMXG70PR
Apr 21, 2014
Change 32.097 The pairing-macros sorts for the TRANSIT report wrote to
ANALDBTR T102Snnn dataset names that overlaid the originals and
Apr 21, 2014 caused SORTED BY errors. Now, P102Snnn names are used.
Change 32.096 Change 32.091 corrected VGETOBS performance, but that new
ANALID design removed a PROC SQL that had (accidentally) caused
VGETOBS instantiation of a macro variables, exposing an error in
Apr 20, 2014 ANALID where a RUN statement should have been used. The
missing RUN; statement is added in ANALID, but a second
RUN; statement is added at the top of VGETOBS in case any
other members needed that accidental protection.
Change 32.095 UNINITIALIZED variable DB2PARTY message eliminated.
TRNDDB2A
Apr 20, 2014
Change 32.094 Support for SMF ID=92 Subtypes 16 and 17 create:
EXTY9216 dddddd dataset description
EXTY9217 TY9216 TYPE9216 SOCKET/CHARSPEC FILE CLOSE
IMAC92 TY9217 TYPE9217 FILE ACCESSES WHILE OPEN
VMAC92 But, the subtype 16 is NOT documented in the z/OS 2.1 SMF
VMXGINIT SMF Manual nor in SYS1.MACLIB ember BPXYSMFR, so none of
Apr 20, 2014 the subtype 16 specific variables are created, pending
response from IBM with the documentation.
-Reading a subtype 17 record with earlier VMAC92 will
print a harmless INVALID READTIME message.
Change 32.093 -RMF III Documentation Upgrade
ADOCRMFV -There are now 25 sections in the ASMRMFV source
ASMRMFV prologue documentation and in the corresponding
Apr 20, 2014 ADOCRMFV member as follows:
Section Contents
------- --------
0 Contents
1 Installation
2 Terminology
3 Execution JCL
4 RMF III Table Input Selection Parameters
5 Input Data Selection Parameters
6 Report Control Parameters
7 Output Data Control Parameters
8 Error Handling Parameters
9 JCL and SYSIN Parameter Usage
10 Parameter Syntax Rules
11 Parameter Coding Examples
12 Common Report Messages
13 Filtered Records
14 Skipped Records
15 Program Limitations
16 Return Codes
17 Abend Reason Codes
18 REGION Size and Memory Usage
19 Output LRECL
20 FREE=CLOSE
21 Extended ASI/ENC/UWD Record Support
22 RMF III Data Set Index Usage and Sizing
23 RMF III MONITOR III Options and Effect on
Data
24 RMF III MONITOR III Sysplex Master
Gatherer & CFDETAIL
25 Summary
-Section 1. New. "Installation" has been added.
-Section 2 "Terminology" has been expanded.
-Section 12 "Common Report Messages" is greatly expanded
to include most information-only messages in the ASMRMFV
log.
-Section 17. New. "Abend Reason Codes" added. Each Abend
Reason Code that can be issued is now unique with no
repeat usage.
-REQUIREMENT: In order to implement the unique Abend
Reason Code feature the ASMRMFV utility program from this
MXG change must be installed. See MXG SOURCLIB member
JCLASM3 for sample JCL for the assembly and link-edit
install steps.
Change 32.092 Initial support for TMON/MVS Version 4.4 (INCOMPATIBLE).
VMACTMVS This change updated the TMVSSYS dataset. Contact support
Apr 17, 2014 at MXG to request the next dataset(s) you need updated.
Change 32.091 MXG 32.03: VGETOBS on z/OS could elongate elapsed time
VGETOBS and increase EXCP counts; both effects are now corrected:
Apr 17, 2014 -If there are tape DDs in the step, a loop inside the
Jul 11, 2014 macro did not use the correct index in VGETTAPES string
(contains all detected TAPE data library DDNAMES). Only
the first was found so other tape DDs could be read to
look for the needed dataset, causing an increase in EXCPs
and elapsed times. VGETOBS now uses the %SYSFUNC for the
EXIST function that checks for the existence of a SAS
dataset, and for the FEIXST function that validates the
EXTFILE name, and uses OPEN/CLOSE to get the number of
OBS in the dataset, instead of using the (expensive)
dictionary tables, unless DATASET=_ALL_ was specified to
build the MXGTABLES dataset.
-On zOS, VGETOBS can optionally build a dataset to keep
track of all tables it finds. Then, when done, it deletes
that table, but that destroyed the SYSLAST/_LAST_ value,
so a subsequent PROC step without a DATA= argument failed
with a dataset not found error. Now, VGETOBS preserves
SYSLAST in VGETLAST and resets SYSLAST to VGETLAST.
-Jul 11: THIS ERROR CAN ALSO SIGNIFICANTLY INCREASE THE
CPU TIME of any job with LOTS of VGETOBS executions.
In one case, 29.06 took 20 seconds, while 32.01 took 192.
Thanks to Betty Wong, Bank of America, USA.
Change 32.090 AUTOEZOS/CONFIGEZ provide new "EAZY" methods to execute
AUTOEZOS MXG on z/OS with SAS 9.2 and above, using your site's SAS
CONFIGEZ JCL procedure and your site's default SAS options.
JCLEZCFG Jul 19: WPS 3.1.1 is required for AUTOEZOS.
JCLEZSAS -The JCLEZSAS example %INCLUDEs the new AUTOEZOS member,
Apr 17, 2014 which uses the SAS APPEND= option to set the //LIBRARY
Jul 19, 2014 DDNAME for the MXG Formats, uses the SAS INSERT= option
to add SOURCLIB to SASAUTOS, and then invokes %VMXGINIT
to set the other options required for MXG execution.
This is the simplest way to set up the MXG environment,
but it does require that your site's SAS options do not
conflict with those needed by MXG's environment.
(It is unlikely you would need to tailor AUTOEZOS.)
-The JCLEZCFG example would be used if your default SAS
options conflict with those required by MXG, where simple
JCLEZSAS cannot be used. JCLEZCFG adds a CONFIG= option
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIGEZ)' as CONFIGEZ
sets ALL MXG-required options; the JCLEZCFG example also
then %INCLUDES AUTOEZOS, as above, to set the LIBRARY and
SOURCLIB DDNAMEs and to invoke %VMXGINIT. Since all MXG
required options are in CONFIGEZ member, it is unlikely
that you would need to tailor it, although those SAS
options that must be set at SAS Initialization can only
be set in that CONFIGEZ member.
Thanks to MP Welch, Bank of America, USA.
Change 32.089 IBM TYPE30 field SMF30CPT (CPUTCBTM) has always included
VMAC30 CPUASRTM (SMF30ASR), but ASR is time under an SRB, so ASR
Apr 17, 2014 is now subtracted from CPUTCBTM and added to CPUSRBTM so
Aug 7, 2014 those variables match reality; this has no impact on the
total CPUTM variable (which IMO should be used, always).
MXG also had subtracted CPUASRTM from CPUTCBTM to create
TASKGCPTM, but that subtraction is redundant and removed.
- I am asking IBM SMF if the new ASR Instruction Counts
are also included in the CPT Instruction Counts.
Apr 23: IBM RMF support replied that the WLMGL Report in
the RMF Report Analysis Book shows under SERVICE, that
CPU service includes the task and preemptible-class SRB
processor service, and the SRB units contain only the
non-preemtible SRB service units. Unfortunately, in the
RMF 72 records, there is no "ASR" field with either the
service or CPU time of the preemptible-class SRB metric.
Aug 7: This reduction in CPUTCBTM increased the value
of variable AVGWKSET in TYPE30 datasets, calculated as
AVGWKSET=4*PAGESECS/CPUTCBTM;
starting with MXG 32.04.
Thanks to Julian Smailes, Experian, ENGLAND.
Thanks to Brent Turner, Citigroup, USA.
Change 32.088 Support for NMON BBBPMOUNT and BBBPNETSTAT records create
EXNMONMT new datasets:
EXNMONNS DDDDDD DATASET DESCRIPTION
IMACNMON NMONMT NMONBBBPMOUNT NMON BBBP MOUNT
VMACNMON NMONNS NMONBBBPNETSTAT NMON BBBP NETSTA
VMXGINIT The mount record contains only the month and day without
Apr 17, 2014 a year; if the current month is larger than the mount
month, the mount date uses last year's year value.
-An INVALID ARGUMENT to FUNCTION INPUT when BBBPEND051 had
a one-digit hour value was corrected.
-Jul 17: Cosmetic. _WNMONFR, _WNMONFW and _WNMONFO in the
MACRO _NNMON were removed; they never existed.
Thanks to Len Marchant, Coke-Cola, USA.
Change 32.087 Support for SMF 120 Subtype 100 ODM (Operational Decision
VMAC120 Manager record creates new dataset:
VMXGINIT dddddd dataset Description
IMAC120 T1201C TY120100 ODM OPERATIONAL DECISION MANAGER
EXT1201C Jun 3 update, in MXG 32.05:
Apr 18, 2014 -Only Subtype 100 with non-zero EXN are output; st-100's
Jun 3, 2014 are written every interval (30 minute default), one for
each CICS APPLID in test data, but most have no segment;
some records do have multiple EXN segments so each one is
now output in dataset TY120100.
-IBM offset EXO is strange, required +5 to locate the data
segment. (-3 is normal, rarely +1, but never +5 before!),
but it is now used to correctly align each input.
-IBM length EXL is also "wrong", as it is the TOTAL length
rather than the expected length of one segment, so it is
now divided by EXN to get the per-segment length for each
segment's input.
-GMT Offset is now kept in existing SM1209CD variable.
-SM120STM/SM120ETM are now correctly labeled.
Thanks to Paul Volpi, UHC, USA.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.086 Execution with SAS 9.3 TS1M0 now raises an MXGWARN note:
VMXGINIT MXGWARN: SAS 9.3 TS1M0 DETECTED. SAS HOT FIX (SN43828)
Apr 14, 2014 MXGWARN: REQUIRED TO PREVENT LET-STATEMENT ERRORS.
MXGWARN: BETTER STILL:: 9.3 TS1M1 CONTAINS THE FIX.
(This need was documented in CHANGE 29.159 in 2011.)
Change 32.085 These QWP1/4/5/9 variables were overlooked, but are now
VMAC102 INPUT and kept in T102S106 dataset:
Apr 15, 2014 QWP1DATH QWP1DPSS QWP1DSGN QWP1DSSZ QWP1DXAC
QWP1LBIL QWP1LOGM QWP1LOGR QWP1ZPNM
QWP4AECR QWP4APCO_VAR QWP4ATRC QWP4CDDC QWP4CDMC
QWP4CDSC QWP4CDTSL QWP4CXDC QWP4CXMC QWP4CXSC
QWP4DEGD QWP4DLRU QWP4FCPY QWP4HASH QWP4IAST
QWP4IMWF QWP4IXCU QWP4KLRU QWP4MIMTS QWP4MIS7
QWP4MIS8 QWP4MIS9 QWP4MISA QWP4MISB QWP4MS4F
QWP4MUSE QWP4N0193A QWP4N0193B QWP4PELM QWP4PFLG
QWP4PFUP QWP4PLMR QWP4PLSF QWP4PMSC QWP4QRWD
QWP4RACK QWP4RDVPR QWP4RMDB QWP4RSLV QWP4S1IL
QWP4SFBS QWP4SLRU QWP4WFSAT QWP4WFSST QWP4SEPSD
QWP4SECA1_E QWP4SECA1_TYPE QWP4SECADM1
QWP4SECA2_E QWP4SECA2_TYPE QWP4SECADM2
QWP5BPM QWP5APM
QWP9TCPVX QWP9MCONQN QWP9MCONQW QWP9DDFC QWP9TCPA
Thanks to Wolfgang von Schumann, Finanz Informatik Tech, GERMANY.
Thanks to Norbert Philips, Finanz Informatik Technologie, GERMANY
Change 32.084 Typo. If you modified macro _GRAPALNM, an MXGNOTE was
ASUMTALO printed that it had been added to the BY LIES instead of
Apr 9, 2014 BY LIST.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 32.083 ANALID did not follow MXG conventions with an &Pxxxxxx or
ANALID a _L/_Wdddddd tokens. Revised to use the &PDBMXG macro
Apr 5, 2014 variable so that if the output destination was overridden
by VMXGINIT SMFRECNT will end up in the right place.
Change 32.082 These NETEZZA/IDAA PDB.DB2STATS Q8STxxxx variables should
VMACDB2 not have been deaccumulated:
Apr 5, 2014 Q8STACTV_64 Q8STCCPU_64 Q8STCORS Q8STCPMU Q8STCQL
Q8STDSA Q8STDSKA Q8STDSKB Q8STDSKU Q8STMAXA_64
Q8STMAXQ Q8STMNQS Q8STNMDS Q8STNQCS Q8STTATE
Q8STWCPU_64 Q8STWNOD_64
IBM doesn't always identify which fields are accumulated,
so the DIF() code is put in place, and then data is read
to detect negative values (proof of not accumulated so
those variables are removed) but I failed to run the test
for negative values in Change 32.072.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.081 A minor exposure in UTILBLDP. If IMACKEEP= was not used
UTILBLDP (blank) AND BUILDPDB was YES then the substitution macros
Apr 4, 2014 for SPINCNT SPINUOW and TIMEDIF were defined twice which
could result in MACRO 0 0 % which is not a valid syntax
and produced an error message but did not stop execution.
Now only generated if BUILDPDB EQ YES. MACKEEP and
MACFILE are now nulled out after execution.
Change 32.080 ANALDB2R selection parameters use the =: colon modifier
ANALDB2R to select "Starting With". If you used DB2=DSN to select
Apr 3, 2013 only the DSN subsystem, but have subsystems DSN DSNT and
Apr 15, 2014 DSNP, all three will be selected.
New parameters INCODEACCT and INCODESTAT let you define
your own selection criteria.
INCODEACCT= applies to the accounting reports and many
trace reports, while
INCODESTAT= applies to the stats reports. For the
For the above single-subsystem selection, you would use:
INCODEACCT=IF QWHSSSID='DSN';
-MXGACC03 could fail on zOS with dataset not found error
because SYSLAST was overwritten by VGETOBS but the last
dataset created by VGETOBS no longer existed, because the
TABULATE did not contain a DATA= argument.
Change 32.079 The _V and _K tokens for TYPE9035 were incorrectly set to
VMAC90A 9036 instead of 9035.
Apr 3, 2014
Thanks to Chris Weston, SAS ITRM, USA.
====== Changes thru 32.078 were in MXG 32.03 dated Apr 3, 2014=========
Change 32.078 Support for OAM SMF 85 record for z/OS 2.1 (INCOMPAT).
VMAC85 The record VERSION test required an explicit '2010' value
Apr 3, 2014 to prevent INPUT STATEMENT EXCEEDED RECORD error.
Thanks to Joachim Sarkoschitz, DATEV, GERMANY.
Change 32.077 Support CICS/TS 5.2 OPEN BETA: CICSTRAN COMPAT, Stat NOT:
VMAC110 -5.2 CICSTRAN has been SUPPORTED since MXG 31.03 (3/2013),
Mar 31, 2014 as NO NEW FIELDS WERE ADDED TO CICSTRAN IN CICS/TS 5.2,
Apr 1, 2014 at least not in the OPEN BETA (so GA could be changed!).
(MXG 31.03 or later is required for CICS/TS 5.1.)
-5.2 STID=62 CICDS Dispatcher CPU Statistics (per-TCB CPU)
records read with MXG 32.02 or earlier are wrong/missing
values, due to fields inserted in STID=62 segments. MXG
does detect and report that STID=62 was CHANGED, but only
in obscure ***MXG WARNING.TYPE110 messages that don't
tell you the output was trashed. MXG did continue to
read the rest of your SMF data after those warnings.
WITH THIS CHANGE: CPU times are correct.
-STID=62 CICDS dataset has these variables read from the
header and kept
DSGLXSCN='LAST EXCESS*TCB SCAN'
DSGLXSND='LAST EXCESS*TCB SCAN*NO TCB*DETECTED'
and 18 sets of these three variables are added, one per
TCB, with "DSG" replaced by each TCB's prefix:
DSGTMCDQ='QR TCB*CURR TASKS*DISPATCH*QUEUE'
DSGTMCDQ='QR TCB*PEAK TASKS*DISPATCH*QUEUE'
DSGTMCDQ='QR AVG*PEAK TASKS*DISPATCH*QUEUE'
-STID=62 CICSPOOL Pool dataset has these five new varS;
DSGLTCB='OPEN POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
DS2LTCB='JVM POOL *DATETIME*WHEN*POOL LIMIT*REACHED*/
DS3LTCB='XPT POOL *DATETIME*WHEN*POOL LIMIT*REACHED*/
DS4LTCB='SSLD POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
DS5LTCB='THRD POOL*DATETIME*WHEN*POOL LIMIT*REACHED*/
-5.2 also changed STID 10, 81 and 105, but COMPATIBLY with
new data appended rather than inserted, so prior versions
MXGWARNed there was new data and skipped with no impact.
-5.2 new STIDs 36 and 147 were also safely skipped.
-STID=10, CICXMG dataset, XMG DSECT, new variables:
XMGATMXT='80X*IF*CURRENTLY*AT MXT'
XMGGAMXT='GMTTIME*WHEN*MXT*REACHED'
XMGGSMXT='GMT*WHEN*MXT*SET'
XMGGTAT ='GMT*WHEN*LAST*ATTACHED'
XMGLAMXT='DATETIME*WHEN*MXT*REACHED'
XMGLSMXT='DATETIME*WHEN*MXT WAS*SET'
XMGLTAT ='DATETIME*WHEN*LAST*ATTACHED'
-STID=81, CICM dataset, MNG DSECT, new variables:
MNGAUTRT='AVG*USER*RESPONSE*TIME'
MNGCAUTA='CURR TASKS*AT LAST*ATTACH'
MNGLUCTL='DATETIME*WHEN*LAST*ATTACH'
MNGLUCTL='DATETIME*WHEN*LAST*TRANS*ENDED'
MNGLUTRT='DATETIME*WHEN*PEAK*RESPONSE'
MNGMXUTA='MXT VALUE*AT LAST*ATTACH'
MNGPUTRT='PEAK*USER*RESPONSE*TIME'
MNGSTNUM='SYSTEM*TRANSACTIONS*ENDED'
MNGUTNUM='USER*TRANSACTIONS*ENDED'
-STID=105, CICPIR dataset, PIR DSECT, new variables:
PIRMSGFO='MSGFORMAT'
-New STIDs 36 and 147 are listed as STILDP and STIPGE and
listed as PRIVATE LODER and PRIVATE PROGRAMDEF, but the
OPEN BETA DATA AREAS does not have LDP nor PGE, yet.
Change 32.076 -INPUT STATEMENTs EXCEEDED, one due to invalid TOKDANAM
VMAC80A 'UID' segment with 6 bytes of data but TOK80LN2 only 3;
Mar 31, 2014 this is detected, an MXG error message printed of the
first two instances, and two due to the increased lengths
of TOKQUEST2 and TOKANS2 fields (where MXG has to pick a
max length, but I guessed wrong).
-Variable RACF31DS, RVARY DSN added to TYPE8025 dataset.
-TOKDANAM values 'FTEL' 'MTEL' 'EMAIL' are decoded into
new TOKFTEK/TOKMTEL/TOKEMAIL variables and 'ADDRESS1' and
'ADDRESS2' values are output in existing TOKAD1/TOKAD2
variables in TYPE80TK dataset.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 32.075 Retrieves current ODS destination into a global variable
VGETDEST VGETDEST. If no ODS destination has been set it will get
Mar 31, 2014 the ODSDEST option value (normally AUTO), which on zOS is
LISTING and on ASCII is HTML. Used internally in MXG in
new SGPLOT reports.
Change 32.074 -DB2 IFCID 402 dataset T102S402 now outputs all segments;
VMAC102 previously only the first segment was output. But obs
Mar 27, 2014 are only output after deaccumulation if QW0402ACTIVE,
Mar 31, 2014 QW0402ACTIVE=SUM(QW0402TE,QW0402TQ,QW0402TF,QW0402TW,
QW0402CE,QW0402CW,QW0402OE,QW0402OW);
shows there was activity during this 1-minute interval.
-The BY list _B102402 now includes QW0402PI, Profile ID,
which is the unique token in each segment.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 32.073 The _SMF processing macro is enhanced to read either the
VMACSMF //SMF DD to read dumped SMF VBS data, or the //LOGGER DD
VMXGINIT to directly read current SMF logstream data, or to
Mar 27, 2014 first read //SMF DD (which can be a concatenation of SMF
VBS data, and then read the //LOGGER DD. The default of
SMF is unchanged, to read the //SMF DD, but you can use
%LET MXGREADSMF=LOGGER;
to ONLY read the LOGGER file, or you can use
%LET MXGREADSMF=BOTH;
to read both.
-For LOGGER read, OFFSMF=0 is now set in VMACSMF, so the
macro variable READLSMF (Change 31.235) was removed from
VMACSMF as no longer used by this change, which also
removed READLSMF from VMXGINIT (in MXG 32.03).
Apr 22: I had to send this 32.03 VMXGINIT to a site with
the INSTREAM error; using the new VMXGINIT with the old
VMACSMF did NOT work, and generated spurious errors of
INVALID SMFTIME; removing READLSMF from VMXGINIT caused
UNRESOLVED MACRO READLSMF condition, which caused MXG's
test for &READLSMF EQ 0 to fail, so VMACSMF fell thru and
attempted to read the VBS //SMF file with the (correct
for Logger) attributes of RECFM=VB,LRECL=32756, which
broke logical records and caused INVALID SMFTIME errors.
This won't likely occur again, but I put READLSMF back in
VMXGINIT's %GLOBAL statement.
-Variable READSMF contains 'SMF' or 'LOGGER' to identify
the source of each record during processing, variables
NDUMPREC and NLOGREC count the records read from //SMF
and //LOGGER respectively. You could hex-dump the first
record from each infile with
%LET MACFILE= %QUOTE(
IF NDUMPREC=1 THEN LIST;
IF NLOGREC=1 THEN LIST; );
Thanks to Jim S. Horne, LOWE's Companies, USA.
Change 32.072 -DB2ACCT variables QWACAACC and QWACAACW (IDAA statistics)
VMACDB2 are now INPUT and kept.
Mar 28, 2014 -These DB2STATS IDAA/NETEZZA variables added in DB2 V11
are now INPUT and kept:
Q8STACTV_64 Q8STCQL Q8STCRL Q8STCSS
Q8STDSA Q8STMAXA_64 Q8STMAXQ_64 Q8STMNQS Q8STNDS
Q8STNBA Q8STNBS Q8STNDA Q8STNIA Q8STNIS
Q8STNLRA Q8STNLRS Q8STNLTA Q8STNLTS Q8STNQCS
Q8STNQFA Q8STNQSA Q8STNUA Q8STNUS Q8STTART
Q8STTATC Q8STTCCA Q8STTCCS Q8STTCMA Q8STTCMS
Q8STTCQA Q8STTCQS Q8STTLSC Q8STWCPU_64
Q8STWNOD_64
PROBLEMS:
-The data needs validation; many values are zero making
determination difficult; most values do look reasonable,
but there are 8 extra bytes not in the DSECT that are
skipped at the top of the segment, which might be the
wrong place, but there is consistency with the "ALL DB2"
variables with "S" suffix that all have values of -1
(INPUT as IB8) while their "THIS DB2" variables with "A"
suffix are populated.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.071 Connect-Direct NDMCPU='CPU TIME*OF STEP' is now added to
VMACNDM the NDMPT dataset, along with these new variables:
Mar 26, 2014 NDMECP0 ='CPU TIME*ON CP'
NDMECP1 ='CPU TIME*ON ZIIP'
NDMECP2 ='ZIIP*QUALIFIED*PART OF*NDMECP0'
NDMHQSTA ='QUEUE*STATUS*IF*PTQHOLD'
NDMSUBJID='SUBMITTING*JCTJOBID'
NDMSUBJOB='SUBMITTING*JOB'
And these variables are added to NDMCT dataset:
NDMECP0S='SEND*CPU TIME*ON CP'
NDMECP1S='SEND*CPU TIME*ON ZIIP'
NDMECP2S='SEND*ZIIP*QUALIFIED*PART OF*NDMECP0S'
NDMECP0R='RECV*CPU time*on CP'
NDMECP1R='RECV*CPU time*on ZIIP'
NDMECP2R='RECV*ZIIP*QUALIFIED*PART OF*NDMECP0R'
Thanks to Michael Oujesky, DTCC, USA.
Change 32.070 Support for ASG-TMON CICS TS V3.4 (NO MXG UPDATE NEEDED).
TYPETMO2 TMON CICS v3.4 is the toleration support for CICS/TS 5.2,
Mar 24, 2014 which is now in Open Beta, but there were NO changes to
their data records so there is no associated update.
Change 32.069 When trying to reduce the line size of the code being
VMXGPARS generated by UTILBLDP to 65 bytes to fit on neat and
Mar 24, 2014 pretty lines in INSTREAM, VMXGPARS parsing went backwards
from BYTE 65 to 50 looking for a blank but if it did not
find one it arbitrarily stopped, which could be in the
middle of a quoted string causing broken syntax and many
strange errors. Now, the search continues until a blank
is found. This error was NOT reported. It was exposed
when testing UTILBLDP with new syntax in MACFILEX=.
Change 32.068 New DB2 Buffer Pool analysis report, based on SHARE
ANALDB2R Anaheim Session 14610, Robert F. Catterall, IBM, "Key
Mar 23, 2014 Metrics for DB2 for z/OS Subsystem and Application
Performance Monitoring", using the DB2STATB dataset.
Based on the total read I/O rate, it can suggest if the
Buffer Pool is too small, or if perhaps it is too large.
With SAS 9.3+, charts are produced, followed by a report
identifying BPs these problem criteria:
Avg read IO rate GE 1000/sec
Max read IO rate GE 5000/sec
Total BP size exceeds 50% of available CSTORE
Max used buffers LT 25% of BP
If no BPs fit the exception criteria a message is
produced telling you that.
This is report MXGDB2B1 in ANALDB2R.
Change 32.067 Cosmetic. Missing values for OPENTM occur when OPENTIME
VMAC64 variable is not populated; TYPE64 observations with
Mar 21, 2014 SITUATN='NO SPACE AVAILABLE' or 'CATALOG UPDATE' do not
populate OPENTIME; OPENTM calculation is now protected.
Some of these obs have large negative value in UNUSEDCI.
Change 32.066 Support for selection by DSNAME for all MXG datasets that
IMACDSCK contain a "DSNAME" value with the new &MACDSCK facility.
Mar 21, 2014 See the documentation examples in IMACDSCK, but this will
find all observations in SMF record with DSNAME that
starts with SYS1."
%LET MACDSCK=
%QUOTE (
LENGTH DSNAME ENTRNAME $44;
IF INDEX(DSNAME,'SYS1.') OR
INDEX(ENTRNAME,'SYS1.') THEN
);
%UTILBLDP(BUILDPDB=NO,OUTFILE=INSTREAM,
USERADD=1415 1718 42 60 6156 62 6
%INCLUDE INSTREAM;
RUN;
Thanks to Scott Barry, SBBWorks, Inc., USA.
Change 32.065 Support for APAR OA44798 enhancement to SMF ID=22 record,
VMAC22 added the new Subtype 12 Storage Element Extension, adds
Mar 21, 2014 two variables to the existing TYPE22_3 dataset:
SMF22XGL='BLOCK*NUMBER OF*FIRST*FRAME'
SMF22XPG='ONLINE*FRAMES'
Change 32.064 Line 77 had an unwanted close-paren and semicolon that
ANALID prevented ODS output and are now removed.
Mar 20, 2014
Thanks to Sabrina Mandelatz, Provincial, GERMANY.
Change 32.063 Hydra TS7700 IBM reports are replicated in ANALBVIR.
ANALBVIR These reports are completed:
JCLBVIR REPORT DESCRIPTION
Mar 18, 2014 H20VIRT VNODE VIRTUAL DEVICE HISTORICAL RECORDS
Apr 6, 2014 H21ADP00 VNODE VIRTUAL DEVICE HISTORICAL RECORDS
H21ADPXX VNODE VIRTUAL DEVICE HISTORICAL COMBINDED
H21ADPSU VNODE ADAPTOR HISTORICAL ACTIVITY COMBINDED
H21ADPTP VNODE ADAPTOR THROUGHPUT DISTRIBUTION
H30TVC1 HNODE HSM HISTORICAL CACHE PARTITION
H30TVC2 HNODE HSM HISTORICAL CACHE PARTITION (1)
H32TDU12 HNODE LIBRARY HISTORICAL DRIVE ACTIVITY
H32CSP HNODE LIBRARY HIST SCRTCH POOL ACTIVITY
H32GUP&NUM HNODE LIBRARY HIST GUP/POOLING ACTIVITY
Thanks to Joe Babcock, JPMorgan Chase, USA.
Change 32.062 Variables R791PHTA/PHTI/FLG3/FLG3A/R791FLG3S & similarly
VMAC79 variables R792PHTA/PHTI/FLG3/FLG3A/R792FLG3S are kept in
Mar 17, 2014 datasets TYPE791 and TYPE792 respectively. Added in z/OS
2.1, but the 2.1 SMF manual had no vertical bars to mark
the new fields. (IBM acknowledges the error and will fix
for the 2.2 SMF manual.)
Change 32.061 Graphs from two SHARE 2014 Anaheim presentations, Session
GRAFCIMP 15214, "WLM Update for z/OS 2.1 and 1.13" by IBM's Horst
Mar 16, 2014 Sinram, and Session 14745, "WLM - Performing a Quick WLM
Performance Checkup", by Peter Enrico are replicated with
with graphs of CPU resource by importance level and
service class level, and then at the service class level
within importance, plus a scatter graph of performance
index at the importance level with additional scatter
graphs at the service class level within importance. As
a side benefit you can also see how many service class
periods are active at each importance level. The graphs
are produced by PROC SGPLOT; SAS/GRAPH is NOT used.
Example report output can be at viewed at:
Http://www.mxg.com/download/Change 32.061
Change 32.060 %INCLUDE of VMXGUOW was needed in these examples to get
JCLUOW _SUOW and _BSUOW values, but that could cause errors due
JCLUOWP to a conflict executing VMXGUOWC. This change inserts the
JCLUOWV _SUOWxxx and _BSUUOW macro definitions in these members
Mar 16, 2014 to eliminate the %INCLUDE and associated exposure.
Change 32.059 Support for ZEN 2280 product's new CSM records (INCOMPAT,
EXZOSAJB because existing subtype 32 header had inserts).
EXZOSAPO Three new datasets are created:
EXZOSASU dddddd Dataset Description
IMACZOSA ZOSASU ZOSASUMM CSM Summary
VMACZOSA ZOSAPO ZOSAPOOL CSM Per Pool
VMXGINIT ZOSAJB ZOSAJOB CSM per JOB
Mar 14, 2014 -Outstanding issues with first iteration:
SYSTEM variable is blank.
Intervals drift 2 seconds per hour, and are not SYNC
with SMF.
JOB dataset does not have READTIME nor JESNR.
Change 32.058 Thruput Manager INVALID ARGUMENT- TPMPI=INPUT(TPMPICH,1.)
VMACTPMX because the previously expected $EBCDIC1 numeric value of
Mar 13, 2014 importance is now a binary ('03'x) requiring a new test
and conditional input of TPMPI, in dataset TPM16J.
Thanks to Scott Barry, SBBWorks, Inc., USA.
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 32.057 z/VM data files for Velocity zXPS, MONWRITE, etc, MUST be
VMACXAM FTP'd with TYPE E specified, which is NOT the default.
Mar 13, 2014 Worse, when the default IS used its value is NOT shown
on the ftp log. The ftp default is TYPE A, ASCII text,
and I was unaware that when TYPE A FTP transfer goes from
one EBCDIC system to another EBCDIC system (e.g. z/VM to
z/OS), it changes from EBCDIC to ASCII and back to
EBCDIC, which leaves the UPPERCASE TEXT unchanged, but
the binary data is mangled. One specific mangle: '64'x
original value becomes '3F'x, so the 100 byte length of
SYTSYP became 63 which caused MXG ERROR messages. This
change tests for a length of not-100 and issues a USER
ABEND 666 to report the wrong FTP TYPE was used.
Using MODE BLOCK is also recommended for these ftp's.
Thanks to Wang Zahn, AIG, USA.
Thanks to Rob van der Heij, Velocity Software, EUROPE.
Change 32.056 CANNOT CLONE BUFFSIZE warnings during PROC COPY might be
VGETOBS bad for execution EXCPs and run time, and this could have
Mar 13, 2014 been caused by VGETOBS, under unusual circumstances, when
it made a bad decision and issued a LIBNAME statement for
a sequential-format-on-disk instead of normal disk. This
could happen on z/OS only, only if the dataset had never
been opened for output, and VGETOBS was issued against
the DDNAME, AND, there are tape datasets allocated to the
job, and this can only happen on the very first invoke of
VGETOBS when it reads all LIBNAMEs to identify those on
tape/sequential format. Now, VGETOBS recognizes that the
DDNAME is not SAS or at least has not been opened and it
does NOT issue a LIBNAME statement.
Note: A SAS data library in sequential format on disk
does not have a directory, so SAS must read all
records from the start to find a dataset.
Thanks to Paul Volpi, UHC, USA.
Change 32.055 -RMF III Enhancements, Fixes, and Notes
ADOCRMFV -A new generic RMF Monitor III table selection parameter
ASMRMFV BASIC is supported. This is a convenient shorthand
Mar 12, 2014 method to select RMF III tables of most common general
Mar 14, 2014 interest and usage. There is no alias for BASIC.
Mar 30, 2014 BASIC selects these RMF III tables:
ASI CAT CPC CPU DVT ENC GEI OPD RCD
-A new generic RMF Monitor III table selection parameter
MOST is supported. This is a convenient shorthand method
to select all possible tables of any practical value.
There is no alias for MOST.
MOST includes all the tables selected by BASIC and in
addition selects these RMF III tables:
CFI CPD CSR ENT SPG SVP.
-NOTE: All other RMF III tables may still be selected or
filtered even when BASIC or MOST is specified to achieve
other useful table selection combinations.
For example, these PARM values in JCL (or alternatively
in the SYSIN DD file) are all valid:
PARM='BASIC,CPD,CSR' Add CPD and CSR to BASIC set
PARM='BASIC,NODVT' Exclude DVT from BASIC set
PARM='MOST,NOSPG' Exclude SPG from MOST set
-Recent information obtained indicates that the Invalid
Resource bit may be set for Processor entries in the RED
table in a MINTIME interval due to normal processor
change events. So these are not true RED table errors.
Operation is changed for RED Processor entries only so
that when the RED table is selected and the Invalid
Resource bit is on, then the entry is still skipped, but
no error messages are now issued, and the Return Code is
left unchanged. Prior to this change error messages were
generated and Return Code 0016 would be set. Error
handling for other types of RED entries is unchanged.
-The behavior for the 'ALL' table selection parameter was
changed in Change 32.037 so that it overrode any NOxxx
table filter options regardless of input order. However,
this was inconsistent with the operation when 'ALL' was
default because only NOxxx filters were coded. Those in
effect did override 'ALL', but this change restores the
earlier behavior so that any NOxxx filter parameters will
be honored even when 'ALL' is coded. No further behavior
changes are planned for this condition.
-Change 32.037 also altered the behavior when both NOxxx
table filter and table xxx selection parameters were used
for the same table. The xxx table selection parameter
always overrode the NOxxx table filter parameter
regardless of input order. This change reverses that
behavior so the NOxxx filter parameter always overrides
the xxx selection parameter for the same table. No
further behavior changes are planned for this condition.
-NOTE: Please do not select AND filter on the same RMF
Monitor III table in the same ASMRMFV run to avoid
unintended results.
-Documentation in the ASMRMFV source prologue and in the
ADOCRMFV member has been updated appropriately.
-When validating a large RMF III CFI table and a section
offset exceeded X'FFFF', the calculation for the output
CFI record length was incorrect. The entire CFI table was
then skipped because the result record length was over
32K. Message RMFV035S was issued followed by Return Code
0016. The register used in the length calculation is now
cleared prior to inserting each half word section length
for validation so that the CFI table is not skipped.
-Updated documentation content, and mixed casing as well!
-REQUIREMENT: In order to implement this fix the current
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to Warren Cravey, Fidelity Institutional, USA.
Change 32.054 Variables SMF70CPA_SCALING,SMF70CPA_ACTUAL were input two
VMAC7072 bytes to the right, producing very large numeric values,
Mar 10, 2014 but the SCALING/ACTUAL ratio, now SMF70CPA_RATIO was the
same! The new z/OS 2.1 RATIO is used instead of raw-CPA
to calculate the SMF70CPA Service Unit Per Second value:
New: SMF70CPA=16000000*SMF70CPA_RATIO
Old: SMF70CPA=16000000/SMF70CPA-in-Record
So the new ratio is the inverse of the RMCTADJC, almost:
Raw CPA=423 1/423=.002364066 ==> SMF70CPA= 37825.059
SMF70CPA_RATIO =.002364590. 37833.440
The raw-CPA is an integer, which limits the granularity
of SMF70CPA value. Integer 424 sets SMF70CPA=37914.692
so the exact 37833 value cannot be set with raw-CPA. Now,
since RATIO is a fraction, any numeric value can be set
for SMF70CPA in future engines. The numeric difference
is small, but with this change, for z/OS 2.1, SMF70CPA
is now calculated using the SMF70CPA_RATIO value.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 32.053 Compression ratios SMF21CRR/SMF21CRW are now calculated
VMAC21 for non-3590 devices, using these existing variables:
VMAC21 SMF21CRR=BYTEREAD/SMF21MDR;
VMAC21 SMF21CRW=BYTEWRIT/SMF21MDW;
VMAC21 For 3590s, note that:
Mar 10, 2014 -Bit SMF21NCT is on ONLY for 3590s and inputs the channel
and device bytes read/written SMF21BRN/BWN/DBR/SMF21DBR
variables, now used for the compression ratio.
-Bit SMF21MFV is NOT on for 3590s, so the previous counts
of bytes read/written/compressed will always be missing
for 3590s in variables SMF21MCR/MDR/CRR/MCW/MDW/DRW.
Thanks to Jorge Fong, NYC Information Technology, USA.
Change 32.052 Support for SMF 112-35 Tivoli Enterprise Monitor Server
EX112TEM record creates new dataset
IMAC112 dddddd dataset description
VMAC112 112TEM T112TEMS Tivoli Enterprise Monitor Server
VMXGINIT There are also subtypes 32 thru 37 that may be supported
Mar 10, 2014 in a later update to this change.
Thanks to Michael Oujesky, DTCC, USA.
Change 32.051 Test added to SUOWMQ macro to check for MQMADD value of
VMXGUOW NO to bypass reading the CICUOW dataset. This will let
VMXGINIT you set _UOWCIC to _NULL_ and save a lot of WORK space by
Mar 9, 2014 eliminating the creation of a dataset that is ONLY used
if you also have MQ data and have specified MQMADD=YES.
Change 32.050 RMF III datasets ZRBRCDS (Service Class) and ZRBRCDR
VMACRMFV (Report Class) did not contain the five CPUxxxTM values
Mar 8, 2014 (TCB/SRB/RCT/HPT/IIP), suggesting these RMF III datasets
were seldom used, because the same data exists in RMF I
TYPE72GO dataset. They are now created so that I could
compare the CPU times captured by RMF I, RMF III and SMF.
See MXG Technical Newsletter 64 MVS Technical Note 1.
Change 32.049 Added a WHERE= parameter for the PRINT, MEANS, FREQ, and
VMXGPRAL COMPARE procedure executions so you can insert the SAS
VMXGPRA1 code in a WHERE clause to select what will be analyzed or
VMXGPRNT printed.
Mar 5, 2014
Change 32.048 Protection for invalid SMF 6 record (JCTJOBID vice JOB)
VMAC6 that printed INVALID PRINTIME messages, while the source
Mar 4, 2014 of the invalid records is investigated.
Change 32.047 Support for (E)JES Version 05.40 SMF Record, restructured
VMACEJES to match the standard SMF record structure with triplets
Mar 4, 2014 (Offset/Length/Number) for the three segments of data.
Apr 17, 2014 New variables ESMFCNSR ESMFCNCO ESMF5NSF ESMF5NCF added.
MXGEJES Member MXGEJES is a standalone MXG code execution that is
Jun 16, 2014 provided to Phoenix International (to encourage their
users to consider MXG Software).
Thanks to Ed Jaffe, Phoenix Software International, Inc., USA.
Change 32.046 Support for XCOM 11.5 AND 11.6 (INCOMPATABLE). Records
FORMATS were restructured and MXG code revised to match. Formats
VMACXCOM $MGXCMST and $MGXCMFO now decode STATFLGX and FILEOPT.
Mar 3, 2014 A new segment contains the SMS DATA/MGMT/STORE classes.
Mar 25, 2014 Mar 25: Code corrected, revised for new variables.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.045 Support for MQ PCF Files creates new dataset:
EXPCFMD
IMACPCF dddddd dataset description
TYPEPCF PCFMD PCFMD PCF MD Record
TYPSPCF
VMACPCF
VMXGINIT
Feb 28, 2014
Thanks to Peter Farrell, Commerce Bank, USA.
Change 32.044 Unused Change Number.
Change 32.043 Support for SMF Record ID=87, GRS Component information
EXTY87 creates new dataset:
IMAC87 dddddd dataset description
TYPE87 TY87 TYPE87 GRS Component
TYPS87
VMAC87
VMXGINIT
Feb 27, 2014
Thanks to Graham Harris, Royal Bank of Scotland, ENGLAND.
====== Changes thru 32.042 were in MXG 32.02 dated Feb 26, 2014=========
Change 32.042 New summary report created if requested. New parameter
ANALID PRINTWHAT= added with default of BOTH. Other possible
Jan 24, 2014 values are DETAIL for the detail report or SUMMARY to get
only the SUMMARY report. For the summary report the data
is summarized to the SMFIDSUB level.
Change 32.041 The OUTPUT MCD; statement was missing; it is now inserted
VMXGHSM in line 1797.
Feb 26, 2014
Thanks to Lindsay Oxenham, IBM Global Services, AUSTRALIA.
Change 32.040 TMON/VTAM vendor maintenance now populates fields so they
VMACTMVT can be properly decoded/documented. Variables SXORTTD and
Feb 25, 2014 SXORTT are now decoded and formatted as TIME13.3, and the
Feb 27, 2014 SXHRT1D/2D/3D/4D/5D are now labeled INTERVAL vs TIME.
Thanks to Paul Volpi, UHC, USA.
Change 32.039 A MAJOR restructure of BVIR/TS7700/HYDRA support and new
ANALBVIR IBM-reports in ANALBVIR/JCLBVIR will likely require you
EXBVR011 to revise your reporting, but you will no longer have the
EXBVR101 thousands of previous variable names, as the restructure
EXBVR111 creates the "subtype" dataset (EG: BVIR30) with only the
EXBVR301 header variables for that subtype, and repeated segments
EXBVR321 are output in a new dataset (EG: BVIR301), with only ONE
EXBVR322 set of variable names. A few variables names were changed
EXBVR324 and the new reports have been validated against IBM's.
EXBVR331 -In an emergency for an old report, member ZMACBVIR is the
IMACBVIR prior BVIR support structure that can still be used for
JCLBVIR now, but it will NOT be updated nor supported for future
VMACBVIR changes to the BVIR data records. REMOVED JAN 2015.
VMXGINIT -This was a MAJOR update, contributed by Joe; the other
cites are for the Early Adopters who helped in testing.
Feb 25, 2014 -These are now the datasets created from BVIR data:
Feb 28, 2014
Mar 2, 2014 DDDDDD MXG MXG
Mar 8, 2014 DATASET DATASET DATASET
Mar 11, 2014 SUFFIX NAME LABEL DESCRIPTION
Mar 14, 2014 BVIR01 BVIR01 VNODE VIRTUAL DEVICE PIT
Mar 17, 2014 BVR011 BVIR011 HNODE GRID (PIT) CLUSTER
Mar 25, 2014 BVIR02 BVIR02 VNODE ADAPTER POINT IN TIME
BVIR10 BVIR10 HNODE HSM POINT IN TIME
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL DESCRIPTION
BVIR01 BVIR01 VNODE VIRTUAL DEVICE PIT
BVR011 BVIR011 HNODE GRID (PIT) CLUSTER
BVIR02 BVIR02 VNODE ADAPTER POINT IN TIME
BVR101 BVIR101 HNODE HSM PIT PHYSICAL DEVICE
BVIR11 BVIR11 HNODE GRID POINT IN TIME
BVR111 BVIR111 HNODE GRID (PIT) CLUSTER
BVIR20 BVIR20 VNODE VIRTUAL DEVICE HISTORY
BVIR21 BVIR21 VNODE ADAPTER HISTORY
BVIR30 BVIR30 HNODE HSM HISTORY
BVR301 BVIR301 HNODE CACHE CONTAINER/PARTITION
BVIR31 BVIR31 HNODE RESERVED
BVIR32 BVIR32 HNODE LIBRARY HISTORY
BVR321 BVIR321 HNODE LIBRARY DEVICE TYPE
BVR322 BVIR322 HNODE LIBRARY POOLING CSP MEDIA
BVR323 BVIR323 HNODE LIBRARY POOLING GUP
BVR324 BVIR324 HNODE LIBRARY POOLING GP MEDIA
BVIR33 BVIR33 HNODE GRID HISTORY
BVR331 BVIR331 HNODE GRID CLUSTER
Updates made after MXG 32.02:
Feb 26:
-The variable DEVCLASS was renamed DEVCLSID due to
conflict with existing 30 and 74 name DEVCLASS, and the
variable DVCLASID was renamed to DEVCLSID as only one
name is needed. Format $MGB32DC was merged into and
replaced by $MGB10DC.
-Some formats for BVIR bit map ranges were corrected.
-SCRVOLCT added to _BBVR324 BY list.
-ADOCBVIR updated with why NODUP won't 50% remove.
-Feb 28:
Dateparts in BVIR21 and BVIR31 were two years
wrong - I had moved their calculation to the header,
but had left the recalcs in those two subtypes.
-Mar 2:
The loop counter to read the GUP Container Segments only
read the first four of the thirty-one segments, so obs
were not created in BVIR323 and BVIR324.
-But dataset BVIR323 was output twice incorrectly!
-Lengths of FORMATTED character variables are now set.
-Mar 8:
Variable POOL was added back into BVIR323 and to its BY
list. I revised Joe's code and used _I_ for loop where
the loop variable is not kept, but I messed up this one.
-Mar 11:
Corrections to examine all 32 entries in the POOL loop.
Two new fields, POOL to the GUP and POOL and MEDIA to
BVIR323 and BVIR324 datasets respectively.
A lost pad to the container to bring it to 16 bytes.
With this change, all prior problems are resolved!!!
-Mar 14:
Type 30 code needed to skip some bytes for BVIRVERS=3.
-Mar 17:
Type 20 records BVIRVERS=5 with only 192 bytes caused
INPUT EXCEEDED. Rest revised to verify data exists
for V5 and remainder of skip bytes were removed as there
is only one 20 record.
-Mar 25: There are lots of "null" segments ('00'X for the
ID and/or sum of metrics zero) in BVIR records that not
only wasted space but also were the NODUP culprits. Now
only segments with activity or valid IDs are output,
massively reducing the number of observations. Selection
code added to EXBVR321-322-324-331 exit members, except
that the test for POOLACTV GT 0 is internal to VMACBVIR
because it is also used to terminate the pool loop.
-POOLACTV is tested for these datasets, plus
BVIR321 when DEVCLSID GT '00'X
BVIR322 when MEDATYPE GT '00'X
BVIR324 when PYMDID GT '00'X
BVIR323 when POOLACTV (SUM of Metrics) GT 0
-BVIR331 output when BVIR331ACTV GT 0 (Sum of Metrics)
-Resulting dataset observation counts:
BVIR20,30,31,32,33,301,321 8826 obs
BVIR322 44130 obs
BVIR323,324 26478 obs
BVIR331 7614 obs
Thanks to Joe Babcock, JPMorganChase, USA.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Dan Case, Mayo, USA.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.038 The IMS56FA dataset can have IMSSTCK incorrect when there
VMACIMS was no GMTOFFTM in a prior record; the LINK IMSSTCK in
Feb 24, 2014 56FA logic was prior to the input of the first 12-byte
Mar 17, 2014 character timestamp, from which DEC and then GMTOFFTM can
Mar 23, 2014 be decoded. The LINK for 56FA was located to after that
first DEC value is known; once GMTOFFTM has been created,
its value will be retained.
Mar 17: IMSSTCK links for log records 01x,03x,06x were
mis-located prior to the creation of GMTOFFTM; only if
those records were prior to other GMT-Offset-containing
records, the GMTOFFTM was missing and IMSSTCK was then
not corrected to local time zone.
Mar 23: END; relocated from IMSSTCK: to before LCODE=55.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.037 -RMF III Enhancements, Fixes, and Notes
ADOCRMFV -A second RMFV008I message is added for non-VSAM data sets
ASMRMFV such as the RMFBSAM and SYSIN DD files that will show DCB
CLRMFV attributes DSORG, RECFM, LRECL, BLKSIZE, BUFNO, and
DOCLRMFV BUFSP.
JCLRMFV -A second RMFV008I message is added for RMF Monitor III
JCLCRMFV VSAM data sets that will show ACB attributes DSORG,
JCLDRMFV LRECL, CISIZE, BUFNO, BUFSP, and Record Count.
Feb 23, 2014 -NOTE: The number of VSAM records read for any one
Feb 24, 2014 particular RMF Monitor III data set will usually exceed
Feb 26, 2014 the number of records in the file. This is because a
physical record may contain data from more than one
MINTIME interval and data is processed one MINTIME
interval at a time.
-NOTE: The BUFNO and BUFSP values for all RMF Monitor III
data sets will be the same because they share a common
VSAM LSR buffer pool.
-Data set and DCB information will now also be shown for
the non-VSAM SYSPRINT DD file.
-BUFNO=20 was always assigned for the SYSIN DD file.
However, when the SYSIN DD file is blocked this wastes
memory because usually this file has few records. When a
blocked SYSIN file is detected a value of BUFNO=2 will be
assigned.
-When NOxxx table filtering options were mixed with xxx
table selection options, ASMRMFV incorrectly turned on
selection for all tables when the first xxx table option
was encountered.
-The NONE option to suppress all output is now obsolete.
This option was inflexible; it did not allow RMF Monitor
III table selection and/or filtering. Results were also
incomplete as no output statistics were shown. So it
was not very useful nor was its usage easily understood.
If NONE (or any of its aliases) is coded it is ignored
with no action taken and no error messages issued.
-The alternative to the defunct NONE option to preview
what might be output by ASMRMFV with user specified
selections and/or filters in effect is to simply code
in JCL:
//RMFBSAM DD DUMMY
or
//RMFBSAM DD DSN=NULLFILE
Either tells the access method to suppress the RMFBSAM
output. In either case RMFBSAM will be empty and cannot
be used for a PDB build.
-The CLRMFV Clist used in the TSO Clist Method for
running ASMRMFV has been upgraded to accept NULLFILE
as a value for the OUTHLQ Clist parameter.
When OUTHLQ('NULLFILE') is coded the RMFBSAM file will be
allocated as DSN=NULLFILE thus also providing an
alternative to the obsolete ASMRMFV NONE option.
OUTHLQ('DUMMY') can also be used.
In this case the SPACE Clist parameter is forced
to zero and the OUTMLQ and OUTLLQ Clist parameter
settings are irrelevant.
-With RMFBSAM output suppression the result is useful
to determine how many bytes of output will be generated
with the selection and/or filter options used. Also
decisions can be made as to which tables should be
selected for a future PDB build based on data volume.
Then the actual RMFBSAM file can be realistically sized
later for allocation. Be sure to review ASMRMFV messages
RMFV105I to study the output data statistics including
bytes output.
-JCLRMFV, JCLDRMFV, and JCLCRMFV example members are
each updated to include an example with RMFBSAM output
suppression.
-The DOCLRMFV documentation for CLRMFV Clist usage has
been updated with current information.
-Documentation in the ASMRMFV source prologue and in
the ADOCRMFV member has been updated to note that
the NONE parameter is obsolete and to explain the
alternative use of DSN=NULLFILE for RMFBSAM.
-Removed residual extraneous characters in the first
RMFV002I message when no PARM= field existed in JCL.
-NOTE: The ASMRMFV SIZE parameter is still supported and
also produces no RMFBSAM output regardless of JCL for
that file. When SIZE is coded all selection and/or
filtering parameters are ignored. SIZE shows a
snapshot of RMF Monitor III VSAM file allocations as
well as space and index usage.
-NOTE: If the ALL table select ASMRMFV option is coded it
overrides any other table select or table filter options
that may be present regardless of input order.
This is a new behavior with this change. Prior to this
change NOxxx table filter options would override the
coded 'ALL' value. This is no longer the case.
Please do not code 'ALL' when using NOxxx table filter
options to avoid unintended results.
-NOTE: If an xxx table select and an NOxxx table filter
are coded for the same RMF III table the table select
option for this table now always overrides the filter
option regardless of input order.
This is a new behavior with this change. Prior to this
change the last option encountered for the same table
would be effective. This is no longer the case.
Please do not select and filter on the same RMF Monitor
III table in the same ASMRMFV run to avoid unintended
results.
-REQUIREMENT: In order to implement this fix the current
ASMRMFV utility program from this MXG change must be
installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps.
Thanks to H. Sterling James, DST Systems Inc.
Change 32.036 MXG developer utility used when creating a new dataset to
UTILNODU determine the sufficient list of variables needed in the
Feb 21, 2014 new _Bdddddd By List macro that will remove duplicate
observations with the PROC SORT NODUP option (invoked in
BUILDPDB, or the TYPSxxxx "sorting" types, or by the use
of the _Sdddddd dataset sort macro.)
The initial "logical" _Bdddddd is created based on what
seems to be useful order (e.g. READTIME JOB JESNR for a
job related dataset). Then, the input data file is read
twice, the dataset is created and sorted by _Bdddddd, and
then the count of observations deleted as duplicate in
the PROC SORT log messages must be exactly one-half of
the observations read by the sort. If that is not true,
an ad hoc approach was used to find the additional vars
needed. This utility sorts the dataset twice, once with
the original _Bdddddd and a second time with BY _ALL_,
and the unmatched observations, those NOT deleted, are
printed for easy identification of needed variables.
Unlikely an MXG user will ever need this, but someday
someone will be happy to find it if that is their task.
Change 32.035 Websphere ID=120 Subtype=9 datasets TYP1209C, TYP1209E
VMAC120 TYP1209S and TYP1209U had incorrect BY variable that
Feb 18, 2014 did not remove duplicates and caused DELTA120TM to be
always missing. Variables SM1209CR SM1209CS and SM1209CM
are added to those datasets, and the new sort order are:
MACRO _BT1209C
SYSTEM SMFTIME SM1209CR SM1209CS SM1209CY
SM1209EM SM1209CM %
MACRO _BT1209E
SYSTEM SM1209CR SM1209CS SM1209CH SM1209CM %
MACRO _BT1209S
SYSTEM SMFTIME SM1209CR SM1209CS SM1209CY
SM1209EQ SM1209CM %
MACRO _BT1209U
SYSTEM SMFTIME SM1209CR SM1209CS SM1209EY
SM1209FA SM1209CM %
Thanks to Wayne Bell, UNIGROUP, USA.
Change 32.034 These examples could have failed with SYSTEM 413-18 ABEND
JCLUOWP because the CICSTRAN DD was being opened for read by
JCLUOWV VMXGUOWC before the CICSTRAN had been written. Relocated
Feb 17, 2014 the %INCLUDE of VMXGUOW to correct.
Change 32.033 Support for XPTR 5.2 creates these 23 new datasets:
EXXPTR23 dddddd dataset description
EXXPTR24 XPTR23 XPTR23 X/TND USER DISCONNECT
EXXPTR25 XPTR24 XPTR24 X/NET COMMAND PROCESSED
EXXPTR26 XPTR25 XPTR25 API TRANSACTION
EXXPTR33 XPTR26 XPTR26 API SUMMARY
EXXPTR34 XPTR33 XPTR33 MIGRATION DETAIL
EXXPTR52 XPTR34 XPTR34 STORAGE POLICY TARGETS
EXXPT104 XPTR52 XPTR52 USER REQUEST TRACKING
EXXPT106 XPT104 XPTR104 JOB ACCUMULATION
EXXPT107 XPT106 XPTR106 JOB ACCUMULATION WITH RENAME
EXXPT109 XPT107 XPTR107 ARCHIVE CREATED
EXXPT112 XPT109 XPTR109 REPORT ACCUMULATION
EXXPT113 XPT112 XPTR112 REPORT BROWSE
EXXPT118 XPT113 XPTR113 USER COMMAND
EXXPT120 XPT118 XPTR118 X/PTR DETAIL OUTPUT RECORD
EXXPT124 XPT120 XPTR120 NEW REPORT
EXXPT130 XPT124 XPTR124 XNET COMMAND PROCESSED
EXXPT131 XPT130 XPTR130 ARCHIVAL RETRIEVAL COMPLETED
EXXPT132 XPT131 XPTR131 ARCHICE DETAIL
EXXPT133 XPT132 XPTR132 TEST FILE SPACE RELEASE
EXXPT140 XPT133 XPTR133 MIGRATION DETAIL
EXXPT152 XPT140 XPTR140 VSAM BUFFER STATISTICS
EXXPT153 XPT152 XPTR152 USER REQUEST TRACKING
IMACXPTR XPT153 XPTR153 REPORT VERSION DELETE
VMACXPTR -Some minor issues: there are duplicate records
VMXGINIT written for subtype 41 and 50, and the date of the
Feb 21, 2014 SUBMTIME in subtype 130 is 2005.
-BY lists for earlier datasets have been updated and
all datasets with data have been "NODUP" validated.
Thanks to Phil Grasser, Norfolk Southern, USA.
Change 32.032 -DB2STATS variable QISTWMQM was always zero because it was
VMACDB2 incorrectly deaccumulated when it's a static ZPARM value.
VMAC102 -T102S371 variables QW0371CL and QW0371DA were 1000000 too
Feb 18, 2014 large, as the input was &PIB.8. instead of &PIB.8.6.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 32.031 RMF TYPE748 ESS Subtype 8 datasets completely revised.
EXTY748I -The existing TYPE748 dataset had an observation for every
EXTY748L LINK, instead of just one observation per CUSERIAL. R748L
EXTY748P variables are moved to the new TYPE748L Link dataset.
IMAC74 IBM print 12 digits for CUSERIAL on RMF reports, but that
VMAC74 field is only 10 characters in the subtype 8 record, so
VMXGINIT match on CUSERIAL failed. Extra 00 characters added.
Feb 14, 2014 -The new TYPE748L Link dataset is created with one obs per
Feb 17, 2014 CUSERIAL and R748LAID Link Adapter ID.
-The TYPE748R RANK dataset and TYPE74A RANK ARRAY dataset
are now merged by CUSERIAL R748RRID (Rank Raid ID) to
create the new PDB.TYPE748I "ID" dataset with R748rXID
(Extent Pool) for the detail ESS RANK STATISTICS report.
Unfortunately, the Raid Rank Level can NOT be mapped back
to the logical VOLSER of the I/O.
-In addition, _STY748I also sums the TYPE748I dataset by
CUSERIAL R748XPID to create the Extent Pool Sums in the
new PDB.TYPE748P "EXTENT POOL" dataset.
-Dataset TYPE748X is unchanged.
Thanks to Patricia J. Jones, DST Systems, USA.
Change 32.030 -ASMRMFV execution could fail with RMFV035S >>>>SEVERE
ASMRMFV 1 RED TABLES SKIPPED DUE TO INVALID ID OR FLAG error
Feb 13, 2014 and the program could loop due to an outdated branch in
the DETAIL subroutine when one or more RMF III table
errors were found. The errors detection was valid but
the recover and notification looped.
-REQUIREMENT: In order to implement this fix the
current ASMRMFV utility program from this MXG change
must be installed. See MXG SOURCLIB member JCLASM3 for
sample JCL for the assembly and link-edit install steps.
Thanks to Andre Gustavo Moretto, IBM Global Services, BRAZIL.
Change 32.029 -VMXGPRAL print utility ERROR 72-322: Expecting a ). after
VMXGPRAL a DATA _NULL_ step highlighting this statement:
Feb 12, 2014 SYMPUT("OBS&I",PUT(NOBS,12.); that's missing the paren.
-COMPBL HAS TOO MANY ARGUMENTS if the DATASET LABEL that
is now printed with the DATASET name has a comma. The
commas are removed in VMXGPRAL to circumvent, but See
Change 32.005 - commas to be removed with DATASET LABELs
added to that planned list.
Thanks to Paul Volpi, UHC, USA.
Change 32.028 Protection for BETA93 truncated SUBTYPE=51 record that
VMACBETA caused INPUT STATEMENT EXCEEDED because LOCFIELD+BETAFLEN
Feb 10, 2014 (offset plus length) exceeded the record length. In this
specific record, there were two valid segments that were
output but the third segment was truncated so only the
first two segments were output.
Thanks to Andreas Menne, Finanz Informatik, GERMANY.
Change 32.027 MXG 32.01. INVALID DB2 10.1 HEADER RECORDS, DELETED,
VMACDB2H if the DB2 APAR PM62481, a 2012 APAR that added the
Feb 11, 2014 QWHSAACE field to the QWHSTYP=2 Header Segment, is NOT
installed, because when Change 32.002 INPUT that field,
it was not from the APAR, but last month when I saw that
it was in DSNDQWAC for DB2 V10 and had been overlooked,
and I assumed it was always present by testing for the
QWHSRELN GE 10.2, and ran the MXG DB2 QA with 15 site's
data and no errors. Today, two sites, Australian and
USA, reported the error message and sent data with
QWHSLEN=156, instead of the 164 byte expected with the
field present.
-May 2014: This MXG 30.01 ERROR MESSAGE (yes 30.01!!):
**VMACDB2.ERROR. INVALID IBM TYPE 101 RECORD DETECTED.
YOU MUST INSTALL IBM APARS PN56441 AND PN63234....
was also corrected with this updated VMACDB2H.
(Those APARs were from 1994!).
-MXG input logic was revised to use actual segment lengths
and not the version number to detect the existence, which
then required the creation of QWHCEXTRA with the count of
bytes added for the "truncated" name fields, so it could
be subtracted from QWHSLEN to get the actual length of
the base segment to know for certain if QWHSAACE exists.
With this much time and effort to diagnose and resolve,
at least the new QWHCAACE field may be worth it:
QWHCAACE is zero if the IFCID is written outside of an
accounting interval. Otherwise it will contain a value
that can be correlated to QWHSACE in the IFCID3/DB2ACCT
accounting record. For DDF/RRSAF rollup accounting
records, QWHCAACE should be correlated to QWARACE as the
record will represent multiple transactions. For
parallel tasks, QWHCAACE will point to the ACE of the
parent task.
Thanks to Andrew Petersen, CSC, AUSTRALIA.
Change 32.026 TRNDRMFI could fail if all possible 114 workloads were
VGETWKLD defined in your RMFINTRV dataset, because the limit of
VMXGRMFI 64K bytes of text for a macro variable was exceeded.
VMXGSUM Each of these potentially-large macro variables are now
Feb 7, 2014 created by writing text to FILE INSTREAM as old-style
Feb 10, 2014 macros so the macro variable only contains the old-style
Feb 18, 2014 name; see Change 31.288. Additional macro logic also
reduced size of some other macro variables, and to also
circumvent the 262-byte limit between quotes.
-VMXGSUM was also revised to minimize the size of macro
variables it creates, by calling SYSFUNC to invoke COMPBL
to remove duplicate blanks, but because the argument can
be blank, causing a TOO FEW ARGUMENTS FOR COMPBL error,
%LET ALLVARS=%SYSFUNC(COMPBL(%STR(&ALLVARS &MIN)));
was needed to avoid that (harmless) error message.
-VGETWKLD: the lists in WORKLOAD, NEWLABL, STRING are now
TRIMed before APPEND to reduce text length, and protect
for blank labels added.
====== Changes thru 32.025 were in MXG 32.01 dated Feb 6, 2014=========
Change 32.025 CPUCRPTM, CPU TCB+SRB during CHRONIC CONTENTION was wrong
VMAC30 as the second multiply by 1024 was incorrect. Fortunately
Feb 6, 2014 this is a standalone CPU metric added in Version 26 that
has obviously not been examined previously!
Thanks to Leonard Jejer, MorganStanley, USA.
Change 32.024 RMFINTRV created with a large number of workloads could
VGETWKLD cause TRNDRMFI to fail because the wrong dataset was
Feb 6, 2014 SORTED. PROC SORT DATA=WORKLOADS corrected this error.
Thanks to Wayne Bell, UNIGROUP, USA.
Change 32.023 Support for IMS LOG Record 06 creates IMS06 dataset, to
ASMIMSL6 track IMS startup/shutdown/other conditions.
EXIMS06
FORMATS
IMACIMS
VMACIMS
VMACIMSA
VMXGINIT
Feb 5, 2014
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Change 32.022 Support for CA XCOM Version 11.6 INCOMPATIBLY changed the
VMACXCOM SMF record. This updated VMACXCOM supports both 11.6 and
Feb 5, 2014 11.1, transparently.
Thanks to Claudio Zanon, Phoenix, ITALY.
Change 32.021 Change 31.285 was removed. The FILENAME INSTREAM added
VMXGINIT in VMXGINIT, to eliminate the need for //INSTREAM, fails
Feb 4, 2014 if you used it, for example, to write date macros in one
job and then use %INCLUDE INSTREAM in all your report
jobs to instantiate that code, a quite reasonable thing
to do. Unfortunately, the FILENAME INSTREAM CATALOG fails
on the %INCLUDE because it was never opened for output so
it doesn't exist, and using FILENAME INSTREAM TEMP also
fails, but without error: the TEMP is included instead of
the //INSTREAM DD that you wanted to %INCLUDE.
Thus an INSTREAM DD/FILENAME is still be required by MXG.
Another symptom of the need for the new VMXGINIT are
these log messages:
ERROR: CATALOG WORK.MXGTEMP DOES NOT EXIST.
ERROR: CANNOT OPEN %INCLUDE FILE INSTREAM.
Thanks to Arylon Brooks, Verizon Wireless, USA.
Thanks to Nick Bubica, Verizon Wireless, USA.
Thanks to Stephen K. Simon, Verizon Wireless, USA.
Change 32.020 MIPFACTR set to a null string and logic was inserted to
GRAFWRKX base the MSU to MIPS factor on the CPCFNAME variable so
Feb 1, 2014 that GRAFWRKX will automatically reflect the MIPS on the
current machine. The MSU chart reflects MSU consumed
during the period and the MIP chart reflects the MIPS
of capacity consumed during the period. MIPFACTOR can
be overridden with a value of your choice. The values
used by default are:
2097 - 6.5 2098 - 6.5 2817 - 8
2818 - 8 2827 - 8 2828 - 8
Change 32.019 -READDB2 did not always use LDB2ddd override, and &PDBOUT
ANALDB2R option logic was restructured with better documented
ANALDBTR possible values: UNIQUE, YES, PDB/XXXX, NULL/WORK.
ANALTURN Now, WANTONLY will be honored when specified for ACCTs.
READDB2 -Fixing READDB2 uncovered an error in ANALDB2R where the
Feb 4, 2013 datasets were created in PDB, but report expected data
in WORK.
-ANALDBTR. Restructured and revised and corrected, mostly
preventing spurious "THE STRING" messages that only were
printed when there were multiple ANALDBTR invocations
(e.g., when ALL POSSIBLE reports are executed).
-ANALDB2R. Similar restructure and cleanup with heavy
testing with ALL reports and with DATA for all reports.
-ANALDB2R. Reports IOS SQL LOK TRN may not be correct with
PDB=SMF,PDBOUT=WORK (or no PDBOUT=) but they are fine if
PDB=SMF,PDBOUT=PDB (or any XXX DDNAME). I may choose to
leave it this way for these extremely detailed and seldom
used reports, since the repair would be VERY tedious and
there's no cost to using PDBOUT= PDB with PDB temporary.
-ANALDB2R. Requirement for PDBOUT=PDB to be specified for
PMTRC01 Trace Report was never documented but now is no
longer required with revision of the READDB2 logic to set
the output destination for the T102Snnn based on PDBOUT.
-UNRELATED, BUT: CAUTION FOR THE USE OF DATASET VIEWS:
Discovered in QA test when ANALTURN created WORK.STATS
that was left in WORK, and then 30 steps later, ANALDB2R
failed when it tried to create WORK.STATS/VIEW: you CAN
NOT create a dataset view named X if there already is a
dataset named X. This has NOT been an actual problem at
customer sites, but MXG View names are not documented and
you could create an accidental conflict in your programs
that only shows up when you subsequently execute MXG code
that happens to use that dataset name. Fortunately the
error message text makes it clear what dataset name YOU
have to change in YOUR code.
ANALTURN now deletes WORK.STATS.
Change 32.018 Unused Change Number.
Change 32.017 A mislocated RUN; statement cause VMXGPRNT and VMXGPRAL
VMXGPRNT to fail with a 180 syntax error pointing to LABEL.
Jan 29, 2014
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 32.016 DB2 Netezza variable Q8STNAME, Accelerator Server ID, was
VMACDB2 not kept in PDB.DB2STATS dataset; its offset was read in
Jan 29, 2014 but then the field was never input.
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.015 Cosmetic. Variable ACTHNODE was set to blank or 'Y' but
VMACBVIR it incorrectly was formatted $HEX2. so the 'Y' printed as
Jan 29, 2014 'E8'X. Now the Y will be printed as a Y.
Thanks to Keith McWhorter, IBM Global Technology Services, USA.
Change 32.014 Variable CPUUOWTM incorrectly (now) included DB2TCBTM, as
VMXGUOW that WAS correct back when VMXGUOW was written, but that
Jan 29, 2014 changed in CICS/TS 3.2 with the OTE Environment when the
DB2TCBTM was added into the TASCPUTM in CICSTRAN, so the
equation is now CPUUOWTM=SUM(CPUTM,CPUMQMTM);
Thanks to Rick Southby, Insurance Australia Group, AUSTRALIA.
Change 32.013 Create $PLOTCHAR to map one character from SYSTEM name to
VMXGPLCH be used as the "Z-AXIS", the third position variable, in
Jan 28, 2014 PLOT statements so each point is identified to SYSTEM.
%VMXGPLCH(DATASET=PDB.YOURS,VARIABLE=SYSTEM,POSITION=4);
RUN;
PROC PLOT DATA=PDB.YOURS;
PLOT X*Y=SYSTEM;
FORMAT SYSTEM $PLOTCHAR.; <== add in your report code
RUN;
An example in comments shows how to store the formatted
value back into SYSTEM, so that your existing reports do
not need to have that FORMAT statement inserted.
Thanks to Sam Bass, McLane Co., USA.
Change 32.012 Many new spurious MXGWARN: DATASET xxx.yyy DOES NOT EXIST
VGETOBS messages (BUILDPDB for ALL of the PDB.CICxx statistics
Jan 28, 2014 datasets read to create CICINTRV, i.e. where VMXGWORL
calls VGETOBS first for PDB and then for WORK to find the
"_L" or "_W" location) are printed after Change 31.180,
because VGETOBS did not test for NOEXIMSG=YES in line 282
causing the unwanted warning to be printed. Now correct.
Thanks to Carol Arnold, Brown Brothers Harriman & Co, USA.
Change 32.011 MXG 31.31-31.06. USER ABEND 1950 CICSTRAN DOES NOT EXIST
ASUMUOWT because the ASUMUOWT (UOW TMON MONITASK vs CICSTRAN) did
Jan 28, 2014 not null the default _LCICTRN DDNAME value of CICSTRAN
before it called VMXGUOW. Previously, when VMXGUOW then
called VGETOBS to test for the existence of the CICSTRAN
libname, there was only a warning message, and as it was
never actually referenced, PDB.ASUMUOWT was created fine.
In Change 31.180, VGETOBS was changed to USER ABEND 1950
so that you cannot overlook it, when you ask MXG to use
a non-existent LIBNAME.
The correction in ASUMUOWT: add MACRO _LCICTRN _NULL_ ;
in the existing %LET MACKEEP= redefinitions, but you can
circumvent for ASUMUOWT just by adding a temp //CICSTRAN.
This was missed in my QA because all ASUMUOWT tests just
happened to also have a CICSTRAN LIBNAME allocated.
Thanks to Frank Lund, EVRY AS, NORWAY.
Change 32.010 IBM APAR OA43921/OA44049 cause MXGTMNT ABEND 0E0 RC28.
ASMTAPEE This is ML-52 level MXG Tape Mount Monitor. With those
Jan 28, 2014 APARs, on a z/OS 1.13 system, after return from MCSOPMSG,
Master Console Service, register AR15 returns non-zero,
not previously observed, nor expected, nor protected, but
because MXGTMNT is in AR mode, it fails with ABEND 0E0.
MXGTMNT Starts and Shutdown with these messages:
IEA630I OPERATOR MXGC0004 NOW ACTIVE, SYSTEM=SYSX,
LU=MXGTMNT
MXGC009E Unrecoverable error in Allocation Recovery
Monitor, function is terminated.
MXGC008E Recoverable abend limit reached, monitor
extension subtask is terminated.
IEA630I OPERATOR MXGC0004 NOW INACTIVE,SYSTEM=SYSX,
Register AR15 is now cleared in ML-52, now that we know
we need to!
Thanks to Warren Cravey, Fidelity Institutional, USA.
Thanks to Chuck Laurent, Fidelity Institutional, USA.
Change 32.009 -RMF III Enhancements, Fixes, and Notes
ASMRMFV -FROMDATE=/TODATE= and FROMTIME=/TOTIME= date and time
ADOCRMFV selection parameters now have better error detection
Feb 2,2014 and diagnostics. Error messages include more detail
about what the specific error was.
-FROMDATE=/TODATE= now support Gregorian style dates in
the format of FROMDATE= or TODATE= ddmmmyyyy where dd is
the day of the month, mmm is a 3 character month name,
and yyyy is a 4 digit year.
-Also supported are the following Gregorian style date
formats for usability and flexibility: ddmmmyyy, ddmmmyy,
ddmmmy, ddmmm, and mmm
-For yyy, yy, and y years 2000 is added to create the
year. When no year is present the current year is used.
When no day of the month is present the first day of the
month is used. mmm must always be present and cannot
further be shortened.
-Also supported are the following Gregorian style date
formats so that a leading dd day of month zero is not
required for days 1-9 of a month: dmmmyyyy, dmmmyyy,
dmmmyy, dmmmy, and dmmm.
-NOTE: Gregorian style dates are validated so that the dd
value does not exceed the number of possible days in the
month. 29FEB is only allowed for leap years.
-NOTE: Similar to Julian style dates, YYYY366 is also
only allowed for leap years.
-NOTE: ASMRMFV supports dates from 2000.001 January 1,
2000 through and including 2042.259 September 16, 2042.
Dates outside this range will be flagged as errors.
-NOTE: On 2042.260 September 17, 2042 the 8 byte TOD clock
will wrap just after 22:53:47.370495 as all bits will be
X'FF'. If RMF Monitor III still exists at that time, IBM
will need to use the Extended TOD clock or some other
mechanism for time stamps in this data.
-Generic values for FROMDATE= and TODATE= such as
YESTERDAY and TODAY may now be shortened to as few
characters as desired even down to the single characters
Y and T. Before the full length had to always be used
which was cumbersome.
-Processing routines for FROMDATE= and TODATE= are
combined into a single routine for better efficiency as
are the routines from FROMTIME= and TOTIME=.
-A second RMFV041I message is now displayed for each found
VSAM data set when using the Dynamic Method. It includes
the VSAM data set type, volume serial, average and
maximum LRECL, Control Interval size, and Creation Date.
This is intended to allow better identification that the
correct RMF Monitor III VSAM data sets have been pattern
selected by this method.
-When message RMFV002I is displayed showing the JCL PARM=
field contents, the length of the PARM field is now
displayed. There is a z/OS limit of 100 characters for
the PARM= field. If you are nearing this limit consider
using the SYSIN DD file instead of or in addition to the
PARM= field.
-When execution environment messages RMFV001I are
displayed, there is now an additional message showing the
last IPL date, time, and IPL volume serial.
-Parameter end processing was not validating that the
FROMDATE= value did not exceed the TODATE= value when
other errors had previously been detected.
-Parameter end processing was not validating that the
FROMTIME= value did not exceed the TOTIME= value when the
same day had been selected and other errors had
previously been detected.
-Documentation in the ASMRMFV source prologue and in the
ADOCRMFV member has been updated to discuss the new
Gregorian style formats for FROMDATE= and TODATE=. More
examples are added also.
-REQUIREMENT: In order to receive these improvements the
current ASMRMFV utility program from this MXG change must
be installed. See MXG SOURCLIB member JCLASM3 for sample
JCL for the assembly and link-edit install steps
Change 32.008 Cosmetic. The text in the file created by UTILBLDP that
UTILBLDP identifies the last change still had Change 30.115 after
Jan 27, 2014 Change 31.276. A new QA test compares the text with the
LAST UPDATED information in line 2 to detect mismatch.
Thanks to Clayton Buck, UNIGROUP, USA.
Change 32.007 MXG 31.31. SMF ID=111 INPUT STATEMENT EXCEEDED LENGTH,
VMAC111 because line 659 should be SKIP=SKIP-16; instead of -8.
Jan 27, 2014
Thanks to Flemming Bramsen, SEMLER, DENMARK.
Change 32.006 -PDB.TAPES/PDB.ASUMTAPE variable BYTEWRIT for 3590 tapes
VMAC21 could still be too small, after Change 31.244, when more
Jan 26, 2014 than 64GB uncompressed bytes were written, i.e., when the
count of 4K blocks written exceeds the 3-byte 'FFFFFF'x
maximum in SMF21BW. When SMF21BW overflowed, MXG used
the compressed count in SMF21DBW when the uncompressed
count in SMF21DBW should have been stored instead.
The error can only impact DEVICE='3590'. So far, only
SMF21BW has exceeded 64GB, but the error would also be in
BYTEREAD if SMF21BR had overflowed.
-Variables SMF21BWN & SMF21BRN are now kept in PDB.TAPES.
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 32.005 -Support for ID=90 Subtype=35 SETLOAD XX IEASYM Command
FORMATS record, overlooked because it is not listed in subtypes
VMAC90A on page 734, and the documentation text was located after
EXTY9035 Subtype 33 instead of after Subtype 34 (and before 36).
VMXGINIT -Discovered when updating the ANALID $MGSMFID format to
Jan 25, 2013 describe SMF record IDs 38, 85, 90, and 118 for ANALID.
-All MXG FORMAT'S VALUES ARE NOW COMMA-FREE, for ease in
exporting SAS datasets with formatted variables to EXCEL,
since commas can't exist in CSV Comma Delimited files,
and blanks read just as well where there were commas.
-While far less likely to be exported, over time, I will
also replace all commas in the LABELs of MXG variables.
Change 32.004 Cosmetic. "Destructive" added to these variable's label:
VMAC116 WQGETA ='MQGET*DESTRUCTIVE*(ANY)
Jan 23, 2014 WQGETS ='MQGET*DESTRUCTIVE*(SPECIFIC)'
Thanks to Pietro Rosella, Canadian National, CANADA
Change 32.003 OUTDATA= parameter added should you wish to preserve the
ANALCOMP output dataset created by ANALCOMP.
Jan 22, 2014
Change 32.002 -Support DB2 QWHC Header variable QWHCAACE Initiator ACE,
VMACDB2H added in DB2 V10 is now INPUT but only right four bytes
Jan 22, 2014 are input, as all other ACE fields are 4-bytes and data
shows those are the populated bytes. Kept in all DB2 data
sets that currently have QWHSACE from the QWHS header.
Logic to detect that QWHCAACE is present require revision
because records with only QWHCAACE are created, although
the DB2 QWHC DSEC documents that both QWHCAACE and the
two 2-byte offsets for EUTX/EUWN were added.
-DB2 V10 increased QWHCEUTX Users Transaction Name length
from $32 to $128 and QWHCEUWN Users Workstation length
from $18 to $128, in two relocated "Truncated" segments.
Change 32.001 -NTSMF objects TCPV4 and TCPV6 were INCORRECTLY output in
VMACNTSM dataset TCP versus the correct TCPV4 and TCPV6 datasets,
Jan 21, 2014 causing apparent duplicate observations in TCP dataset,
Jan 25, 2014 because the OBJECT=:'TCP' test should have been changed
to be OBJECT=:'TCP ' when the new TCPV4 and TCPV5 objects
were supported (or the test for those longer object names
should have preceded the shorter name.)
-WEB SERVICE CACHE object, dataset WEBSRVCA new variables:
WBSCOUMU WBSCOUCF WBSCOUCH WBSCOUCI WBSCOUFI WBSCOUTF
WBSCOUTH WBSCOUTM
-ASP.NET APPLICATIONS object, dataset ASPNETAP, new vars:
ASPARQBI ASPARQBO ASPARQEX ASPARQFA ASPARQSU ASPARQTO
Thanks to Carl Levy, Boeing, USA.
Thanks to Kenneth R. Jallen, Boeing, USA.
LASTCHANGE: Version 32.