COPYRIGHT (C) 1984-2025 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 21.21
=========================member=CHANGE21================================
/* COPYRIGHT (C) 1984-2004 MERRILL CONSULTANTS DALLAS TEXAS USA */
Final MXG Version 21.21 is dated Feb 11, 2004, thru Change 21.320
Annual MXG Version 21.21 was dated Feb 6, 2004, thru Change 21.319
Last MXG Version 21.08 was dated Jan 28, 2004, thru Change 21.292
First MXG Version 21.08 was dated Jan 25, 2004, thru Change 21.289
Final MXG Version 21.07 was dated Dec 2, 2003, thru Change 21.247
First MXG Version 21.07 was dated Nov 30, 2003, thru Change 21.245
Final MXG Version 21.06 was dated Nov 12, 2003, thru Change 21.230
Second MXG Version 21.06 was dated Nov 10, 2003, thru Change 21.228
First MXG Version 21.06 was dated Nov 7, 2003, thru Change 21.226
MXG Version 21.05 was dated Sep 22, 2003, thru Change 21.183
First MXG Version 21.05 was dated Sep 18, 2003, thru Change 21.181
MXG Version 21.04 was dated Aug 25, 2003, thru Change 21.159
MXG Version 21.03 was dated Jul 28, 2003, thru Change 21.133
MXG Version 21.02 was dated Jun 9, 2003, thru Change 21.101.
Second MXG Version 21.02 was dated Jun 5, 2003, thru Change 21.094.
First MXG Version 21.02 was dated Jun 3, 2003, thru Change 21.091.
MXG Version 21.01 was dated Mar 24, 2003, thru Change 21.051.
Annual MXG Version 20.20 was dated Feb 7, 2003, thru Change 20.341.
MXG Newsletter FORTY-TWO was dated Feb 8, 2003.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 21.21 was shipped to all sites by Feb 13.
II. Incompatibilities and Installation of MXG 21.21.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 21.21, the Annual Version, was sent by Feb 13.
MXG 21.21 supports every new version of every new product that you are
likely to install this year, especially for MVS systems, including new
z/OS 1.5, CICS/TS 2.3, DB2 V8.1, and IMS V8.1 products, and new data
added by PTFs, and data for those releases from the monitor vendors
IBM, ASG, BMC, Candle, CA, etc. And for ASCII system there are new
objects in existing products (NTSMF, TNG) and more support for "sar"
and AIX Performance Tool for unix systems. Details provided below.
MXG 21.21 has been tested under SAS Version 9.1 and runs fine; use the
CONFIGV9 member and MXGSASV90 JCL Procedure member for z/OS execution;
for ASCII, use the current AUTOEXEC file. See Change 21.290.
And replacing your existing version of MXG is easy; as there are no
structural changes, you shouldn't have to change any of your current
MXG "Tailoring"; you build the Source Library, create/update the MXG
Format Library, change the DSNAME/DIRECTORY name to use MXG2121, and
run your acceptance test. That's all that should be required.
Major enhancements added in MXG 21.21
all 21.310 Support for z/OS 1.5.
AUTOEXEC 21.290 Option defaults changed for SAS V 9.1 for ASCII.
CONFIGV9 21.290 Option defaults changed for SAS V 9.1 for EBCDIC.
ASMTAPEE 21.304 New MXG Tape "Event" Mount/Allocate/Recvr Monitor.
TYPE120 21.294 Support for JVM Heap sizes in SMF 120 st 1 and 3.
TYPEBE97 21.312 Support for Beta97 User SMF record.
TYPEOMVT 21.311 Support for Omegamon/VTAM subtypes 29 and 30.
UNIXSAR1 21.309 Support for "sar", "acctcom", "ps" for AIX/SUN unix.
UNIXTOP 21.314 Support for "top" unix report.
DAILYDSR 21.293 Support for DFSMS/rmm+DCOLLECT in JCLDAYDS example.
EMAIL 21.308 Example to email a PROC PRINT to a list of users.
SYSLOG 21.307 Example program to read SYSLOG for job events.
Major enhancements added in MXG 21.08
SAS V9.1 21.289 Note 49-169 blanks inserted to eliminate note
TYPEDB2 21.281 Support for DB2 Version 8.1, COMPATIBLE back to 20.20
TYPE42 21.288 Support for Type 42 Subtype 10 TYPE42VS Vol Sel Fail
TYPENDM 21.286 Support more NDM/Connect Direct subtypes, 26 new dset
TYPENTSM 21.285 Support for Web Service Cache, WSRM objects.
PROCCOPY 21.279 Use MT=DATA with PROC COPY + SELECT for performance.
TYPETPMX 21.271 Major enhancement/validation of ThruPut Manager SMF
TYPETNG 21.269 Major enhancement/validation of new TNG objects.
TYPENETM 21.263 Support for UniCenter NetMaster Automate Services SMF
TYPE115 21.262 WebSphere MQ Version 5.3 SM115REL added.
TYPE116 21.262 WebSphere MQ Version 5.3 SM116REL added.
TYPEDB2 21.259 Using VMXGTIME with DB2 caused GMTOFFDB/QWACBSC wrong
BLDSMPDB 21.255 New BLDSMPDB builds SMF PDB Jobstream, weekly, etc.
VMXGINIT 21.253 Global macro variables TRENDOLD/TRENDNEW/TRENDINP.
RMFMON 21.252 Free Interactive RMF control block monitor.
TYPESASU 21.251 Support for SAS SMFEXIT adds SAS Version/User/JOBID.
ANALALL 21.250 ANALALL/ANALJOBN/VMXGPRAL job counting SMF records.
Major enhancements added in MXG 21.07
TYPEOMDB 21.243 Support for Candle Omegamon II for DB2 Historical.
TYPEOPFT 21.233 Support for Fujitsu Siemens openFT ftp SMF record.
TYPE110 21.240 Support for new S4RSP7CT in STID=124 CICS record.
TYPEMWUX 21.241 Revised support for HP Measureware for HPUX.
ASUMCICS 21.242 Protection for OPERATOR/TERMINAL variable not found.
TYPE74 21.238 Dataset TYPE74DU (RMF DUPLEX CF) was trashed.
ANALDB2R 21.239 Ability to read multiple PDBs in ANALDB2R restored.
ASUMUOTT 21.237 New ASUMUOTT combines TMDBDB2 and MONITASK datasets.
ASMRMFV 21.236 Wrong member replaced; this has change 21.186 code.
UTILBLDP 21.231 USERADD=80/90 create TYPE80A or TYPE90A execution.
Major enhancements added in MXG 21.06
ASUMUOW 21.220 FLASH: MXG 21.06 required to have all errors fixed.
TYPETSMF 21.210 Support for IBM Tivoli Storage Manager Acct Records.
TYPE102 21.175 Support for IFCIDs 217 and 254.
TYPETNG 21.160 Support for TNG Version 7 (INCOMPAT, Header changed).
TYPE99 21.217 Support for SMF 99 subtype 7 PAV Device record.
TYPE80A 21.215 Support for EKC's ETF/R FIRECALL SMF 80 data.
TYPEORAC 21.213 Support for Oracle V9.x, no changes.
TYPE110 21.212 Support for CMODNAME='MQSeries' CICSTRAN segment.
TYPE110 21.152 Support for CICS/TS 2.3 (INCOMPATIBLE)in MXG 21.05+.
TYPE80A 21.211 Support for RACF segment RACFDBP=44, new variables.
TYPECIMS 21.205 Support for Shared Message Queue Group in SMQGROUP.
TYPEEXCH 21.195 Support for Microsoft Exchange Server 5.5 Log file.
TYPE119 21.190 Support for APAR PQ77633, corrects FTPREPLY.
none 21.184 Support for 3592 Tape Drives, they look like 3590s.
TYPESYNC 21.192 Up to 255 SORTWORKs supported in z/OS 1.1 SMF record.
RMFINTRV 21.225 RMF WORKLOAD name can be used to define workloads.
TYPE70 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
RMFINTRV 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
TYPEDB2 21.200 Negative values for DB2TCBTM if QWACEJST small.
TYPE110 21.198 Missing value for STRTTIME in CICSTRAN possible.
VMXGSUM 21.185 New INTERVAL=SECOND now supported.
CONFIGV8 21.168 SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
RMFINTRV 21.216 z990 CPUTYPE 2084 NOT IN TABLE with OS/390 R2.10.
TYPE6 21.210 Support for several ESS segments '34x,35x,37x,47x'.
TYPEDB2 21.208 QWACBSC/QWACESC missing in DB2ACCTP, some packages
ASUMCACH 21.197 Enhanced to keep I/O by LPAR in PDB.ASUMCACH.
TYPE110 21.189 New 110 St=1 MNSEGCL=5 caused INVALID DO LOOP CONTROL
Major enhancements added in MXG 21.05
TYPE70 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
RMFINTRV 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
TYPE110 21.176 New TSQUEUE SMF 110 CL 5 INPUT STATEMENT EXCEEDED.
TYPE110 21.165 STID=126 UNEXPECTED data corrected.
TYPE102 21.175 Support for IFCIDs 217 and 254.
TYPE116 21.173 Subtype 0 SMF 116 INVALID PRODUCT SECTION message.
TYPE119 21.162 IFDURTM was incorrectly divided by 496 vice 4096.
TYPETNG 21.160 Support for TNG Version 7 (INCOMPAT, Header changed).
TYPEWWW 21.166 IIS Web Log with missing fields now supported
CONFIGV8 21.168 SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
MONTHBLD 21.163 Enhancement for un-sorted input, or NOT SORTED ERROR.
Major enhancements added in MXG 21.04
TYPE7072 21.149 Support for z990 - INCOMPATIBLE - REQUIRED.
While the support for z990s was in MXG 21.04, it was not
realized that MXG 21.04 is REQUIRED for z990s until 16Sep.
ASUM70PR 21.149 Major LPAR Measurement Enhancement: PDB.ASUM70LP.
ASMTAPES 21.137 ASMTAPES new Allocation Recovery event record.
UTILBLDP 21.148 Enhancement to the "Build your own PDB" utility.
TYPEEDGR 21.158 Support for z/OS 1.4 DFSMS/rmm EDGRXEXT (INCOMPAT)
TYPECTLL 21.156 Support for Control-D Log file.
TYPENSPY 21.155 Doc: support for NetSpy V6 or V7 in MXG 20.10+.
TYPECIMS 21.153 Support for BMC MVIMS IMF 3.3.0 (COMPAT)
TYPE120 21.150 Support for CPU Time in WASserver APAR PQ74463.
ASUMUOW 21.147 Near-constant value STRTTIME error in PDB.CICS.
TYPENTSM 21.146 Support for Windows 2003 Server MEMORY object.
TYPEHMF 21.143 Support for HMF Subtype 29,30,32,33 changes.
TYPETCP 21.142 TYPETCPS contained accumulated, not interval data.
FORMATS 21.141 $MG070CP updated for MSU for CPUTYPE 084 table.
TYPEDB2 21.140 PDB.DB2STATS QBGLxxxx wrong, negative B3HITRAT.
TYPE7072 21.138 R723Rxxx vars now kept in TYPE72DL vice TYPE72SC.
TYPENTSM 21.136 SMPTSERV for Windows 2000 had accumulated values.
ANALSTC 21.135 Report using STK SMF + MXGTMNT to track Virtual tape.
ANALDB2R 21.157 Accounting Summary Class 2 were totals, not avgs.
Major enhancements added in MXG 21.03
TYPE7072 21.130 Support for APAR OW56656 for RMF for z990 (COMPAT).
TYPE102 21.121 Support for IFCID 251, 257, corrections for 21.
TYPE103 21.115 Support for APAR PQ71799 HTTP Server SMF 103 data.
TYPE120 21.107 Support for WebSphere APAR PQ74463 - adds CPU time.
TYPETMMQ 21.129 Support for ASG-Landmark TMON for MQ Series.
TYPENDM 21.133 Support for NDM Release 4.3 (INCOMPATIBLE).
TYPEENTX 21.124 Support for EntireX user SMF accounting record.
TYPEICE 21.102 Support for STK IXFP SMF L2P00A2/LZP00A9 (COMPAT)
TYPEQACS 21.118 Support for TCP and TCPIEF objects for AS/400.
TYPEMVCI 21.117 Support for Mainview for CICS 5.6 CMRDETL (INCOMPAT).
TYPEAIX 21.116 Major revision to AIX PTX Support - new datasets.
VMXGRMFI 21.125 Different SRVCLASS definitions can map to same WORK.
Incompatible revision:
If you used ASUMCICS to read ASG-TMON/CICS MONITASK to create
PDB.CICS, you must now instead use ASUMCICT. But MXG recommends
you no longer use either ASUMCICS nor ASUMCICT, but instead you
should use ASUMUOW/ASUMUOWT to create PDB.ASUMUOW, and then create
PDB.CICS using ASUMCICX to properly measure CICS. See the
discussion in Change 21.105 text.
ASUMCICS 21.105 Reads only CICSTRAN, creates PDB.CICS, don't use.
ASUMCICT 21.105 Reads only MONITASK, creates PDB.CICS, don't use.
ASUMCICX 21.105 Reads PDB.ASUMUOW; use instead of ASUMCICS/ASUMCICT.
ASUMUOW 21.105 Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW, use!
ASUMUOWT 21.105 Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW, use!
Major enhancements added in MXG 21.02
TYPE7072 21.065 Support for more than 16 CPUs or LPARs.
TYPE74 21.058 Support for APAR OW54347 CMR Command Response time
TYPETMS5 21.097 Support for PDC # QI30130 new variables.
TYPEIMS7 21.064 Support for IMS Version 8.1, some changes.
ASMIMSL6 21.064 Support for IMS Version 8.1; just reassemble L6.
IMAC6ESS 21.082 Support for additional GPARMKY values in SMF 6 ESS.
IMAC6ESS 21.096 Support for GEPARMKY=001B.
TYPE30 21.086 Support for IDMS PerfMon type 30 subtype 3 per tran
TYPENTSM 21.063 Support for NTSMF 2.4.5 (INCOMPATIBLE).
TYPENTSM 21.053 Support for NTSMF BlackBerry Server object.
TYPETNG 21.095 Support for six new TNG objects, new fields.
EXUTILEX 21.069 Exit for UTILEXCL for non-standard "User" field.
VMXGRMFI 21.067 Examples to invoke RMFINTRV twice, general cleanup.
ASUMUOW 21.062 Revised SPINUOW logic, forward sequence of times.
ASUMUOW 21.093 Blank SYSTEM in PDB.ASUMUOW for CICS-only fixes.
TYPE102 21.061 Support for dataset T102S196 (locks) validated.
TYPE74 21.059 TYPE74ST negative values corrected, QSIZ retained.
FORMATS 21.057 RACF MG080QU,TY formats updated for z/OS 1.2-1.4.
BUILDPDB 21.056 Exit EXPDBSPJ created for local variables for spin.
UTILEXCL 21.054 Variables KY8DISTM/KY8CPUTM corrected.
MICSMXG 21.089 New member documenting MICS replacement by MXG.
Major enhancements added in MXG 21.01
ASMRMFV 21.002 Improved processing of RMF III data.
CLRMFIII 21.002 CLIST for batch execution to read all RMF III data.
DOCLRMFV 21.002 Documentation of CLRMFIII CLIST.
GRAFTRND 21.040 New plots of Peak to Average Utilization ratio.
MXGSASV8 21.009 Symbolic parm WORKVOL= added, default 5 volumes
SAS V9 21.028 Early V8-V9 comparisons flawed, V9 is better.
TYPE108 21.018 Support for Domino Server Relase 6.0.0 new data.
TYPECTLT 21.026 Support for Control-T Release 6.0/6.1(INCOMPATIBLE).
TYPEQACS 21.033 AS/400 5.2 file's LRECLs have been validated.
TYPETNG 21.024 Support for TNG "Enterprise Cubes", Processes, plus.
TYPEXAM 21.023 Support for TCP/Linux/etc, plust lots of cleanup.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
MXG New Version QA tests are executed on OS/390 & z/OS with SAS V8.2,
V9.0 and (archaic) V6.09, and on Windows 2000 & XP with V8.2 and V9.1
on Intel platforms. Additional tests have been run with SAS V8.2 on
Linux RH 7.2 on Intel, with V9.1 on Solaris v2.8 model v880, and V9.1
on HP-UX v11.11 model rp5470, confirming full compatibility. So MXG
executes under SAS V8.2 or later on every possible SAS platform!
Each new version is also tested with SAS/ITSV by ITSV development.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990 8.8
MVS/ESA 4.2 Mar 29, 1991 9.9
MVS/ESA 4.2.2 Aug 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2, IRD enhancements Apr 26, 2002 20.01
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
CICS/ESA 3.2 Jun 28, 1991 9.9
CICS/ESA 3.3 Mar 28, 1992 10.01
CICS/ESA 4.1 Oct 27, 1994 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003 21.04
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate Mar 31, 2004 20.20
DB2 8.1 New Data Supported Mar 31, 2004 21.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 Jul 23, 2003 21.03
Note: An asterisk before the version number indicates that this
entry was changed to a later version of MXG being required,
after it was found that the previous version did not support
the listed product level, usually the result of an APAR to
the product that modified the products data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
SAS Institute
MXG executes best under SAS Version 8.2, with 82BA77 HOTFIX for
MVS-OS/390-z/OS which includes Critical fixes; see NEWSLTRS.
It has executed succesfully under SAS Version 9 Beta on both
MVS and Windows platforms.
See Newsletters for expanded discussion of other versions.
Read member NEWSLTRS (search 'V8') for SAS Version 8 notes.
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS/ESA 2.1 - 20.04
The Monitor for CICS/ESA 2.2 - 20.335, 21.134 21.04
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
Memorex/Telex
LMS 3.1 12.12A
Amdahl
APAF 4.1, 4.3 16.08
II. Incompatibilities and Installation of MXG 21.03.
1. Incompatibilities introduced in MXG 21.06 (since MXG 20.20):
a- Changes in MXG architecture made between 21.06 and 20.20 that might
introduce incompatibilities.
ASUMCICS: If you used ASUMCICS to read ASG-LANDMARK MONITASK CICS
data to create PDB.CICS, you must now use ASUMCICT.
See Change 21.105.
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINSTL.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
OBSERVATION COUNT CHANGE: xxxxxxxx more/fewer observations.
This new note will be the last line of new Changes that alter the
number of observations MXG creates in dataset xxxxxxxx.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes after MXG 20.20 now in MXG 21.06:
Dataset/
Member Change Description
many 21.131 &OPSYS now consistently used in place of &SYSSCP.
many 21.289 Note 49-169 in SAS V9.1 is harmless.
none 21.310 Support for z/OS 1.5.
none 21.184 Support for 3592 Tape Drives, they look like 3590s.
ANALALL 21.250 ANALALL/ANALJOBN/VMXGPRAL job counting SMF records.
ANALDB2R 21.015 Using %ANALDB2R(PDB=SMF) caused syntax errors.
ANALDB2R 21.157 Accounting Summary Class 2 were totals, not avgs.
ANALDB2R 21.239 Ability to read multiple PDBs in ANALDB2R restored.
ANALSTC 21.135 Report using STK SMF + MXGTMNT to track Virtual tape.
ASMIMSL6 21.064 Support for IMS Version 8.1; just reassemble L6.
ASMRMFV 21.002 Improved processing of RMF III data.
ASMRMFV 21.236 Wrong member replaced; this has change 21.186 code.
ASMTAPEE 21.304 New MXG Tape "Event" Mount/Allocate/Recvr Monitor.
ASMTAPES 21.004 Using //EXCLUDE DD with highest DEVNR cause 0C4.
ASMTAPES 21.137 ASMTAPES new Allocation Recovery event record.
ASUM70PR 21.149 Major LPAR Measurement Enhancement: PDB.ASUM70LP.
ASUMCACH 21.197 Enhanced to keep I/O by LPAR in PDB.ASUMCACH.
ASUMCICS 21.105 Reads only CICSTRAN, creates PDB.CICS, don't use.
ASUMCICS 21.242 Protection for OPERATOR/TERMINAL variable not found.
ASUMCICT 21.105 Reads only MONITASK, creates PDB.CICS, don't use.
ASUMCICX 21.105 Reads PDB.ASUMUOW; use instead of ASUMCICS/ASUMCICT.
ASUMUOTT 21.237 New ASUMUOTT combines TMDBDB2 and MONITASK datasets.
ASUMUOW 21.062 Revised SPINUOW logic, forward sequence of times.
ASUMUOW 21.105 Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW, use!
ASUMUOW 21.147 Near-constant value for STRTTIME in PDB.CICS.
ASUMUOW 21.194 Variables added to PDB.ASUMUOW
ASUMUOW 21.220 FLASH: MXG 21.06 required to have all errors fixed.
ASUMUOWT 21.035 ASUMUOWT failed with BY VARIABLES NOT SORTED.
ASUMUOWT 21.105 Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW, use!
AUTOEXEC 21.290 Option defaults changed for SAS V 9.1 for ASCII.
BLDNTPDB 21.103 Relocated copying of WEEKn.
BLDSMPDB 21.255 New BLDSMPDB builds SMF PDB Jobstream, weekly, etc.
BUILDPDB 21.056 Exit EXPDBSPJ created for local variables for spin.
CLRMFIII 21.002 CLIST for batch execution to read all RMF III data.
CONFIGV8 21.168 SORTSEQ=EBCDIC or SORTSEQ=ASCII forced default.
CONFIGV9 21.290 Option defaults changed for SAS V 9.1 for EBCDIC.
DAILYDSR 21.293 Support for DFSMS/rmm+DCOLLECT in JCLDAYDS example.
DOCLRMFV 21.002 Documentation of CLRMFIII CLIST.
DOCMXG 21.132 ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES cause
EMAIL 21.308 Example to email a PROC PRINT to a list of users.
EXUTILEX 21.069 Exit for UTILEXCL for non-standard "User" field.
FORMATS 21.057 RACF MG080QU,TY formats updated for z/OS 1.2-1.4.
FORMATS 21.141 $MG070CP updated for MSU for CPUTYPE 2084 table.
GRAFTRND 21.040 New plots of Peak to Average Utilization ratio.
IMAC6ESS 21.014 Multiple 6-ESS "0031" USERDATA segments supported.
IMAC6ESS 21.082 Support for additional GPARMKY values in SMF 6 ESS.
IMAC6ESS 21.096 Support for GEPARMKY=001B.
MONTHBLD 21.163 Enhancement for un-sorted input, or NOT SORTED ERROR.
MXGSASV8 21.009 Symbolic parm WORKVOL= added, default 5 volumes
PROCCOPY 21.279 Use MT=DATA with PROC COPY + SELECT for performance.
RMFINTRV 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
RMFINTRV 21.216 z990 CPUTYPE 2084 NOT IN TABLE with OS/390 R2.10.
RMFINTRV 21.225 RMF WORKLOAD name can be used to define workloads.
RMFMON 21.252 Free Interactive RMF control block monitor.
SAS V9 21.028 Early V8-V9 comparisons flawed, V9 is better.
SAS V9.1 21.289 Note 49-169 blanks inserted to eliminate note
SYSLOG 21.307 Example program to read SYSLOG for job events.
TYPE102 21.061 Support for dataset T102S196 (locks) validated.
TYPE102 21.121 Support for IFCID 251, 257, corrections for 21.
TYPE102 21.175 Support for IFCIDs 217 and 254.
TYPE103 21.115 Support for APAR PQ71799 HTTP Server SMF 103 data.
TYPE108 21.018 Support for Domino Server Relase 6.0.0 new data.
TYPE110 21.100 CICSTRAN RTYPE='S' or 'F' decoded.
TYPE110 21.101 CPURLSTM wrong with CICS/TS 1.1 or later
TYPE110 21.165 STID=126 UNEXPECTED data corrected.
TYPE110 21.176 New TSQUEUE SMF 110 CL 5 INPUT STATEMENT EXCEEDED.
TYPE110 21.189 New 110 St=1 MNSEGCL=5 caused INVALID DO LOOP CONTROL
TYPE110 21.198 Missing value for STRTTIME in CICSTRAN possible.
TYPE110 21.212 Support for CMODNAME='MQSeries' CICSTRAN segment.
TYPE110 21.240 Support for new S4RSP7CT in STID=124 CICS record.
TYPE115 21.183 SMF 115 ST 2 INPUT STATEMENT EXCEEDED corrected.
TYPE115 21.262 WebSphere MQ Version 5.3 SM115REL added.
TYPE116 21.173 Subtype 0 SMF 116 INVALID PRODUCT SECTION message.
TYPE116 21.262 WebSphere MQ Version 5.3 SM116REL added.
TYPE119 21.162 IFDURTM was incorrectly divided by 496 vice 4096.
TYPE119 21.190 Support for APAR PQ77633, corrects FTPREPLY.
TYPE120 21.107 Support for WebSphere APAR PQ74463 - adds CPU time.
TYPE120 21.150 Support for CPU Time in WASserver APAR PQW74463.
TYPE120 21.294 Support for JVM Heap sizes in SMF 120 st 1 and 3.
TYPE30 21.086 Support for IDMS PerfMon type 30 subtype 3 per tran
TYPE42 21.010 SMF 42 offsets subtype 20,21 wrong in IBM doc, fixed.
TYPE42 21.288 Support for Type 42 Subtype 10 TYPE42VS Vol Sel Fail
TYPE6 21.210 Support for ESS segments '34x,35x,37x,47x'.
TYPE6 21.226 Support for GEPARMKY=000B in ESS, variable ESSDEFAU.
TYPE6156 21.123 Non-duplicate (Data/Index) TYPE6156 were NODUPed.
TYPE70 21.170 NRCPUs in TYPE70 redefined to Average Online for IRD.
TYPE7072 21.065 Support for more than 16 CPUs or LPARs.
TYPE7072 21.130 Support for APAR OW56656 for RMF for z990 (COMPAT).
TYPE7072 21.138 R723Rxxx vars now kept in TYPE72DL vice TYPE72SC.
TYPE7072 21.275 SMF70CIN/LPARCPUS wrong if VSAM SMF read
TYPE7072 21.287 NRCPUS=ROUND(NRCPUS,.001); for 2.00000040 value.
TYPE70PR 21.108 LPnNSW - Percent When Soft Capped variables added.
TYPE71 21.218 TYPE71 variables had AVAILABLE...USED, USED removed.
TYPE73 21.007 PCHANBY missing for 'CFS/CFP/CBP/CBS/IFP' TYPE73.
TYPE73 21.098 Some TYPE7204 "SUM OF" variables weren't.
TYPE74 21.058 Support for APAR OW54347 CMR Command Response time
TYPE74 21.059 TYPE74ST negative values corrected, QSIZ retained.
TYPE74 21.238 Dataset TYPE74DU (RMF DUPLEX CF) was trashed.
TYPE79 21.003 Variable R791FMCT needed to be multiplied by 4096.
TYPE80A 21.201 Protection for SMF80DTP=53 (RUTKN) with wrong len.
TYPE80A 21.211 Support for RACF segment RACFDBP=44, new variables.
TYPE80A 21.215 Support for EKC's ETF/R FIRECALL SMF 80 data.
TYPE85 21.104 OAM SMF 85 from R85PRVM 1.3.0 caused STOPOVER.
TYPE90 21.196 INVALID DATA FOR VERSN90 has no impact.
TYPE94 21.191 Variable SMF94VCZ recalculated when it is zero.
TYPE99 21.217 Support for SMF 99 subtype 7 PAV Device record.
TYPEAIX 21.116 Major revision to AIX PTX Support - new datasets.
TYPEBE97 21.312 Support for Beta97 User SMF record.
TYPECIMS 21.153 Support for BMC MVIMS IMF 3.3.0 (COMPAT)
TYPECIMS 21.205 Support for Shared Message Queue Group in SMQGROUP.
TYPECTLL 21.156 Support for Control-D Log file.
TYPECTLT 21.026 Support for Control-T Release 6 (INCOMPATIBLE).
TYPEDB2 21.006 Negative values in DB2STATB after stop/start DB2.
TYPEDB2 21.140 PDB.DB2STATS QBGLxxxx wrong, negative B3HITRAT.
TYPEDB2 21.187 PDB.DB2GBPST occasionally had invalid (large) values.
TYPEDB2 21.200 Negative values for DB2TCBTM if QWACEJST small.
TYPEDB2 21.208 QWACBSC/QWACESC missing in DB2ACCTP, some packages
TYPEDB2 21.259 Using VMXGTIME with DB2 caused GMTOFFDB/QWACBSC wrong
TYPEDB2 21.281 Support for DB2 Version 8.1, COMPATIBLE back to 20.20
TYPEEDGR 21.158 Support for z/OS 1.4 DFSMS/rmm EDGRXEXT (INCOMPAT)
TYPEEDGS 21.122 MACRO _LNEDGS resolves STOPOVER with rmm data.
TYPEENTX 21.124 Support for EntireX user SMF accounting record.
TYPEEXCH 21.195 Support for Microsoft Exchange Server 5.5 Log file.
TYPEHMF 21.143 Support for HMF Subtype 29,30,32,33 changes.
TYPEICE 21.102 Support for STK IXFP SMF L2P00A2/LZP00A9 (COMPAT)
TYPEIMS7 21.064 Support for IMS Version 8.1, some changes.
TYPEMVCI 21.117 Support for Mainview for CICS 5.6 CMRDETL (INCOMPAT).
TYPEMWUX 21.241 Revised support for HP Measureware for HPUX.
TYPENDM 21.133 Support for NDM Release 4.3 (INCOMPATIBLE).
TYPENDM 21.286 Support more NDM/Connect Direct subtypes, 26 new dset
TYPENETM 21.263 Support for UniCenter NetMaster Automate Services SMF
TYPENSPY 21.155 NetSpy Version 6 and 7 already supported since 20.10.
TYPENTSM 21.053 Support for NTSMF BlackBerry Server object.
TYPENTSM 21.063 Support for NTSMF 2.4.5 (INCOMPATIBLE).
TYPENTSM 21.136 SMPTSERV for Windows 2000 had accumulated values.
TYPENTSM 21.146 Support for Windows 2003 Server MEMORY object.
TYPENTSM 21.193 Variable BYTEAVAI can be zero.
TYPENTSM 21.285 Support for Web Service Cache, WSRM objects.
TYPEOMDB 21.243 Support for Candle Omegamon II for DB2 Historical.
TYPEOMVT 21.311 Support for Omegamon/VTAM subtypes 29 and 30.
TYPEOPC 21.202 INPUT STATEMENT EXCEEDED.
TYPEOPFT 21.233 Support for Fujitsu Siemens openFT ftp SMF record.
TYPEORAC 21.019 Oracle ASID, ELAPSTM corrected.
TYPEORAC 21.213 Support for Oracle V9.x, no changes.
TYPEQACS 21.013 INVALID DATA for QAPMDISK file corrected.
TYPEQACS 21.033 AS/400 5.2 file's LRECLs have been validated.
TYPEQACS 21.118 Support for TCP and TCPIEF objects for AS/400.
TYPEQACS 21.224 New QAPMCONF GDESIL/IT/PU were missing values.
TYPESARR 21.223 INPUT STATEMENT EXCEED for CA-VIEW SMF record.
TYPESASU 21.251 Support for SAS SMFEXIT adds SAS Version/User/JOBID.
TYPESYNC 21.192 Up to 255 SORTWORKs supported in z/OS 1.1 SMF record.
TYPETCP 21.142 TYPETCPS contained accumulated, not interval data.
TYPETMMQ 21.129 Support for ASG-Landmark TMON for MQ Series.
TYPETMO2 21.134 MONITASK UOW variables were incorrect.
TYPETMS5 21.097 Support for PDC # QI30130 new variables.
TYPETNG 21.024 Support for TNG "Enterprise Cubes", processes, plus.
TYPETNG 21.095 Support for six new TNG objects, new fields.
TYPETNG 21.160 Support for TNG Version 7 (INCOMPAT, Header changed).
TYPETNG 21.269 Major enhancement/validation of new TNG objects.
TYPETPMX 21.209 New fields supported.
TYPETPMX 21.271 Major enhancement/validation of ThruPut Manager SMF
TYPETSMF 21.210 Support for IBM Tivoli Storage Manager Acct Records.
TYPEWWW 21.166 IIS Web Log with missing fields now supported
TYPEWWW 21.221 Web Log INVALID ARGUMENT with negative GMT offset.
TYPEXAM 21.023 Support for TCP/Linux/etc, plus lots of cleanup.
UNIXSAR1 21.309 Support for "sar", "acctcom", "ps" for AIX/SUN unix.
UNIXTOP 21.314 Support for "top" unix report.
UTILBLDP 21.148 Enhancement to the "Build your own PDB" utility.
UTILBLDP 21.231 USERADD=80/90 create TYPE80A or TYPE90A execution.
UTILEXCL 21.054 Variables KY8DISTM/KY8CPUTM corrected.
VMACSMF 21.127 Variable INFILENM contains input DSNAME or dir/file.
VMXGINIT 21.253 Global macro variables TRENDOLD/TRENDNEW/TRENDINP.
VMXGRMFI 21.067 Examples to invoke RMFINTRV twice, general cleanup.
VMXGRMFI 21.094 Corrections to MSU4HRAV calculation.
VMXGRMFI 21.113 Parsing of more than 99 service class names.
VMXGRMFI 21.125 Different SRVCLASS definitions can map to same WORK.
VMXGRMFI 21.234 Test for '2084'x CPUTYPE, only needed S/390 R2.10.
VMXGSUM 21.185 New INTERVAL=SECOND now supported.
VMXGSUME 21.277 Enhanced alternative, tolerates non-present variables
VMXGUOW 21.093 PDB.ASUMUOW corrected, blank SYSTEM plus others.
WEEKBLDT 21.045 WEEKBLDT fails under SAS Version 6.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 21.
====== Changes thru 21.320 were in MXG 21.21 dated Feb 10, 2004=========
Change 21.320 MXG 21.21 final QA corrections/incompatibilities:
CLRMFV -SEQENGINE=V6SEQ changed to V8SEQ/V9SEQ in CONFIGV8/V9.
CONFIGV8 See MXG Tech Note 4.A in Newsletter FORTY-FOUR, 10Feb04.
CONFIGV9 -VMACDB2. Remove line 8259: PUT _N_= 'HAVE 239 ';
EXTMNSTS -UTILEXCL. Add a second percent-sign to change line 218 to
IMACTMNT %%INCLUDE SOURCLIB(IMACZDAT);
UTILEXCL -CLRMFV. Cosmetic. A "NOT" and EQUAL symbols slipped thru
VMAC90 and were changed to "NE"; NOTs don't translate well among
VMACDB2 platforms, and were removed back in Change 8.093
VMACTMNT -Only if you received MXG on CD: Change line 57 in member
VMXGINIT VMACTMNT, removing "DEVNR", changing the line to be:
Feb 10, 2004 MACRO _BTYSTS SYSTEM SHIFT INTBTIME %
-The CD-only VMACTMNT error was caused by my accidental
copying of support for the new TYPESTAT statistics data
from the subtype 6 ASMTAPEE ML-30 SMF record, after the
ftp and tape files were built. TYPESTAT was validated,
but I didn't use TYPSTMNT to test its sort macro. Member
EXTMNSTS was added and VMXGINIT updated for TYPESTAT and
the sort has been tested in this final iteration.
-Variables SMF9029N,SMF9029A,SMF9030I in archaic VMAC90
were renamed A, N, and Y, only in case someone foolishly
uses both VMAC90 and VMAC90A in same step. Use VMAC90A.
Thanks to George Canning, Abbey National Plc, ENGLAND.
Thanks to Vernon Kelley, IBM, USA.
====== Changes thru 21.319 were in MXG 21.21 dated Feb 6, 2004=========
Change 21.319 Variables PARTNCPU and CPCMSU were added to the new
VMXG70PR PDB.ASUM70LP dataset so the hardware attributes of
Feb 6, 2004 the number of engines and MSU capacity are kept.
Feb 10, 2004
Thanks to Una Cho, CIGNA, USA.
Change 21.318 The label for DB2 variable QLACRBND should be
VMACDB2 SQL STATEMENTS*BOUND FOR*REMOTE ACCESS insteadd of
Feb 5, 2004 ... REMOVE ....
Thanks to Marnel Groebner, State of Washington, USA
Change 21.317 IBM changed the contents of SMF64BMH; its new label is
VMAC64 SMF64BMH='REQUEST HITS*FROM RLS BMF*BUFFER POOL'
Feb 5, 2004 the number or requests obtained from the local shared
buffer pool, and not the old VSAM LSR pool.
Thanks to Thomas R. Coccia, Bank One, USA.
Thanks to Hari Maramraju, Bank One, USA.
Thanks to Raymond G. Seeley, IBM OS/390 Support, USA.
Change 21.316 Updates for SMF record from Serena Ultimizer fix an INPUT
VMACULTM EXCEEDED error and revised INPUT logic have been tested
Feb 4, 2004 with Version R313, but the DSECT indicates no changes
since R310.
Thanks to Scott Barry, SBBWorks, Inc, USA
Change 21.315 PDB.TYPE70PR data with STARTIME 10:13:59 and 10:14:00
VMXG70PR caused multiple observations in PDB.ASUMCEC; the logic
Feb 4, 2004 to force STARTIME across the CEC to the nearest minute
was changed to STARTIME=60*FLOOR((STARTIME+30)/60);
and now those two observations are correctly combined.
Why the STARTIME are off by a full second in a SYSPLEX
is not known at this time. See Change 23.070 redesign.
Thanks to Alan Gray, Carefirst, USA.
Change 21.314 Support for "top" unix command in this user contribution.
UNIXTOP This member contains input for IEBUPDTE to create a PDS
Feb 4, 2004 or directory of the sample program.
This code is not yet "MXG-structured".
Comments in the members tell you what to do!
Thanks to Xiaobo Zhang, ISO, USA.
Change 21.313 Error IEC143I 213-04 on STEPLIB DD with the SAS JCL PROC,
MXGSASV8 after you have executed MXGSASVx JCL Proc, tells you to
MXGSASV9 change your SAS proc to //NULLPDS DD DISP=(NEW,DELETE),
Feb 4, 2004 to matches MXG's discovery that (NEW,DELETE) is safer for
all sites than (MOD,PASS) - see text of Change 20.076.
However, if you do NOT have CA-11, and you are not the
SAS installer, you can circumvent this error by making
//NULLPDS in MXGSASxx PROC use the archaic (MOD,PASS).
This change is doc only; nothing was changed in MXG.
Thanks to Allana Jacob, IBM CANADA LTD, CANADA.
Change 21.312 Support for Beta97 creates new datasets in this user
EXTYB970 contribution.
EXTYB972
EXTYB974
EXTYB97L
IMACBE97
VMACBE97
VMXGINIT
Feb 4, 2004
Thanks to Stephen Bell, Sparkassen Informatik, GERMANY.
Change 21.311 Support for Omegamon for VTAM subtype 29/30 additions and
VMACOMVT protection for INPUT STATEMENT EXCEEDED error, and for
Feb 3, 2004 records that are too short to contain all IRECS.
Thanks to Manfred Engelhart, Candle GmbH, GERMANY.
Change 21.310 Support for z/OS 1.5 (V 1 Release 5) is already in place
DOC in MXG 21.04 and later (required for z/OS 1.4 PTFs), so
Feb 3, 2004 no new MXG changes are required. Minor additions in data
fields that were reserved were compatibly made by IBM.
Change 21.309 Enhanced support for "sar", "acctcom", and "ps" reports
UNIXSAR1 for AIX & SUN unix platforms, in this user contribution.
Feb 3, 2004 In addition to the existing UNIXSAR example, this member
contains four SAS members and two Perl scripts that you
can use to process "sar" data. You need to install the
daemons in the SUN and AIX operating systems; collect the
data in each system, ftp or nfs the data to MXG, and then
process the sar data with the SAS programs.
This member contains input for IEBUPDTE to create a PDS
or directory of the sample program.
This code is not yet "MXG-structured".
Comments in the members tell you what to do!
Thanks to Uriel Carrasquilla, NCCI. USA.
Change 21.308 Member EMAIL previously contained examples to send an
EMAIL email from SAS; this enhancement defines %MACRO EMAIL
Feb 3, 2004 that will send a PROC PRINT of any SAS dataset via a
list of email addressees.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.307 Example program that reads z/OS SYSLOG file for specific
SYSLOG events; an excellent starting place for additional event
Feb 3, 2004 analysis. Please send your updates for other events.
This example tracks these SYSLOG events:
AQ/HQ Activate/Hold JES2 input job queue
SI/TI/PI Start/Modify/Purge Initiators
TJ Modify a job - class, scheduling environment
SJ Force a job to start, disregard class limits
T JOBCLASS Modify characteristics of a job class
Thanks to Chuck Hopf, MBNA, USA.
Change 21.306 This change was rewritten. There is no new "87F3x" flag
VMACVMXA (which was actually a typo, the value was "873Fx") and
Feb 3, 2004 MONWRITE was not changed. However, if you ftp MONWRITE
Mar 22, 2004 data, and translate it from EBCDIC to ASCII, instead of
using a BINARY ftp transfer, you will find the incorrect
0000873Fx value instead of 00008709x at the start of the
data file, and you'll get *ERROR* PROBABLE DATA LOSS DUE
TO MONWRITE FAILURE messages. Always ftp MONWRITE as
BINARY, (i.e., NOASCII NOCRLF if using IND$FILE, etc.)
Aug 20, 2004: If you send VMACCT data and translate it
from EBCDIC to ASCII, CPUMODEL='3F84'x results, which is
the cause of INVALID DATA error for a '2084'x CPU.
Thanks to Dwain Majak, ACS, USA.
Thanks to Sudie Wulfert-Schickedanz, Anheuser-Busch Companies, USA.
Change 21.305 UNDECLARED ARRAY REFERENCED: ICSRDQU error precedeed by
VMXGINIT an APPARENT SYMBOLIC WCICRDQ NOT RESOLVED error was due
Feb 3, 2004 to back-level VMXGINIT in tailoring that didn't define
&WCICRDQ. The text &WCICRDQ..CICSRDQU (KEEP= without
the macro var was parsed to ISCRDQU (KEEP= which
looks just like an array reference to SAS compiler.
Real purpose of this note is to suggest to always take
care of the first SAS error first, and then rerun to see
if that also took care of subsequent SAS errors during
compile of complicated programs.
Thanks to Michael Cosentino, Rohm & Haas, USA.
Change 21.304 New MXG Tape "Event" Mount/Allocate/Recovery monitor sees
ASMTAPEE all tape events, no longer samples for mounts, and gets
VMACTMNT back all of the JOB-level data lost when we gave up XMEM.
Feb 5, 2004 ASMTAPEE is a complete redesign that executes in a mount
exit in the address space of the job, so we not only see
all mount events, but no longer have to use Cross Memory
Services. The new design had one field test iteration
last year, and only one graceful failure (i.e., only an
ABEND of the monitor program, no impact to the system)
when two concurrent allocation recovery events for the
same device occurred, which is now protected.
However, please test this new design with extreme care;
this text will be updated when we have had confirmed
field tests and feed back from new users. See comments
in the ASMTAPEE member for more information.
Since ASMTAPEE will eventually replace ASMTAPES, this
is "ML-30" of the MXGTMNT program.
When MXIT=YES is used, then the mount exit monitoring is
used instead of interval sampling. MXIT=NO is default;
you must change that default to create the exit monitor.
The new MXIT=YES exit monitor (like the recently added
allocation recovery monitor logic) runs in a subtask of
MXGTMNT to keep it separate and independent. If an
unrecoverable error occurs in the MXIT=YES subtask, it
will shut itself down and switch back to using the old
interval sampling method, so that records won't be lost.
New variable TMNTFLAG='1.......'B is set in records that
are created by the new exit monitor.
The tape allocation monitoring function still uses
interval sampling.
Most of the fields that were removed when we disabled
XMEM processing are populated by the exit monitor, and
these new variables are created in TYPETMNT dataset:
ASID ='ASID'
DDNAME ='DD NAME'
DSNAME ='DSNAME NAME'
JOBCLASS='JOB*CLASS'
PGMRNAME='PROGRAMMER*NAME'
RACFGRUP='RACF*GROUP*NAME'
RACFTERM='RACF*TERMINAL*NAME'
RACFUSER='RACF*USER*NAME'
STEPNAME='STEP*NAME'
TMNTACTN ='MNTFLG: 80 04 02 01'
TMNTDEVC='DEVICE*NUMBER AS*CHARACTER'
TMNTEDUR ='EVENT*DURATION'
TMNTFLAG ='MNTFLG: 80 04 02 01'
TMNTRCN ='RELATIVE*CONCATENATION*NUMBER'
Thanks to "asmguy@mxg.com".
Change 21.303 Variable ZARCHMDE, "System is running in z/Architecture"
VMAC7072 is now kept in TYPE70 dataset, since it has been found to
Feb 2, 2004 be a useful discriminant when activating Z/Arch mode.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 21.302 DB2 SMF 102 IFCID=22 variable QW0022OS was negative when
VMAC102 the &RB.4. field contained 'FFFFFFFF'x, an invalid float
Feb 2, 2004 value. MXG now tests and detects and sets QW0022OS to a
missing value instead of -7.237E75. There is no IBM note
describing why the SQL cost was not validly populated.
Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.
Change 21.301 Ahh, what we have to do to keep MXG running under SAS V6!
VMXGCICI VARIABLE S2ACT S2TCT IS UNINITIALIZED because their names
Jan 30, 2004 DS2ACT and DS2TCT started in column 1 of the ORDER= stmt,
and the preceding label's ending quote was in column 72,
and the V6 parsing was imperfect. Inserting a blank has
corrected this V6.09-only error, caught in our QA.
P.S. The only impact without this change was that the
real variables DS2ACT/DS2TCT had blank labels.
Thanks to Freddie Arie, TXU, USA.
Change 21.300 The calculated EXPORTIM was incorrect for hour 0; the
VMACHPAI logic was revised to protect that hour of the day.
Jan 30, 2004
Thanks to Nick Johns, Sainsburys, ENGLAND.
Change 21.299 PARTNCPU was zero for z800s running in basic mode. MXG
VMXGRMFI tested SMF70WLA, the image size, to determine what data
Jan 30, 2004 is present, because on OS/390 R2.10 or lower, SMF70WLA
was zero or missing. But when basic mode or LPAR mode is
running with OS/390 R2.10 or z/OS, SMF70WLA is populated
with the image size in MSUs. When there are no LPARS,
PARTNCPU was zero, so using CPCNRCPU=PARTNCPU was wrong.
The test was revised to use SMF70LAC, which is zero on
basic machines, but nonzero for LPARs.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.298 Nearly cosmetic; all variables were kept in TYPE30_4 when
ANAL30 four were needed; the MACRO _KTY30U4 V1 V2 V3 V4 % was
Jan 29, 2004 replaced with MACRO _VTY30U4 KEEP= V1 V2 V3 V4 %
Thanks to Diane Eppestine, SBC, USA.
Change 21.297 Variable ZDATE added to the list of variables kept in the
UTILEXCL PDB.CICSDICT dataset, for possible use.
Jan 29, 2004
Change 21.296 Does MXG support the VM Performance Tool Kit data file?
TYPEVMXA There is a VM Perf took kit that apparently creates its
Jan 29, 2004 own output data file, but that file is not supported in
MXG, because MXG's TYPEVMXA member supports all of the
monitor data from the IBM-supplied CMS MONWRITE command,
rather than the tool kit's subset of the monitor data.
I thought there might be an actual MONWRITE execution as
part of the tool kit's process, so that you would only
have to find and read that intermediate file,
and if you find there is one, please let me know,
or if you find there is tool kit data not in MONWRITE,
then I'll consider supporting the tool kit file,
but one user found it easier just to create a virtual
machine and run MONWRITE in it to monitor all of the VMs
on that system (including each of the Linux machines!);
His virtual machine had these directory statements:
IUCV *MONITOR MSGLIMIT 255 NAMESAVE MONDCSS
and then he can issue the "start" command:
MONWRITE MONDCSS *MONITOR DISK
command which will cause the MONWRITE records to be
copied from the monitor to this virtual machine and
written on its a-disk. Then the command
MONWSTOP
is issued to close the file and then reissue the "start"
command to start the monitor back up.
As he said, "it's crude, but it works."
Thanks to Jerry Ellis, Liberty Mutual, USA.
Change 21.295 Documentation of /VIEW limitation. This simple program
doc should read SMF type 110 records, create dataset CICSTRAN
Jan 29, 2004 as a view (to skip a write and read of CICSTRAN), and at
the same time, create all of the CICS Statistics datasets
in the //WORK file, then PROC SORT each of the CICS stats
datasets to the //PDB by the _S110ST macro, and then the
_SUOWCIC macro will PROC SORT the CICSTRAN view to create
the PDB.ASUMUOW dataset. This program fails:
%INCLUDE SOURCLIB(VMAC110,VMACSMF,IMACKEEP...);
DATA
_VAR110 /VIEW=_WCICTRN;
_SMF
_CDE110
_S110ST
_SUOWCIC
because of the /VIEW operand. Remove the /VIEW= and the
program works as expected. Why? Because the existence
of a /VIEW defers the execution of that data step until
that dataset is referenced, but the _S110ST macro starts
with PROC SORT DATA=CICAUSS, so ERROR: CICAUSS NOT FOUND
results since that dataset hasn't yet been create; what's
really confusing is that the INFILE SMF messages are not
on the log, and SMF was never opened.
However, reordering the macro references:
DATA
_VAR110 /VIEW=_WCICTRN;
_SMF
_CDE110
_SUOWCIC
_S110ST
the program works just fine, because the CICSTRAN gets
referenced first, the data step runs, and _SUOWCIC runs,
and the CICS Statistics Data Sets are SORTed at the end.
Okay, since VIEW= is for performance, putting the Sort
of CICS Stats after _SUOWCIC means those stat datasets
will be occupying //WORK space until after _SUOWCIC
ends, which might itself be a bigger performance issue
than the write/read of CICSTRAN saved with the VIEW.
An alternative that writes those CICS Statistics Data
Directly to the PDB library, without the PROC SORT, so
no duplicates will be detected, but without the extra
copy, was described in Change 18.152:
//SYSIN DD *
%INCLUDE SOURCLIB(VMAC110,VMACSMF,IMACKEEP...);
%LET CICSTAT=PDB;
_CICSTAT;
... rest of your program
Change 21.294 Support for new JVM Heap data in SMF 120 subtype 1 and 3:
EXT120SH
EXT120SR Subtype dddddd dataset description
IMAC120 1 T120SH TYP120SH server region heap
VMAC120 3 T120SR TYP120SR server region intervval heap
VMXGINIT Has been tested with only one heap per server region, so
Jan 29, 2004 have not validated with multiple heaps and code is nasty.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Change 21.293 Support for DFSMS/rmm + DCOLLECT in the JCLDAYDS example.
DAILYDSR The original JCLDAYDS, for "Daily Data Set Accounting"
JCLDAYDS used DCOLLECT for DASD space accounting and TMS/CA-1 for
Jan 29, 2004 tape storage; this enhancement will use IBM's DFSMS/rmm
instead of TMS for your tape storage accounting.
Thanks to Diane Eppestine, SBC, USA.
====== Changes thru 21.292 were in MXG 21.08 dated Jan 28, 2004=========
Change 21.292 Jan 26 21.08: ERROR: VARIABLE R0723AX NOT FOUND TYPE7002,
VMAC7072 when sorted; correct name is R7023AX in the _BTY7002
Jan 28, 2004 macro definition.
Thanks to Craig Loubser, Winn-Dixie, USA.
Change 21.291 If your "PDB" Data Libraries were built by V6, reusing
TYPE102 that old V6 PDB under SAS V8/9 to create MXG datasets
Jan 27, 2004 with "long length character variables", i.e, those with
"LENGTH varname $ &SASCHRLN;" in their VMACxxxx member,
like SQL text variable QW0063ST in T102S063 dataset,
will fail. You must write those V8 SAS datasets to V8
data libraries; you cannot write them to a V6 library.
Create a new data library with SAS V8, and if you need
any of the old datasets as input, the use PROC COPY to
copy from the old V6 library to the new V8 library.
In this specific case, the error that surfaced was that
variables SEG10263 and LEN10263 were missing; they were
counts of 200-byte segments of SQL text under SAS V6.
Thanks to Frank d'Hoine, National Bank of Belgium, BELGIUM.
====== Changes thru 21.290 were in MXG 21.08 dated Jan 26, 2004=========
Change 21.290 Changes in OPTIONS for SAS V9.1.
AUTOEXEC -The options for printing statistics on the SAS log have
CONFIGV9 been enabled and made consistent; benchmarks with V9.1
JCLTEST9 show there is no longer a CPU cost associated with these
MXGSASV9 options, now the default, as their informatiopn on the
Jan 27, 2004 log has been very useful in execution problem resolution.
Jan 31, 2004 -ASCII: AUTOEXEC STIMER FULLSTIMER
-EBCDIC: CONFIGV9 STIMER FULLSTIMER DLEXCPCOUNT MEMRPT
FULLSTATS
Under Windows, SAS V9.1 FULLSTIMER increased run time
by only 14 seconds in a 5 minute execution.
-New options DTRESET added to both AUTOEXEC and CONFIGV9,
to print the current date/time on the SAS log and SAS
listings (rather than the constant step initiate time on
every page!).
-See also Newsletter FOURTY-FOUR, which contains benchmark
comparisons of SAS V9.1, along with other notes
concerning using 9.1.
-The DLEXCPCOUNT option causes these messages to be on the
joblog:
12.56.18 JOB00052 +SAS processed 122 blocks and
and performed 64 EXCPs on library MXG.MONTHRPT.VOLS
====== Changes thru 21.289 were in MXG 21.08 dated Jan 25, 2004=========
Change 21.289 Execution tests with SAS Version 9.1 caused NOTE 49-169
VMAC6156 "NOTE 49-169: The meaning of an identifier after a
IMACICBB quoted string may change in a future SAS release.
VMACX37 Inserting white space between a quoted string and the
VMACEREP succeeding identifier is recommended."
ANALDB2R V9.1 fixed the 9.0 spurious 49 problem, so 9.1 notes were
ANALRMFR used to find the 7 members and 14 lines of MXG code that
ANAL94 needed a blank to be inserted to support for this future
Jan 25, 2004 SAS version now, and make these notes go away.
Because you may have similar now-non-recommended-syntax,
these are the statements that were flagged and revised.
Member Statement Text
VMAC6156 PUT '***'JOB
IMACICBB LABEL 'ID*(='23'x)'
VMACX37 IF EQ 'X37 3'OR PRODREL
VMACEREP LABEL '...('YY'X)'
ANALDB2R PUT ...text='QW0020PC' text'
PUT ...text='QW0020AN' text'
PUT ...text='QW0023PD' text'
PUT ...text='QW0024PD' text'
PUT ...text='QW0025PD' text'
ANALRMFR PUT "*"LPARNAME"*"
PUT PERIOD='PERIOD
ANAL94 PUT 'S94TVCS'GB' 3 times
Change 21.288 -Support for Type 42 Subtype 10, Volume Selection Failure'
EXTY42VS because of insufficient space when allocating a dataset
IMAC42 creates new TYPE42VS dataset.
VMAC42 -Type 42 subtype 3 TYPE42AU SMS AUDIT with SMF42EAC='VARY'
VMXGINIT needed +22 instead of +21 after SMF42ENM, causing vars
Jan 25, 2004 SMF42EVL/ESY/EST to be incorrect by one byte.
Thanks to Chris Edwards, Defence Computing Bureau, AUSTRALIA.
Change 21.287 Calculation NRCPUS=SMF70ONT/DURATM had value 2.00000040
VMAC7072 when IRD was not in use, and that fractional value had
Jan 25, 2004 impact on PCTRDYWT and CPUUPTM calculations. Calculation
now uses NRCPUS=ROUND(SMF70ONT/DURATM,.001);
to keep three decimal accuracy after that calculation.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.286 Enhancement to support many NDM/Connect Direct subtypes
EXNDMCS that were previously skipped, with/without log messages.
EXNDMEI All known NDMRTYPEs are now recognized and will be output
EXNDMEV in their corresponding NDMxx dataset; those for which I
EXNDMFA could find DSECTS have additional variables INPUT, and
EXNDMIP those for which I had test records have been validated.
EXNDMJX The ACCOUNT/DATASET name offsets are decoded, but the
EXNDMLS offset not yet exploited, since no one has actually asked
EXNDMMF for any of this new data; users just observed the log
EXNDMPE messages that these new types existed in their SMF data.
EXNDMPX Fully Decoded:
EXNDMQE Dataset NDMRTYPEs Output
EXNDMQT NDMPS - PS or SW
EXNDMRE NDMPX - PX
EXNDMRO NDMQE - QE QH QT QW
EXNDMS2 NDMSY - SY: NO DSECT, ADDL DATA EXISTS.
EXNDMSC NDMAE - AE DU,IU,SU,UM
EXNDMSD NDMSD - SD
EXNDMSH NDMCI - CI CE TI JI
EXNDMSP NDMDT - DT SP FT IB SS SN IS IA ID IP IF IX VP
EXNDMSY Header Only Decoded:
EXNDMTR CS FA GO IF JX LS MF NL PE PI RE RO S2 SB
EXNDMUM SC SH SY TP TR WS XO
EXNDMWS The Header Only subtypes are output, but only with header
EXNDMXO variables; MXG prints a message and hex dump of the first
IMACNDM of each new subtype, up to 10 new subtypes. If you have
VMACNDM the DSECT documentation of those Header Only subtypes,
Jan 25, 2004 please send them so I can fully decode those subtypes.
If you want to suppress those MXG messages from NDM, use:
//SYSIN DD *
%LET MACFILE= %QUOTE( RETAIN NDMNEWST 99; );
%INCLUDE SOURCLIB(TYPSNDM.... );
(or you can put that RETAIN NDMNEWST 99; in IMACFILE).
Change 21.285 New NTSMF Objects supported:
EXNTWBSC dddddd Dataset Object
EXNTWSRR NTWBSC WEBSRVCA NT WEB SERVICE CACHE
EXNTWSRC NTWSRR WSRMPRMC NT WSRM PROCESS MATCHING CRITERIA
EXNTWSRY NTWSRC WSRMPROC NT WSRM PROCESS
VMACNTSM NTWSRY WSRMPLCY NT WSRM POLICY
Jan 22, 2004 -New NRDATA=40 in Active Server Pages supported
Feb 18, 2004 -Variables CIINNAME in dataset CITRIXIN and SQBPNAME in
dataset SQLBUFPT were changed from numeric to character,
as they are Instance Name, and their original numeric
definition was wrong. If you build Week-to-Date, or
combine NTSM datasets built before and after this change,
you will get VARIABLE SQBPNAME HAS BEEN DEFINED BOTH AS
CHARACTER AND NUMERIC (or VARIABLE CIINNAME ....).
You must drop the old variable before combining the old
and new datasets.
Thanks to Terry Heim, ECOLAB, USA.
Change 21.284 TYPE99 variables S99TLPI and S99TSPI were 100 times too
VMAC99 large; they should have been input &PIB.4.2 instead of
Jan 22, 2004 &PIB.4.
Thanks to Adam Warkow, Cicigroup, USA.
Change 21.283 TYPE119 Variables UCRPORT/UCLPORT and CTLPORT/CTRPORT are
VMAC119 now kept as Port Number in numeric variables, instead of
Jan 22, 2004 the variables with suffix C (from which they are created,
but which should not have been kept).
Variables UCLLIP and NILLIP's translate statement typos
that had RIP instead of LIP were corrected.
Some labels were also revised.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Change 21.282 Change 21.277 created VMXGSUME to tolerate non-present
ASUMDBSB variables, but it ABENDed with several sample ASUM/TRND
ASUMHSM members that ran just fine with its predecessor design.
MNTHDB2S
MNTHDBDS In each case, the VMXGSUM arguments coded in the example
TRNDDB2S were actually in error, and the output dataset created by
VMXGSUME the old version were never correct nor as expected. but
Jan 22, 2004 the old VMXGSUM did not fail.
-ASUMDSDB had DATETIME=QWACBSC, but variable QBACBSC was
not in the SUMBY= argument list. This caused 22-322 and
180-322 errors underscoring DATETIME=&DATETIME with the
new code as only clue as to the real error.
ASUMDSDB was corrected with QWACBSC in place of QWHSSTCK
in the SUMBY.
-ASUMHSM did not create SHIFT in the INCODE for HSMINTRV,
but SHIFT was in the SUMBY, and BY SHIFT was used in the
step after than %VMXGSUM execution. The old design would
create the non-present SHIFT variable, but the design of
the revised VMXGSUM built its SUMBY without SHIFT, so the
VMXGSUM executed correctly, but then the following step
failed when it found no SHIFT variable.
ASUMHSM was corrected to create SHIFT in the INCODE, as
it did in the other steps of that example, with IMACSHFT.
-MNTHDB2S had the token "DATETIME" in the SUMBY list, and
not the correct variable name. Replaced DATETIME in the
SUMBY list with the STRTTIME variable (i.e, the variable
that was in the DATETIME= argument). However, MNTHDB2s
also had two datasteps in the INCODE=, which required a
change to VMXGSUM to support. Finally, however, because
"DATETIME" as a token in the SUMBY= list was the original
recommended syntax for %VMXGSUM, and probably is around
in lots of existing jobs, the enhanced VMXGSUM was again
enhanced, and with this revision:
If "DATETIME" string is in the SUMBY= list, and
it is NOT ALSO the DATETIME= variable name, and
the length of the DATETIME= variable name is not 0,
then the SUMBY uses the DATETIME= variable name
instead of the name DATETIME.
But because the use of "DATETIME" token in the SUMBY
is archaic, and so you know what we've done, there is
a log message that we found this archaic usage.
-MNTHDB2S - Variable QWHSSTCK not found.
-TRNDDB2S - Restructured.
Change 21.281 Support for DB2 Version 8.1, COMPATIBLE. MXG 20.20 or
VMACDB2 later will read V8 SMF 100 and 101 records without errors
Jan 21, 2004 ("MXG 20.20+ TOLERATES DB2 V8"); this change adds support
for the new fields added at the end of existing segments.
New variables in DB2ACCT:
QXCRESEQ='CREATE*SEQUENCES'
QXALTSEQ='ALTER*SEQUENCES'
QXDROSEQ='DROP*SEQUENCES'
QXPRRESI='PREPARES*RESTRICTED*PENDING*INDEX'
QXALTVW ='ALTER*VIEWS'
QLACOFF1='OFFSET TO*REST OF*TRUNCATED*QLACLOCN'
QBGAP1 ='P-LOCK*LOCK REQS FOR*SPACE MAP*PAGES'
QBGAP2 ='P-LOCK*LOCK REQS FOR*DATA*PAGES'
QBGAP3 ='P-LOCK*LOCK REQS FOR*INDEX LEAF*PAGES'
QBGAU1 ='P-LOCK*LOCK REQUESTS'
QBGAS1 ='P-LOCK*LOCK SUSPND FOR*SPACE MAP*PAGES'
QBGAS2 ='P-LOCK*LOCK SUSPND FOR*DATA*PAGES'
QBGAS3 ='P-LOCK*LOCK SUSPND FOR*INDEX LEAF*PAGES'
QBGAWS ='WRITE AND*REGISTER*WAR*REQUESTS'
New variables in DB2STATS:
QBSTLPL ='TIMES WHEN*PAGES ADDED*TO LPL'
QTGSFLMG='FALSE*CONTENTIONS*ENCOUNTERED'
Q3STHWIB='IDBACK*THREAD*HIGHWATER*MARK'
Q3STHWIF='IDFORE*THREAD*HIGHWATER*MARK'
Q3STHWCT='CTHREAD*THREAD*HIGHWATER*MARK'
-Apr 18, 2005: Version 8.1 is "almost" COMPATIBLE; some of
the data fields can be in "UNICODE UTF-8" format; an MXG
ERROR message will be printed if one is encountered, and
MXG 23.03, Change 23.082, supports QWHSLOCN in UNICODE.
-This change also inserted QBGAGG=TBGAGG to correct the
value in QBGAGG.
Thanks to Steve Cunningham, DST Systems, Inc, USA.
Change 21.280 -Variable LGMGEN was input as $EBCDIC8., but that field is
VMACPDSM actually a one byte number with range 1-99. New variable
Jan 20, 2004 LGMGENNR as numeric is now created, and LGMGEN is not.
Jan 23, 2004 -The logic for 'FF'x values and reset to blank values were
removed; that reset is needed for EBCDIC text fields, but
these fields are all $HEX formatted, so changing 'FF'x to
'40'x or '20'x is undesired.
-The FORMAT LGPSRRC LGJRC $HEX1. was changed to $HEX2., as
should be all MXG one-byte character variables containing
hex data; it makes no sense to display just the first hex
nybble. I assumed it was a typo, but a search of all of
MXG found $HEX1 in VMACXXXX, of all places, in VMACIMS,
and in XLOGREC members, which were changed to $HEX2.
However, HEX1. without the dollar-sign is validly used as
an INFORMAT for numeric variables, and was not changed.
Thanks to Peter Lines, RBS, UK.
Change 21.279 Using PROC COPY + SELECT dataset(s) to copy from a tape
DOC data library should specify MEMTYPE=DATA to minimize the
Jan 19, 2004 run time and the I/O resources. PROC COPY with a SELECT
statement without MT=DATA reads the entire tape dataset
(which could be multi-volume!!), and does not stop when
the last dataset in the SELECT list has been found.
Because PROC COPY can copy more than just datasets, it
continues to read for other entries (Graphs, Catalogs)
with the same name. By adding MT=DATA (or MEMTYPE=DATA),
SAS will stop reading the input when the last dataset has
been read, reducing CPU and elapsed time and I/O.
All PROC COPY statements in MXG that copy datasets now
have MEMTYPE=DATA or MT=DATA specified.
Change 21.278 -NTSMF Active Server Pages object has NRDATA=36, was 34,
ADOCNTSM but both new metrics are named "ASP.NET.V1.1.4322", and
EXNTIP4D added at the end of the record. Temp protection reads 34.
EXNTIP4I -Web Service object has NRDATA=86, was 81, with five new
IMACNTSM fields with "COUNTER NAME MISSING" inserted in 4 places.
VMACNTSM Temporary protection added second INPUT for know 81 vars.
VMXGINIT -Four new Objects are supported:
Jan 18, 2004 DDDDDD DATASET Object
NTASPN ASPNET ASP.NET Apps v1.1.4322
NTASPA ASPNETAP ASP.NET v1.1.4322
NTIP4D IPV4SDRV IPSEC v4 Driver
NTIP4I IPV4SIKE IPSEC v4 IKE
-Some recently added new variables, most from new objects,
were not listed in the (required) INFORMAT 16.2 list,
which would cause values to be 100 times too high.
PROC CONTENTS was used to identify those variables with
no informat and the list was updated (although there are
some counters, notably in the headers, that are integers
and correctly do not belong in the INFORMAT 16.2 list.
-Internal notes and instructions describing how to update
the MXG VMACNTSM code to add support for new object and
new variables were revised, and skeleton code examples
added to make my next revision more procedural.
Change 21.277 -VMXGSUME is an enhanced VMXGSUM, designed to tolerate
VMXGSUME dropped variables from a dataset that are expected by an
Jan 17, 2004 invocation of VMXGSUM, if a variable was in the SUMBY=
list, the VMXGSUM execution failed, or if the variable
was in one of the other lists, that variable with missing
value was created in the output dataset. This change
reads one observation of the input dataset and invokes
in INCODE argument to get the full list of all variables
that exist, and compares that with the variables in all
of the VMXGSUM arguments, and rebuilds the SUMBY=, etc.,
to use only the existing variables.
Specific example: Many sites drop OPERATOR from their
CICSTRAN dataset, but ASUMCICS has that variable in its
SUMBY= list, so previously you had to EDIT an ASUMCICS
to remove the references to OPERATOR. Now, that is
done automatically.
-Performance issues if the input dataset is on tape.
There will be multiple tape mounts on the job log; two if
KEEPALL=YES, and three if KEEPALL=NO, as we must open the
input dataset to determine variables that exist.
If this is a single-SAS-data-set tape library, the extra
mounts should not cause any delay, as only repositioning
is needed on real tape, especially if the tape is a VTS.
However, if the input tape data library contains multiple
SAS datasets, on multiple tape volumes, we must at least
open and read the data library sequentially twice to read
one observation, and then a final time to actually read
the full input dataset, and that could cause an increase
in the elapsed time.
You might consider PROC COPY; SELECT xxxxxxx; from tape
to disk before executing VMXGSUM, but initial test show
that is may not be any better, the copy must write the
full dataset with all variables, but VMXGSUM brings in
only the variables it will need, and write is much more
expensive than read.
Adding a PROC COPY step may increase, or may decrease
the execution time.
Note: This is a big performance hit, just discovered:
Always use MEMTYPE=DATA on PROC COPY with SELECT
statement from tape data libraries.
With MEMTYPE=DATA, SAS stops reading the input tape
library when it finds the last SELECTed dataset.
Without MEMTYPE=DATA, the PROC COPY doesn't know
you only want data entries, so it continues to read
the entire tape data library, because there could
be a different entry (Graphs,Catalogs,etc) with the
same name!
Because the enhanced VMXGSUM can cause errors in working
code, it is not used by default anywhere in MXG. But you
can use the enhanced macro defined in the VMXGSUME member
simply by using %INCLUDE SOURCLIB(VMXGSUME); as the first
statement in your //SYSIN stream, as that will compile
the Enhanced-but-named-the-same %VMXGSUM macro that will
be used by SAS for that job.
Change 21.276 Typos caused UNINITIALIZED VARIABLE message for WATSBACT
ANAL116 (s/b WTASBATC) and WTASPSEO (s/by WTASPSE-zero).
Jan 17, 2004
Change 21.275 Reading Active (undumped) VSAM SMF files caused TYPE70PR
VMAC7072 dataset variable SMF70CIN to be blank, which then caused
Jan 16, 2004 variables LPARCPUS, PARTNCPU, and NRIFCPU to be wrong.
The +OFFSMF (needed to read VSAM SMF transparently) was
not added to the OFFCPUID calculation.
Thanks to Melanie Hitchings, BT, ENGLAND.
Change 21.274 Protection for truncated SMF 110 record (LENGTH=76) was
VMAC110 added, testing the APS/ASS triplets before INPUTing the
Jan 15, 2004 rest of the record. Record was truncated because ACS
Jan 21, 2004 rules for Eagle tape drives forced LRECL=80, and the
ACS rule overrode the Model DSCB in the DD statement.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.273 Variable NTLIP, Local IP Address, was incorrect, typo.
VMAC119 The NTLIP=COMPRESS(NTRIP); should have been (NTLIP).
Jan 14, 2004
Thanks to Raff Rushton, Kaiser Permanente, USA.
Change 21.272 Typos corrected; MVSWAIT3=CPUWAITE is MVSWAITE=CPUWAITE
VMAC7072 and MVSWAITW=MVSWAITX is MVSWAITX=MVSWAITX twice.
Jan 12, 2004
Thanks to Hugh Lapham, RCMP, CANADA.
Change 21.271 -Enhancement decodes INSYSAF bit map to create variables
IMACTPMX JBAFF1-JBAFF32 for the System Affinities of each JOB, but
VMACTPMX you must EDIT the IMACTPMX member, which now defines two
Jan 11, 2004 formats ($MXTPMPX and $MXTPMBT) that map your SYSTEM IDs
Jan 12, 2004 to your SYSPLEXes, and that maps the bits in INSYSAF for
Jan 13, 2004 each SYSPLEX to the AFFINITY SYSTEM's name. If you do
Jan 20, 2004 not update your IMACTPMX, the values in JBAFFn variables
Jan 22, 2004 will be wrong, or more likely, always blank.
-The INPUT(INSYSAFF,$EBCDIC)/TRANSLATE statements for the
INSYSAFF were deleted: i.e., it was "un-EBCDIC'd". That
pair of functions are used only for variables containing
EBCDIC text characters. INSYSAFF contains hex bit string
data as characters, and is formatted $HEX8.
-Variables NRACCTFL and ACCOUNT1-ACCOUNT9 are now created
from the ACCT field, decoding with your IMACACCT member
that determines how many fields are actually kept. As
old variable ACCT contains both binary numbers and EBCDIC
text, it is "un-EBCDIC'd", and is formatted $HEX32.
-CURREC5, current time of day, was incorrect; it is now
input as hhmmssth in four PK1. fields, and converted to
a SAS time value and formatted TIME12.2. I created new
variable CURRENT from CURRECn, but then found it was
exactly equal to SMFTIME, so I chose to not keep CURRENT.
-Variable JALSYJ is not labeled; it appears to be the
same as SYSTEM.
-Variable RD is not labeled; it has value 'NC' in five obs
and is blank in the other five thousand observations.
-Variable RDRDATE is formatted DATE9.
-In testing, you cannot set OBS= to less than 634, because
there are 634 input records for the CNTLLIN for the token
table look up. You get TOKEN NOT FOUND with OBS=100.
-Variables JTSDATE and JTSTIME were missing because their
informats were incorrect; now they are populated.
-Variable CA7DD was incorrectly input.
-Variable CA7DT was created as a character variable, but
that field is a time duration, so variable CA7DTM is now
created as numeric and formatted. I cannot change CA7DT
from char to numeric without causing someone's perfectly
running weekly or monthly job that combines TPMX data to
ABEND due to a variable conflict, and since CA7DT was not
ever correct, it can safely be replaced by CA7DTM.
-Variables CA7JCL, CA7SCHID formatted Z3. to print 001.
-Variable CPU FORMATed TIME12.2.
-Variable CURPRIO now INPUTs only first for bits.
-Variables DISPLD1 formatted DATE9, DISPLD2 corrected.
-Variable INPRIO input BITS4.0.
-Variable INRMT is input $EBCDIC8, but the field changed
to numeric in 5.2.1; new numeric INRMTNR variable is now
created and input PIB.2., but INRMT is still created.
-Variable INSEI input $EBCDIC8 instead of 4.
-Variable JXCPUCA should have been name of JCXPUCA; both
variables now exist, but use only JXCPUCA.
-New variables JES3M26,JESM27,JES3M28 and JES3M29 were
replaced with JLSENQ, JLSENQN, JLSLIMTT and JLSLIMTN,
as they had nothing to do with JES3.
-User character variables TPMUC1-TPMUC99 and user numeric
variables TPMUN1-TPMUN99 are now supported, but none are
kept by default; you remove comments in the EXTYTPMX to
choose which user variables you want kept, and you code
LENGTH and FORMAT statements for character variables to
control their stored lengths and protect any $HEX data.
You also blank out the variable's name from the DROP code
in that member. The example also shows how you can
create variables from any binary fields in your character
fields, and how to use MACRO _KTYTPMX to also keep them.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Kelly Vogt, Humana, USA.
Change 21.270 Short CMRDETL record caused INPUT STATEMENT EXCEEDED
VMACMVCI and STOPOVER condition; test now validates the record
Jan 8, 2004 is at least 277 bytes, prints error messages and dump of
first two short records, but no longer ABENDs.
Thanks to Mike Kevlin, CSC, AUSTRALIA.
Change 21.269 -Support for many new TNG objects from AIX, NT,and SOLARIS
EXTAI013 dddddd dataset description
thru TAI013 AI013 CA CPU GROUP
EXTAI024 TAI014 AI014 CA DISK GROUP
EXTSO016 TAI015 AI015 CA FILE SYSTEM
thru TAI016 AI016 CA INTERFACE GROUP
EXTSO026 TAI017 AI017 CA KERNEL CONFIG GROUP
FORMATS TAI018 AI018 CA KERNEL GROUP
IMACTNG TAI019 AI019 CA MEMORY GROUP
VMACTNG TAI020 AI020 CA NETWORK GROUP
VMXGINIT TAI021 AI021 CA PER CPU GROUP
Jan 6, 2004 TAI022 AI022 CA SWAP GROUP
Jan 7, 2004 TAI023 AI023 PRINTER QUEUE
Jan 14, 2004 TAI024 AI024 USERS
TSO016 SO016 CA CPU GROUP
TSO017 SO017 CA DISK GROUP
TSO018 SO018 CA FILE SYSTEM
TSO019 SO019 CA INTERFACE GROUP
TSO020 SO020 CA KERNEL CONFIG GROUP
TSO021 SO021 CA KERNEL GROUP
TSO022 SO022 CA MEMORY GROUP
TSO023 SO023 CA NETWORK GROUP
TSO024 SO024 CA PER CPU GROUP
TSO025 SO025 CA SWAP GROUP
TSO026 SO026 USERS
TNT051 NT051 NTMSSQL$IN01:ACCESS ME
TNT052 NT052 NTMSSQL$IN01:BUFFER MA
TNT053 NT053 NTMSSQL$IN01:BUFFER PA
TNT054 NT054 NTMSSQL$IN01:CACHE MAN
TNT055 NT055 NTMSSQL$IN01:DATABASES
TNT056 NT056 NTMSSQL$IN01:GENERAL S
TNT057 NT057 NTMSSQL$IN01:LATCHES
TNT058 NT058 NTMSSQL$IN01:LOCKS
TNT059 NT059 NTMSSQL$IN01:MEMORY MA
TNT060 NT060 NTMSSQL$IN01:SQL STATI
TNT061 NT061 NTMSSQL$IN01:USER SETT
TNT062 NT062 NTMSSQL$IN01:BACKUP DE
NOTE: DATASETS NT051-NT062 CONTAIN DATA
FOR ALL SERVER='IN01' thru 'IN07'
Twelve MSSQL Server Objects are created for each unique
Server Name ("IN01"-"IN07"), so with 7 servers there are
84 unique objects, but only twelve datasets are needed.
Datasets NT051-NT062 contain data for all servers, with
variable SERVER="IN0n" identifying the server.
Capturing the server name from object name, and mapping
84 objects to 12 datasets required new algorithms, and
this implementation is specific to those server names.
Arrays nt063-nt134 are used for "IN02"-"IN06".
-The array sizes directly impact the REGION size needed.
Now, you can change array sizes directly with %LETs in
SYSIN, before the %INCLUDE SOURCLIB(TYPSTNG); statement.
One very large NT site, had to set:
//SYSIN DD *
%LET NT005I=21;
%LET NT007I=999;
%LET NT013I=75;
%LET NT014I=625;
%LET NT017I=625;
%LET NT035I=2000;
%INCLUDE SOURCLIB(TYPSTNG);
This works now, because all of the TNG macro variables
(MAXROWS,AInnnI,AInnnV,NTnnnI,NTnnnV,SOnnnI,SOnnnV,etc)
definition %LETs were moved to VMXGINIT and GLOBALed.
You cannot use %LET MACTNG= to redefine the array
size macro variables; you can't %LET a %LET. You can
define a MACRO _MYSIZE %%LET NT035I=2000; % and use
%LET MACTNG= _MYSIZE ; %INCLUDE SOURLIB(TYPSTNG); ,
but you cannot define MACRO _MYSIZE in your SYSIN
stream - that causes a recursion error.
-By default TYPETNG reads all cube types, and MXG default
array sizes (set so that I can read all test data sent
thus far) requires a REGION=225M. Region is NOT a real
resource, but some sites artificially constrain REGION
size. You can save some virtual storage by reading only
one cube type at a time, and also using MACTNG to specify
the _AIONLY, _SOONLY, or _NTONLY macro, to set unwanted
array sizes to a value of one.
//SYSIN DD *
%LET MACTNG= _NTONLY ;
%INCLUDE SOURCLIB(TYPSTNG);
With _NTONLY REGION=120M
With _SOONLY REGION= 66M
With _AIONLY REGION= 30M
-SAS V8.2 and MXG 21.07 defaults required REGION=100M on
z/OS 1.4; the same program used 86M Total Memory when run
with SAS V9.0 under Windows 2000.
-If there are any observations in the UNKNOWN dataset, it
means there were new objects and/or new metrics that are
not yet supported, and when there are obs in UNKNOWN, it
is possible that MXG will not output any observations
(when the last object in a group is unknown, the output
of the entire cube never occurs).
Adding support for all new objects and metrics causes the
observations to be output.
-An ARRAY EXCEEDED error messaged, because AI007V should
have been 7 instead of 2.
-Some of the new "CA.." objects have identical metrics in
both Solaris and AIX cubes, but other datasets, notably,
the SO016, 020, 021, 022, and SO023 have a different set
of variables than their AIX counterparts; always use the
variable's LABEL, and not the NAME, to match AIX data to
Solaris data in those dataset.
-Major enhancements in error detection and reporting of
array size issues were added; the number of instances
and the number of variables in your data are compared
to the array limits, and messages print which object's
value in which array is too small, and by how much.
Thanks to Ralton R. Van Heerden, CSC South Africa, SOUTH AFRICA.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 21.268 The PDB.ASUMCACH variable IORATE was wrong, because both
ASUMCACH TYPE74 and TYPE74CA datasets have a variable IORATE, and
VMAC74 both values were being summed. But in investigating the
Jan 6, 2004 error, I found that the TYPE74 IORATE variable is often
a very different value than IORATE in TYPE74CA:
In TYPE74, the SIO74CNT variable is directly used:
IORATE=SIO74CNT/DURATM; in TYPE74 dataset.
But in TYPE74CA, as there is no SIO count variable, the
I/O request counts RDREQS+WRREQS+ICLR+BPCR are added
to get the total I/O request count, SIO74CA:
IORATE=SIO74CA/DURATM; in TYPE74CA dataset.
Both SIO74CNT and SIO74CA variables are in PDB.ASUMCACH,
so you can see the differences in your own data. One test
had TYPE74 with 4,635,246, while TYPE74CA had 18,425,069.
-In VMAC74, variable SIO74CA is created in TYPE74CA data
set, for direct comparison with TYPE74 data.
-In ASUMCACH, the IORATE variable is now calculated in the
OUTCODE= argument, using IORATE=SIO74CNT/DURATM, since
the TYPE74 IORATE existed long before cache controllers,
but also, new variable IORATECA=SIO74CA/DURATM is created
so that you can compare the two I/O rates directly.
-The local variables IORATEA-IORATEZ were also removed.
Thanks to Kasandra Natzke, Infores, USA.
Change 21.267 -Syntax of the redefinition of old-style "dataset" MACRO
ASUMUOWT names _LDB2ACC _LMONTSK, _LCICTRN and _INMQ had hardcoded
VMXGUOW DDnames of DB2ACCT, MONITASK, CICSTRAN, and PDB, but now
VMXGUOWT have &PDB2ACC, &PMONTSK, &PCICTRN, and &PTY116 (&Pdddddd)
Jan 7, 2004 macro variable names for the LIBNAME/DDNAME, so they can
be easily overridden, and to be consistent.
-ERROR: OLD-STYLE MACRO NAME MUST CONTAIN ... in ASUMUOWT
was corrected by redefining each old-style macro name to
itself immediately before the %LET MACKEEP= statement.
(see Change 21.244).
-PSUUOW macro variable is no longer re-set in ASUMUOWT.
Thanks to Chris Weston, ITRM Development, USA.
Change 21.266 Calculation of CPCMSU in PDB.RMFINTRV and PDB.ASUM70PR
VMXGRMFI and PDB.ASUMCEC is now rounded to an integer, to more
VMXG70PR closely match the IBM values.
Jan 5, 2004 CPCMSU - Announced MSU alue, calculated from SMF70CPA.
CPCFNAME - MXG-created "standard" long name for the box.
SU_SEC - SRM "constant" value in SMF 72 record, changes
when the LPAR configuration is changed, cannot
be used to exactly calculate CPCMSU.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.265 Variable SMF70LAC (IBM's 4-hr-avg-MSU) was incorrectly
VMAC7072 output in every observation in PDB.TYPE70PR, which made
Jan 5, 2004 the LPnLAC values identical for all LPARs. This change
recognizes SMF70LAC is a "this-partition-only" value and
it is now non-missing only in PDB.TYPE70PR dataset from
the 'this-partition' records, which will correct values
of LPnLAC in PDB.ASUM70PR and PDB.ASUMCEC. However, MXG
must read the raw SMF type 70 records from each LPAR
for the LPnLAC values to be completely non-missing.
Thanks to Richard S. Ralston, Humana, USA.
Change 21.264 New utility %VGETSORT macro reads the contents of a SAS
VGETSORT data library, and, for each dataset in that library, will
Jan 5, 2004 build a macro variable that contains the member name and
the SORTEDBY variables,or UNSORTED if there is no SORTBY.
This will be used to dynamically build a WEEKBLD/MONTHBLD
process that will preserve the default sort order.
Change 21.263 Support for UniCenter NetMaster Automation Services SMF
EXNETM22 record with Event View, Resource View, and Server View
EXNETM30 Statistics creates two new datasets:
IMACNETM DDDDDD Dataset Description
TYPENETM NETM22 NETM2200 Subtype 2000, 2200 Event View
TYPSNETM NETM30 NETM3000 Subtype 3000, Resource/Service View
VMACNETM Some problems exist with datetimestamps that are under
VMXGINIT investigation, and no 2200/2000 data has been tested.
Jan 4, 2004
Thanks to Andy Creet, Defence Computing Bureau, AUSTRALIA.
Change 21.262 WebSphere MQ Version 5.3 new variables SM115REL/SM116REL
VMAC115 with Version and Release ("531") is now kept in all MQ
VMAC116 datasets. However, as there are no other changes in 5.3
Jan 3, 2004 DSECTS, except for these two new Release variables, MXG
Jan 23, 2004 21.05 or later supports MQ Version 5.3 SMF 115/116s.
-Label for QPSTDMC is now SYNC, it was incorrectly ASYNC,
a very important difference in this case, since Sync page
writes can significantly delay transactions.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 21.261 Dataset TYPE74CF could have multiple observations, when
VMAC74 more than one SMF 74 subtype 4 record was written (due to
Jan 2, 2004 a large number of structures). The MXG logic test to
output TYPE74CF included variable SMF744SN, which has
been removed, and only if the XN, GN, and PN segments are
present in this SMF 74 record will TYPE74CF be output.
Thanks to Art Cuneo, Health Care Service Corporation, USA.
Change 21.260 Macro compilation ERROR: A CHARACTER OPERAND .... is
UTILBLDP corrected; this error was introduced in Change 21.231.
Jan 2, 2004
Thanks to Scott Barry, SBBWOrks, Inc, USA.
Change 21.259 Using VMXGTIME to shift timezones caused MXG's calculated
VMACSMF GMTOFFDB GMT offset to be wrong, and so QWACBSC/QWACESC
VMACDB2H were also wrong. DB2 has no GMT offset value in the SMF
VMAC110 records, but all timestamps are on the TODCLOCK, so MXG
VMACOMCI compared SMFTIME with TODSTAMP values to create the GMT
Jan 2, 2004 offset, and then shift the DB2 timestamps to local zone.
But when VMXGTIME is enabled, the SMFTIME was shifted in
VMACSMF, before the GMT offset calculation in VMACDB2H,
causing this error. Variable UNMODSMF is now created and
it contains the un-modified SMFTIME value, and UNMODSMF
is used in VMXGDB2H to calculate the GMT Offset for DB2.
-SMFTIME was also used in the calculation of UOWTIME, to
find the FRSTBASE (epoch) of the 205-day-wrapping-clock.
While that exposure is extremely small, UNMODSMF is
also now used in that calculation.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.258 Label for variable ESFRLSAV in TYPE71 dataset revised to
VMAC71 ESTORE vice CSTORE, and ESFRLSAV=. is now set instead of
Dec 17, 2003 CSFRLSAV when ESFRLSAV is LT 0 (line 1412).
Thanks to Jennifer C. Chu, State Street Corporation, USA.
Change 21.257 Output statement for ZRBSVPP dataset was relocated to
VMACRMFV after the segment has been input, causing variables to be
Dec 17, 2003 populated.
Change 21.256 Variable CECSER now kept in PDB.TYPE70LP dataset.
VMXG70PR
Dec 17, 2003
Thanks to Hugh Lapham, RCMP, CANADA.
Change 21.255 New BLDSMPDB builds an executable "BUILDPDB jobstream"
BLDSMPDB that executes under either ASCII or EBCDIC SAS, reads an
Dec 16, 2003 SMF file to create the MXG recommended, enhanced, Daily
"SMF" PDB library, optionally copies that daily PDB to
the appropriate one-of-seven day-of-week PDBs, optionally
updates the current Week-To-Date PDB library, optionally
creates the Weekly PDB library from the seven dailies on
the first day of your week, optionally creates the
Monthly PDB on the 1st day of the month, and optionally
updates your TREND PDBs. First draft, to be revised.
This program effectively implements the suggestions in
the (still out of date documentation) ACHAP35 member.
Thanks to Joe Key, BOC, ENGLAND.
Change 21.254 Revised.
TRNDDB2A
Dec 16, 2003
Change 21.253 New GLOBAL macro variables TRENDOLD, TRENDNEW, TRENDINP
VMXGINIT default to TREND, TREND, and WEEK respectively, and will
Dec 16, 2003 be used in place of those hard-coded DDNAME/LIBNAMEs in
the MXG Trend Members.
Change 21.252 Two ways to see RMF control blocks, happy values, SU_SEC:
RMFMON one uses the LIST subcommand of the TSO TEST command,
Dec 16, 2003 a better one uses the SAS PEEK() function specifically to
display the SU_SEC value in your z/OS system.
Change 21.251 SAS has a new SMFEXIT that adds SAS Version/Release, User
VMACSASU and JOBID to the SAS User SMF record; those fields are
Dec 16, 2003 now input as variables SASVEREL, SASUSER, and SASJOBID.
The revised SMFEXITs are available from SAS Institute at:
http://ftp.sas.com/techsup/download/mvs/SMFEXIT.ASMSRC
Thanks to David Heiniluoma, Commonwealth of Massachussets, USA.
Thanks to Rich Anderson, SAS Institute, USA.
Change 21.250 -New ANALJOBN reads all job-related SMF records to count
ANALALL how many records of which type and subtype were written
ANALJOBN by each JOB, so you can track down which runaway JOB
VMXGPRAL filled your SMF file.
Dec 12, 2003 -Existing ANALALL member (prints all variables and all
Dec 15, 2003 observations for all job-related datasets created by
selected jobnames) was revised so only datasets with
JOB name are created.
-The VMXGPRAL utility (invokes PROCs PRINT or PROC MEANS
against all datasets in a SAS data library:
%VMXGPRAL(DDNAME=WORK,NOBS=50);
was enhanced with the NOFREQ= option used by ANALJOBN.
-The confusing SAS NOTE on the log when VMXGPRAL was run:
"The variable NOBS exists on an input dataset, but was
also specified on an I/OI statement option. The
variable will not be included on any output data set."
was eliminated, thanks to Charley.
Thanks to Adam Floro, Southern Illinois University, USA.
Thanks to Charley Mullin, SAS Technical Support, SAS Institute.
Change 21.249 TIC_UTIL in the NSPYTIC3 dataset was missing because the
VMACNSPY wrong time per frame variables were used in the equation.
Dec 10, 2003 Jan 17: Typo NSPYTMFS corrected to NSPVVTMFS.
Jan 17, 2004
Thanks to Steve Donahue, BCBS of Texas, USA.
Change 21.248 MWUX GLOB records with missing delimiter after the field
VMACMWUX "Process Queue Histogram" and before "Process Waiting"
Dec 5, 2003 caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Circumvention coded while the vendor is being contacted.
Thanks to Miguel Fernandez, Information Services International, USA.
====== Changes thru 21.247 were in MXG 21.07 dated Dec 2, 2003=========
Change 21.247 Support for MVS Solution's ThruPut Manager now supports
VMACTPMX all of the fields created as of their latest version,
Dec 2, 2003 TMT5210, adding 259 new variables to TYPETPMX dataset.
Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Thanks to Nancy DiFilippo, MVS Solutions Inc, CANADA.
Change 21.246 Cosmetic, sort of. Text was added to two error messages
VMXGRMFI to clarify their known causes:
Dec 1, 2003
-If your workload definitions are incorrect:
***ERROR.RMFINTRV. WORKLOAD CPU TIMES DO NOT MATCH REAL CPU.
YOU HAVE CPUTM=00:30:00 REAL CPU TIME IN SMF 72, BUT HAVE
CPU72TM=00:45:00 CPU TIME IN YOUR WORKLOAD DEFINITIONS.
AT STARTIME=30NOV2003:00:02:30.00 FOR SYSTEM=SYS1.
THIS IS A SERIOUS ERROR IN YOUR TAILORING IN IMACWORK, OR
IN RMFINTRV MEMBERS. ALL OF YOUR WORKLOAD VARIABLES
(BATXXXX, TSOXXXX, CICSXXXX AND THEIR SUMS
(CPUTCBTM,CPUSRBTM,CPUHPTTM,CPU72TM) ARE WRONG.
SEE TEXT OF CHANGE 15.138.
-If MXG detects NEGATIVE UNCAPTURED CPU TIME in 70 vs 72:
*** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
*** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
*** ERROR. NEGATIVE UNCAPTURED-CPU-TIME (TYPE70-TYPE72).
FIRST: LOOK AT THE VALUES OF CPUTM AND CPU72TM, BELOW.
IF THEY ARE NOT EQUAL, THERE WAS AN EARLIER ERROR
MESSAGE: ERROR.RMFINTRV. WORKLOAD CPU TIME...
TELLING YOU THIS ERROR IS DUE TO TAILORING OF YOUR
WORKLOAD DEFINITIONS IN IMACWORK OR RMFINTRV.
THIS MESSAGE IS PRINTED HERE FOR REINFORCEMENT.
SECOND: LOOK AT THE VALUES OF CPUACTTM AND CPUEFFTM,
BELOW, IN THIS MESSAGE. IF CPUEFFTM IS MORE
THAN CPUACCTM, THEN READ APAR II10549 ABOUT
SLOW COUPLING FACILITY AND HARDWARE PROBLEMS.
YOUR CE NEEDS TO OPEN A HARDWARE PMH TO FIX.
SEARCH MXG NEWSLTRS FOR II10549 FOR MORE INFO.
THIRD: IF NEITHER, THEN YOU HAVE BAD DATA IN YOUR 70/72
RECORDS. BMC CMF PRODUCT NEEDS CMF PTF BPM6782.
IBM RMF APARS OW28256 (1997) OR OY51878 (1992).
ONLY 2 INSTANCES OF THIS MESSAGE ARE PRINTED.
READ TEXT OF CHANGE 15.238 IN MEMBER CHANGES.
*** ERROR. THIS IS A SERIOUS ERROR**********************
CPUOVHTM=-00:00:01.40
SYSTEM=PRD2 STARTIME=30NOV2003:00:30:00
CPUACTTM=0:05.22.35 CPUEFFTM=0:05:59.77
CPUTM=0:05:23.75 CPU72TM=0:05:23.75
and you can see this error was for the Second case.
Thanks to Hugh Lapham, RCMP, CANADA.
====== Changes thru 21.245 were in MXG 21.07 dated Nov 30, 2003=========
Change 21.245 Revisions to resolve errors and inconsistencies.
ASUMUOW
ASUMUOWT
ASUMUOTT
VMXGUOW
VMXGUOWT
VMXGUOTT
Nov 30, 2003
Change 21.244 Cosmetic cleanup after first MXG 21.07 QA runs:
ANALCNCR -ANALCNCR. UNINITIALIZED VARIABLE NEXTINTV/LASTINTV
VMXGTPFI messages had no impact on the results, but have been
VMACOMDB eliminated.
ANAL16 -VMXGTPFI revised to remove unneeded sorts and messages
Nov 28, 2003 about MXGSUM2.
-VMACOMDB minor revisions to remove duplicate variables in
FORMAT statement, and $CHAR instead of $EBCDIC for $HEX.
-ANAL16 following INCLUDE of TYPE16 failed with message
ERROR: OLD-STYLE MACRO NAME MUST CONTAIN ONLY LETTERS.
because ANAL16 used %LET MACKEEP to redefine old-style
macros. Redefinition (MACRO _KTY16 _KTY16 %) inserted
ANAL16 before the %LET MACKEEP re-definition, as noted in
the DOCMXG comments related to use of %LET MACKEEP.
Change 21.243 Support for Candle Omegamon II for DB2 Historical D2540
EXDB0010 file creates 312 new datasets, based on the SAS code that
...310 more Candle provided with the product. This iteration
EXDB3370 supports DB2 V7.1; only forty-two of the datasets have
IMACOMDB been populated with observations, and only cursory
TYPEOMDB validation of formats, labels, etc., has been completed.
TYPSOMDB
VMACOMDB
Nov 24, 2003
Change 21.242 JCLTEST8 fails with VARIABLE OPERATOR NOT FOUND if your
ASUMCICS CICS guru has Excluded OPERATOR or TERMINAL from CICSTRAN
JCLTEST8 dataset, because those two variables are historically in
Nov 24, 2003 in the default SUMBY list in MACRO _BSUCICS.
- See Change 21.105: We no longer recommend ASUMCICS be
used, since it summarizes transaction segments instead
of unit-of-work transactions.
Instead, you should create PDB.ASUMUOW and then use the
ASUMCICX program to create PDB.CICS summary dataset:
%INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
(and you need to tailor IMACUOW - read its comments).
- You should always use ASUMUOW, even if you don't have
DB2 data, to combine CICS MRO segments together to get
correct TRANNAME, etc. If you do not create the
PDB.DB2ACCT dataset, you can create a zero-observation
DB2ACCT dataset to satisfy ASUMUOW, using:
OPTIONS OBS=0;
%INCLUDE SOURCLIB(TYPEDB2);
RUN;
OPTIONS OBS=MAX;RUN;
&INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
- If you still must create PDB.CICS from CICSTRAN, you
can re-define the old SUMBY list "instream":
//SYSIN DD *
%LET MACKEEP=
MACRO _BSUCICS APPLID USER STRTTIME TRANNAME
SYSTEM SHIFT %
;
%INCLUDE SOURCLIB(ASUMCICS);
to remove the OPERATOR and TERMINAL variables.
- But so you don't get blindsided during testing with my
defaults,
One site with excluded fields had never used ASUMCICS
but their "clean running" JCLTEST8 job failed.
this change added "compiler fakers' in ASUMCICS to
create one-byte OPERATOR/TERMINAL variables when they
do not exist in your CICSTRAN.
Jan 25, 2004 Update: You can now use the VMXGSUME member
created in Change 21.277, and not have to modify ASUMCICS
or ASUMUOW to deal with dropped variables.
Change 21.241 Revised support for Hewlett Packards MeasureWare for HPUX
VMACMWUX now a/k/a OVPA.
Nov 22, 2003 -DISKKBYT,KBYTRATE,PREADKBS,PWRITKBS are mult by 1024.
-GLOBAL Transaction variables no input by default
-The REPORT ALL command in ADOCMWUX is the command to use
that creates the MXG-expected data fields.
-Many TRAN fields were removed as they are not in the HP
default REPTALL, and I had no test data to validate with.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Thanks to Miguel Fernandez, Information Services International, USA.
Change 21.240 Support for new S4RSP7CT in STID=124 CICS Statistics data
VMAC110 record. Caused "FOUND WITH SKIPPED FIELDS" warning with
Nov 21, 2003 STID=124,SKIP=4,STILEN=120, but no error.
Thanks to Tim Vanderhoek, Fidelity Systems, USA.
Change 21.239 The ability to read multiple PDB libraries was lost in a
ANALDB2R prior change, but has been restored, so you can again use
Nov 20, 2003 the documented syntax PDB=MON TUE WED THU FRI SAT SUN,
to read multiple PDBs as input to ANALDB2R.
Thanks to Bill Bonfitto, MassMutual Financial Group, USA.
Change 21.238 Dataset TYPE74DU (RMF DUPLEX COUPLING FACILITY) was trash
VMAC74 because the offset SMF744RO is unlike other RMF offsets.
Nov 20, 2003 It is from the first data byte and not from the RDW, so
SMF744RO=SMF744RO-3 used to calculate the byte location
had to be deleted. And with data to look at, the two sum
of squares R744RSSS and R744RSSD are actually &PIB.8 and
not the &RB.8 that I had assumed.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 21.237 New ASUMUOTT member creates new PDB.ASUMUOTT from the
ASUMUOTT ASG-Landmark DB2 TMDBDB2 dataset and ASG-Landmark CICS
EXTMDDB2 MONITASK dataset. The output is named PDB.ASUMUOTT,
IMACUOTT even though it is logically the same as PDB.ASUMUOW,
JCLUOTT because the TMDBDB2 variable names are used instead of
VMACTMDB the DB2ACCT names.
VMXGUOTT -Member VMACTMDB was modified to create the DB2PARTY
Nov 19, 2003 variable, to identify DB2 Parallel event records (see
Nov 30, 2003 Change 14.287).
Formats MGDB2RC and MGDB2LM applied to RINV/PREC vars.
All ACE vars are now all numeric, $HEX8. &MXGBYLN.
All /4096 are now formatted TIME12.2.
-Member EXTMDDB2 was revised to use DB2PARTY to delete
events that should not be output (see Change 19.027).
-Member JCLUOTT is a standalong example to read the raw
TMON CICS and TMON DB2 files to create PDB.ASUMUOW.
-Member VMACDB2, variable QWACLRAB now formatted MGBYTES.
Nov 30:
New member ASUMUOWT and VMXGUOWT created to support the
combination of MONITASK.MONITASK and DB2ACCT.DB2ACCT.
Thanks to Hamid Tavakolian, CSC, USA.
Change 21.236 The ASMRMFV member in MXG 21.06 was an earlier iteration
ASMRMFV that did not include the enhancements in Change 21.186.
Nov 18, 2003 I copied the wrong member into the source library. The
ASMRMFV at Change 21.236 dated Nov 18, 2003 (or later)
contains that major revision to the ASM program for the
RMF III VSAM data; Change 21.228 added VMACRMFV support.
Change 21.235 Variable CPCFNAME, the CPC FULL NAME (2064216) created in
VMXG70PR PDB.RMFINTRV, is now also created in PDB.ASUM70PR and in
Nov 18, 2003 PDB.ASUM70LP datasets.
Thanks to Kenneth D. Jones, xwave, CANADA.
Change 21.234 Test for '2084'X added, but only needed if OS/390 R2.10
VMXGRMFI with SMF70WLA=. (i.e., do not have the APAR that added
Nov 18, 2003 SMF70WLA installed) is running on a z990.
Change 21.233 Support for Fujitsu Siemens openFT file transfer propgram
FORMATS user SMF record creates new OPENFT dataset for each SMF
EXOPENFT event record.
IMACOPFT
TYPEOPFT
TYPSOPFT
VMACOPFT
VMXGINIT
Nov 17, 2003
Thanks to Wolfgang Prescher, Itellium, GERMANY
Change 21.232 Replaced change.
Change 21.231 Now, USERADD=80 USERADD=90 cause the TYPE80A or TYPE90A
UTILBLDP code to be generated, and not TYPE80 nor TYPE90, which
Nov 17, 2003 were replaced by their "A" counterparts. MXG's original
logic for RACF TYPE80 and OPERATOR COMMAND TYPE90 created
one TYPE80/TYPE90 dataset with hundreds of variables; the
"A" replacements create many TYPE80nn/TYPE90nn datasets,
one for each event with only that event's variables kept.
You can see what events occurred, just by looking at the
non-zero observation counts for each dataset on the log.
Previously: "USERADD=90," created obs in TYPE90, but
"USERADD=90 90A," generated both _CDE90 and _CDE90A
segments, and that first ELSE IF ID=90 ... in _CDE90
prevented _CDE90A from being executed, so there were
never any obs in any of the TYPE90nn datasets.
Thanks to Gadi Ben-Avi, Malam Systems Ltd, ISRAEL.
====== Changes thru 21.230 were in MXG 21.06 dated Nov 12, 2003=========
Change 21.230 SAS V6 Only. OUT OF MEMORY error with MXG 21.04+ because
VMXGCICI the ORDER= argument "clean up" by Change 21.152 increased
Nov 11, 2003 the number of lines which exceeded the maximum size of a
SAS V6 macro argument. Compacting the lines reduced the
total bytes and the code now executes under V6 or V8+.
Thanks to Kelvin Wells, ScaleOn GmbH, GERMANY.
Change 21.229 -Variable CPUTM=SUM(PRODTCB,PRODSRB) added to TYPE89 data
VMAC89 set for consistency; MXG datasets with multiple CPU Time
Nov 11, 2003 measurements were intended to always have variable CPUTM
as the total, unoverlapped, billable, etc., CPU time, but
TYPE89 was overlooked.
Thanks to Jake M. Drew, MBNA, USA.
====== Changes thru 21.228 were in MXG 21.06 dated Nov 10, 2003=========
Change 21.228 Support for RMF III ASMRMFV data added by Change 21.186.
EXZRBCFI - CFI segment creates ZRBCFI dataset
EXZRBRCB - RCD segment creates multiple datasets:
EXZRBRCD ZRBRCB ZRBRCDB RMFIII RESPONSE TIME BUCKETS
EXZRBRCP ZRBRCS ZRBRCDS RMFIII SERVICE CLASS
EXZRBRCR ZRBRCR ZRBRCDR RMFIII REPORT CLASS
EXZRBRCS ZRBRCP ZRBRCDP RMFIII PERIOD
EXZRBRCT ZRBRCT ZRBRCDT RMFIII RESPONSE TIME COUNTS
EXZRBSVC ZRBRCD ZRBRCDD RMFIII SUBSYSTEM DELAY
EXZRBSVG - SVP segment creates multiple datasets:
EXZRBSVP ZRBSVP ZRBSVPP RMFIII SERVICE POLICY
EXZRBSVR ZRBSVW ZRBSVPW RMFIII SERVPOLICY WORKLOAD DEFN
EXZRBSVW ZRBSVC ZRBSVPC RMFIII SERVPOLICY SRVCLASS DEFN
EXZRRSVZ ZRBSVZ ZRBSVPZ RMFIII SERVPOLCY SRVCLASS PERIOD
IMACRMFV ZRBSVR ZRBSVPR RMFIII SERVPOLICY REPORC CL DEFN
VMACRMFV ZRBSVG ZRBSVPG RMFIII SERVPOLICY RESOURCE GROUP
VMXGINIT - UWD segments produce warnings (first five) that will
Nov 9, 2003 will be investigated, and only cursory validation of
all of the new data has been accomplished. Some back
end merges/unions may be necessary, and/or there may
be some variables that need to be carried forwared,
but that awaits someone who really wants to use these
new data segments, but lots of the data is already in
the TYPE7xxx RMF Monitor I data.
Change 21.227 Final Cleanup after full QA runs:
ANALDBTR -ANALDBTR updated to include all pairs datasets; I183R183
ANALDB2R was changed to S183S183 for consistency in pair names.
CONFIG -Archaic CONFIG member for SAS V6 specifies MEMSIZE=128M.
JCLTEST6 -VMAC6,IMAC6ESS ESSPIMSG/ST spellings corrected, all vars
IMAC6ESS in DROP and KEEPs.
VMAC6ESS
Nov 8, 2003
Thanks to Freddie Arie, TXU, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA
====== Changes thru 21.226 were in MXG 21.06 dated Nov 7, 2003=========
Change 21.226 Support for GEPARMKY=000B in Extended SMF 6 ESS data now
IMAC6ESS creates ESSDEFAU variable if IMAC6ESS is enabled to
VMAC6 decode those optional ESS data fields.
Nov 7, 2003
Thanks to Engelbert Smets, Provinzial Rheinland Versicher, GERMANY
Change 21.225 -PDB.RMFINTRV workload definitions can now be based on the
VMXGRMFI WORKLOAD name, variable WKLDNAME, instead of a long list
Nov 7, 2003 of Service Class Names, by this enhancement that adds an
eight value to the WORK= argument.
Caveats: USECNTRL must be YES or GOAL, or nothing will
be found. And if you mix up workloads, service
classes, and reporting classes, the UTILRMFI
can't help you figure out what you've done wrong
because WORKLOAD doesn't exist in TYPE30 SMF.
-The SPIN logic to detect existence was enhanced.
-Note that if both SRVCLASS and WORKLOAD are specified,
that WORKnn workload will include all observations that
match either the SRVCLASS or the WORKLOAD names, so you
must be careful to avoid any overlap.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
Thanks to ??? who actually asked for it earlier. Identify yourself.
Change 21.224 New QAPMCONF variables GDESIL/GDESIT/GDESPU were missing
VMACQACS values because they were not in the RETAIN statement, and
Nov 6, 2003 the configuration file has one record per parameter; all
Nov 10, 2003 GDESxxxx variables are now RETAINed.
-New variables GDESIL/GDESIT/GDESDL/GDESDT had incorrect
values; they are now input as PIB2.1 instead of PIB4.1;
I misread the OS/400 description of B(4,1) as being a
four byte field.
-New variable GDES18 decodes the GDESKEY='18' record.
-Variables GDESAP and GDESAT are addresses, and are now
formatted as MGBYTES (so they print 255G for 255 GBytes).
-Variable GDESI, interval value, was multiplied twice by
60, causing an incorrect value.
Thanks to Jim Wertenberger, Antares Management Solutions, USA.
Thanks to Al Kadowaki, IBM Corporation, USA.
Change 21.223 CA-VIEW TYPESARR user SMF records caused INPUT STATEMENT
VMACSARR EXCEEDED RECORD LENGTH error because MXG used $VARYING40.
Nov 6, 2003 but one instance had 45 characters. Now use $VARYING80.,
and protection was added if the text length is greater
than 80. Then I realized these character variables were
not even output (probably because I didn't have any data
with index data), so the subtype 30/31 datasets now have
variables SV30/31INAM,SV30/31IVAL,SV30/312VAL,SV30/313VAL
with the Index name and the first three index values.
Thanks to John Rivest, TDS, USA.
Change 21.222 SAS Version 6 ERROR 29-185 WIDTH INVALID $EBCDIC255 when
VMAC102 MXG was executed under SAS V6, which limited character
VMAC110 variables to 200 bytes. While execution under SAS V8.2
VMXGINIT or later is STRONGLY RECOMMENDED, it was my intention to
Nov 3, 2003 support execution under V6 for all of the "standard" code
Nov 27, 2003 members, so this oversight was corrected with a new macro
variable &EBC255 that will input $EBCDIC200. +55 for V6.
These new products require execution under SAS V8:
TYPEAIX - AIX Performance Tool
TYPETMTC - TMON ASG-Landmark TCP/IP monitor
TYPEWWW - Web Logs
TYPEOMDB - Omegamon II for DB2 Historical File
-In addition, a $VARYING250 in VMAC102 was changed to only
read in the first 200 bytes with $VARYING200.
Thanks to Kevin Wells, ScaleOn Gmbh & Co KG, GERMANY.
Change 21.221 -MXG Web Log processing of data with negative GMT offset
VMACWWW caused INVALID ARGUMENT messages, and causing variable
Oct 31, 2003 GMTOFFTM to be missing, but ENDTIME was correct.
Nov 5, 2003 -ELAPSTM was missing value in IIS logs due to typo, and
is now formatted TIME8.
Thanks to Robert Gauthier, Albertsons, USA.
Change 21.220 FLASH: MXG 21.07 is required for PDB.ASUMUOW to have all
ASUMCICX reported errors fixed. If you use JCLUOWV from an
ASUMUOW earlier MXG version, or use VMXGUOW, ASUMUOW, ASUMUOWT on
ASUMUOWT Landmark MONITASK data to build PDB.ASUMUOW, you're at
JCLUOWP risk of having incorrect data, like missing values for
JCLUOWV STRTTIME, or your perfectly running BUILDPDB can ABEND
VMACTMO2 with DATASET DB2ACCT NOT SORTED or with the VARIABLES NOT
VMXGUOW FOUND error condition. We have had a series of
Oct 30, 2003 architectural revisions to correct the sort sequence for
Nov 30, 2003 LU 6.2 transactions, and corrections to that redesign,
and restructured into ASUMUOW for IBM CICSTRAN and
ASUMUOWT for ASG MONITASK data, to eliminate double
mounts of tape libraries, and only now does it appear
we've fixed everything or at least documented that you
must use the JCLUOWV or JCLUOWP members from MXG 21.06,
due to these changes:
Change 21.194 - Added Variables
Change 21.147 - Populated STRTTIME
Change 21.134 - MONITASK fixed
Change 21.093 - SYSTEM blank, cleanup
Change 21.076 - Stored Procedure vars added
Change 21.062 - SORT ORDER CHANGED, vars dropped
Change 21.237 - ASUMUOWT fixed
This change is only documenation of the INCOMPATIBLE
changes that have been made to this very-important MXG
program that we strongly suggest you use to put the DB2
and CICS transaction data together.
Thanks to Larry Nova, Transamerica, USA.
Change 21.219 Support for IBM Tivoli Storage Manager Accounting Records
EXTSMACC creates new TSMACCT dataset when data files are
IMACTSMA transferred, with counts of transactions and bytes
TYPETSMA transferred.
TYPSTSMA
VMACTSMA
VMXGINIT
Oct 27, 2003
Thanks to Simone Niemczura, Sungard, USA.
Change 21.218 Six variables in TYPE71 had "AVAILABLE ..USED" in the
VMAC71 label, but the "USED" did not belong, as all count the
Sep 24, 2003 number of available, not used, frames:
AVLEXTAV AVLEXTMN AVLEXTMX PVTAFCAV PVTAFCMN PVTAFCMX
Thanks to Tom Buie, Southern California Edison, USA.
Change 21.217 Support for SMF 99 subtype 7 PAV Device data creates new
EXTY99U7 TYPE997 dataset. Observations are only output if there
IMAC99 were activity counts for the device.
VMAC99
VMXGINIT
Oct 23, 2003
Thanks to Randy Shumate, LexisNexis, USA.
Change 21.216 z990 CPUTYPE 2084 with OS/390 R2.10 caused CPU NOT IN
VMXGRMFI TABLE error; this member should have been updated by
Oct 23, 2003 Change 21.149, but my z990 test data was z/OS and the
VMXGRMFI test was overlooked.
Thanks to Peter Giles, Centrelink, AUSTRALIA.
Change 21.215 Support for EKC's ETF/R FIRECALL SMF 80 optional data
EXTY80EK segment creates two new MXG datasets:
EXTY8XEK TYPE80EK - Contains fixed data plus first EKC80FRD.
IMAC80A TYPE8XEK - Contains any additional EKC80FRD relocate
VMAC80A data segments.
VMXGINIT This change requires execution under SAS Version 8 to
Oct 23, 2003 input the full length (up to 1024 bytes) in EKC80FRD; the
Nov 2, 2003 code executes under SAS V6 without error, but variable
EKC80FRD will be truncated to 200 bytes.
Thanks to Jim Holloway, MetLife, USA.
Change 21.214 Cosmetic. The FORMAT statement in MACRO _VMRPT3 (for
VMACVMXA "report three" listed the variables from _VMRPT2, but
Oct 22, 2003 there is no need for those variables in _VMRPT3.
Thanks to Thom Kight, Fidelity Investment Systems Co, USA.
Change 21.213 Support for Oracle V9.x SMF data is already in MXG, as
VMACORAC there were no changes in their SMF record; you need to
Oct 20, 2003 set the record ID macro, and the Subsystem macro, but
they can be set "instream" after your //SYSIN DD *
%LET MACKEEP=
MACRO _IDORAC 200 %
MACRO _IDORACO SUBSYSID EQ 'TGW9' %
;
%INCLUDE SOURCLIB(TYPSORAC);
Thanks to Ralf-Henning Glomb, BMW, GERMANY
Change 21.212 Support for optional CMODNAME='MQSeries' CICSTRAN data
UTILEXCL fields from IBM, added starting in CICS/TS 3.2, creates
VMAC110 variables MQGETWTM,MQGETWCN,MQREQS,MQWTCBUS,MQONTCBU, and
Oct 20, 2003 MQREQUS. This support requires that you use UTILEXCL to
create an IMACEXCL for those variables to exist in the
CICSTRAN dataset. But see Change 31.223.
Thanks to Ricke Godehard, Itellium, GERMANY.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 21.211 Support for RACF segment RACFDTP=44 decodes the value of
VMAC80A the command into new variables EV44VAL1-EV44VALF and
Oct 20, 2003 stores only the name (PROC,ACCTNUM,SIZE,MAXSIZE, NOUNIT,
Oct 28, 2003 and COMMAND) in the existing EV44TXT1-TXTF variables.
Oct 29, 2003
Thanks to John McDermott, Blue Cross Blue Shield of Florida, USA.
Change 21.210 Support for several new ESS segments (34x,35x,37x,47x)
IMAC6ESS and for GEPARMNR more than 1 for 21x and 2Fx added in
VMAC6 (optional) IMAC6ESS, also adds new variables to TYPE6
Oct 14, 2003 (but only if comment block in IMAC6ESS is opened, and the
DROP= statement is edited in that member to keep the new
variables).
Thanks to Engelbert Smets, Provinzial Rheinland Versicher., GERMANY.
Change 21.209 New fields added by ThruPut Manager are now supported:
VMACTPMX ADDRSA CA7 CONVEC CURMSC CURREC1-CURREC6
Oct 14, 2003 observations in dataset DB2ACCTP if the package data
Thanks to Lawrence Jermyn, Fidelity, USA.
Change 21.208 Variables QWACBSC and QWACESC are missing in package
VMACDB2H observations in dataset DB2ACCTP if the package data came
Oct 13, 2003 from SMF 101 Subtype 1 (IFCID=239) records, as those
records do not contain the QWAC segment.
The SMF 101 Subtype 0 IFCID=3 Accounting Record
contains the first ten package executions, each of
which is output in DB2ACCTP; the SMF 101 Subtype 1
IFCID=239 records contains the rest of the package
segments when there are more than 10 per plan.
It is also not possible to retain the QWACBSC/ESC from
the prior SMF 101 Subtype 0 (IFCID=3) record, because IBM
in their infinite wisdom decided to write the 239 record
first (even though QWHSSTCK time in that first IFCID=239
record is later than QWHSSTCK time in the following
IFCID=3 record). Only with dual sorts of DB2ACCT and
DB2ACCTP plus a massive merge, could the QWACBSC/QWACESC
timestamps of the account record be added to the DB2ACCTP
package dataset, and that's a lot of cost for very little
value. The DB2ACCTP dataset variables QPACSCB & QPACSCE
are datetimestamps of the "entry to, and exit from" DB2,
like a start/end of the package call, but they are also
inconsistent:
QPACSCE always has a non-missing datetime value
QPACSCB is always missing in all IFCID=239 records, and
is only non-missing in the first package
segment in IFCID=3 records.
When QPACSCB is missing, you could consider calculating
variable PSEUDOSCB=QPACSCE-QPACSCT, to estimate the SCB
start time (by subtracting the execution duration from
the end datetime). PSEUDOSCB was slightly earlier than
QPACSCB when QPACSCB existed.
This change added disabled debugging PUT statements that
were used to examine these records, in case they are
needed for future investigations.
Thanks to Daniel O. Russo, Vanguard, USA.
Change 21.207 The test for NTSMF Object MSEXCHANGECCMC replaced the
VMACNTSM incorrect spelling (MSEXCHANGECMCC).
Oct 10, 2003
Thanks to Philip Henning, Demand Technology, USA.
Change 21.206 Variables QW0125PC QW0125PL QW0125PN QW0125SN QW0125TS
VMAC102 are now input and kept in DB2 102 IFCID=125 T102S125.
Oct 10, 2003 dataset.
Thanks to Ron Alterman, PG&E, USA.
Change 21.205 MXG Support for BMC's IMF/CIMS IMS already includes the
VMACCIMS variable SMQGROUP, the IMS Shared Message Queue Group
Oct 9, 2003 Name, so that you can summarize BY SMQGROUP to see the
total response and resources of the entire group. This
change is only for documentation (because I didn't know
what the heck an IMS Shared Message Queue Group was,
either)!
A Shared queues group is just a group if IMS systems
(an IMS Plex) that share incoming transactions with
their shared message queue stored as a structure in a
couling facility. A transaction arrives at any IMS
System but can be executed anywhere in the Plex. Only
one 'FA'x IMF Transaction record is created, even
though IMSA may have put the message on the Q and IMSB
executed the transaction (and IMSB will be where the
FA record was written).
Thanks to Ulrich DIllenberger, BMC, GERMANY.
Change 21.204 If you use %LET MACSHFT= syntax to replace or override
IMACSHFT the SHIFT definitions in your tailored IMACSHFT member,
Oct 8, 2003 the input temporary variable DATETIME will have been
changed by IMACSHFT logic to the start-datetime of the
shift, so that MXG Summarization and Trending datasets
have a common STARTIME value. The addition of &MACSHFT
support was done only for consistency with other IMACs,
but I never considered that anyone would ever want to
pass static definitions, like SHIFT, thru %LET MACSHFT!
This change stores the original value in DATETIME when
IMACSHFT was invoked into temporary variable SHFTTIME,
so that if you do use %LET MACSHFT, and don't tailor the
default MXG IMACSHFT member, you can set
DATETIME=SHFTTIME;
as your first statement in MACSHFT=, and then redefine
the shifts. However, your MACSHFT= logic must also
the DATETIME variable to the beginning of the shift,
to protect for later summarization in that job.
Thanks to Klaus Messer, COMLAB, GERMANY.
Change 21.203 Variable RESIND should have been formatted HEX2 as it
VMAC77 contains individual bit values regarding the enqueue.
Oct 7, 2003
Thanks to Doug Medland, IBM Global Services, CANADA.
Change 21.202 INPUT STATEMENT EXCEEDED due to invalid OPC record that
VMACOPC had LENGTH=83 but TRLLENGT (expected length) of 420. OPC
Oct 7, 2003 records have new data inserted, currently the new fields
are skipped, pending documentation.
Thanks to Andrew Phillip Davis, Abbey, ENGLAND.
Change 21.201 Protection for SMF80DTP=53 (RUTKN) with SMF80DLN=76.
VMAC80A Segment is documented for z/OS 1.2 SecureWay as DLN=80.
Oct 9, 2003 Caused INPUT STATEMENT EXCEEDED RECORD LENGTH error.
This change circuvents by skipping over the segment.
This data segment is created by the add-on ETFR product
(EKC Tools for RACF is an extension to RACF.ETF/R that
selectively grants extended privileges under emergency
situations), and that vendor will be advised of their
invalid record.
Thanks to John Grasing, MetLife, USA
Change 21.200 Negative values for DB2TCBTM occur if QWACEJST (ending
VMACDB2 CPU time) is smaller than QWACBJST (starting CPU time).
Oct 5, 2003 Out of 9,000 transactions, four transactions were neg:
QWACBJST QWACEJST QWACRINV
1.61 0.00452 10
0.12 0.00458 10
0.25 0.00415 10
3.63 0.00436 10
IBM notes that BJST or EJST are zero when CPU timing is
not available; MXG only calculated the difference when
when both are non-zero; this change adds a test to also
calculate DB2TCBTM if EJST is greater than BJST, while
IBM investigates further.
PQ71119 is a correction for Tivoli that mentions why
EJST may be zero: rrs commit request can be issued in a
different address space than the original attach so DB2
does not have the original TCB; their solution was to
force a zero value, as was done here by MXG. However,
MXG adds QWACSPCP and QWACTRTE to the delta so you
could have DB2TCBTM non-zero even if the EJST-BJST
difference is not calculated.
Note added Jan 21, 2004: This note is also in NEWSLETTER
FORTY-FOUR, MVS Technical Note 2.:
APAR PQ79622 corrects error that caused QWACBJST to be
greater than QWACEJST, which caused negative DB2TCBTM.
The error occurred when an SQL statement fired a
trigger and that trigger called either a UDF or a
stored procedure, so that class 1 non-nested CPU time
could erroneously be a negative value.
Thanks to Roger L. Rush, Nav-International, USA.
Thanks to Richard L. Steele, Nav-International, USA.
Change 21.199 -IMACxxxx members with incorrect spelling of the DDDDDD
IMAC119 values in the comments, or that were missing new data
IMAC28 sets were revised. Only documentation was changed.
IMAC42 -VMAC members _Nxxxx and _Sxxxx Null/Sort macros had
IMAC74 tokens added for new datasets that had been overlooked.
IMAC85
IMAC94
IMACAIX
IMACDOS
IMACILKA
IMACMVTP
IMACNDM
IMACNSPY
IMACNTSM
VMAC90A
VMACMWAI
VMACNTCP
Oct 5, 2003
Change 21.198 A missing value for STRTTIME in CICSTRAN can occur if you
VMAC110 have optional data segments in your transaction SMF
Oct 5, 2003 records, but you did copy and remove the comment block
in the IMACICxx member for those optional segments.
The UTILEXCL program lists all optional data segments
and lists the IMACICxx members you must tailor. If
you don't tell MXG about the data, its INPUT gets out
of alignment, and if STRTTIME happens to have all hex
zeros, a missing value results. Since STRTTIME is the
Start Time of the transaction, it must always exist in
your CICS records. A new message is now printed if
STRTTIME is missing.
Change 21.197 -ASUMCACH enhanced to keep track of I/O by LPAR (in the
ANALCACH variables IORATEA, IORATEB,...) in PDB.ASUMCACH that it
ASUMCACH creates.
Oct 2, 2003 -Second example Analysis Report added to ANALCACH that
Nov 6, 2003 reads the PDB.ASUMCACH dataset, and uses two formats
(that you EDIT in your program) that map your DASD UCB
addresses to Raid Groups and HDS Rank, so that you can
report and measure I/O activity down to the Raid Group
within RAIDBOX.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.196 INVALID DATA FOR VERSN90 message had no impact on the
VMAC90 created dataset, but it and associated hex dump are
Oct 2, 2003 prevented by the insertion of ?? in the INPUT.
Thanks to Jim Petersen, Washington Mutual, USA.
Change 21.195 Support for Microsoft Exchange Server 5.5 Log file
EXEXCHLG creates EXCHANGE dataset from INFILE EXCHLOG. This
IMACEXCH support is preliminary and covers all fields, but parsing
TYPEEXCH of sub-fields is contemplated where needed, creating new
TYPSEXCH variables eventually.
VMACEXCH
VMXGINIT
Oct 2, 2003
Thanks to Bob Gauthier, Albertsons, USA.
Change 21.194 Variables added to _KUOWCIC (CICSTRAN) into PDB.ASUMUOW
ADOCUOW STORHWMH STORHWMK SYNCDLTM SYNPTCN
VMXGUOW ENQDIOCN ENQDIOTM LU62IOCN LU62IOTM
Oct 1, 2003 Variables added to _KUOWCIX (Max):
Oct 22, 2003 STORHWMH STORHWMK
ADOCUOW was updated to be consistent with VMXGUOW.
Oct 22: End Comment before ENQDIOCN =.; was added.
Thanks to Paul Gillis, ColesMeyer, AUSTRALIA.
Change 21.193 -Variable BYTEAVAI can be zero if AVAILMEM or AVAILMEK is
EXNTIPV4 zero (still under investigation). The MXG statement
EXNTTCV4 BYTEAVAI=AVAILMEM; is now replaced by the statement
EXNTUDV4 BYTEAVAI=MAX(BYTEAVAI,AVAILMEM,AVAILMEK); to cover all
IMACNTSM possibilities of values in the three fields.
VMACNTSM -Support for new IPV4, TCPV4, and UDPV4 objects create
VMXGINIT three datasets of the same name.
Oct 1, 2003 -Pending DISCOVERY Records, new data added to ACSR 0/36
and WEBS 1/86 are not yet supported.
Thanks to Barry Neff, Infores, USA.
Change 21.192 SYNCSORT for z/OS 1.1 can have 255 SORTWORKs, but MXG
VMACSYNC only outputs details on the first 99, and would have
Oct 1, 2003 failed (ARRAY OUT OF RANGE) if you had more than 99.
This change protects for more than 99, but only by
printing a message that more were found, and to contact
support@mxg.com, if you really have a need for details on
the 100th+ sort work area.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.191 SMF 94 variable SMF94VCZ (Average MB per Logical Vol) is
ADOC94 recalculated when it is zero in the IBM record but
VMAC94 SMF94VBA/SMF94VLA is non-zero. Many of the SMF94Vxx
Sep 30, 2003 variables are zero if SMF94VNO='FF'x (Composite), some
are the composite of all AX0's if VNO='FF'X, and some are
non-zero only if VNO='FF'x. ADOC94 was updated to
identify the "Note 1 and Note 2" variables in TYPE94.
Thanks to Art Hunter, Penn Mutual, USA.
Change 21.190 Support for APAR PQ77633, which corrects FTPREPLY code in
VMAC119 FTP client records; it should have been a three digit RFC
Sep 29, 2003 code in left-justified EBCDIC, but the SMF 119 record had
Mar 2, 2004 a binary value prior to this APAR. See Change 22.019.
Change 21.189 CICS SMF 110 subtype 1 MNSEGCL=5 records caused ERROR:
VMAC110 INVALID DO LOOP CONTROL INFORMATION because I forgot that
Sep 23, 2003 DO _I_=1 TO MNR5LEN3; fails if MNR5LEN3=., and the third
triplet is not always present. Change to IF MNR5LEN3 GT
0 THEN DO _I_=1 TO MNR5LEN3 to fix.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.188 NDM SMF user record subtypes 'IP','JI','QH','QW', and
VMACNDM 'WS' are still not undecoded, until an MXG user wants
Sep 23, 2003 those data, but the UNKNOWN RECORD messages are now no
longer printed for those subtypes.
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 21.187 Data values in PDB.DB2GBPST were occasionally way too
VMACDB2 large; the logic to deaccumulate did not test the
Sep 23, 2003 SEQCHECK variable, and thus missed restarts/resets. The
test for SEQCHECK was also added to the logic for
PDB.DB2STATR and PDB.DB2STATB, although neither had any
reports of bad data values.
Thanks to Lori A. Masulis, Fidelity Systems, USA.
Change 21.186 Another major enhancement for RMF III VSAM support now
ASMRMFV adds support for six new RMF III data tables:
Sep 23, 2003 CFI (Coupling Facility Information Table)
Nov 18, 2003 RCD (Resource Collection Data Table)
SVP (Service Policy Data)
SHD (Sample Header Data)
RED (Resource Data Record)
UWD (Use/Wait Record)
See change 21.228 for updates to VMACRMFV to support the
new data added by this change to ASMRMFV.
See Change 21.236.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 21.185 INTERVAL=SECOND in VMXGSUM, VMXGDUR, and ANALCNCR is
ANALCNCR added to MINUTE HOUR etc values to set the interval in
ANALCNCR summarization and concurrency analysis (e.g. counting
VMXGSUM concurrent NT processes in each second). But use the
VMXGDUR INTERVAL=SECOND value with care, as it can require
Sep 23, 2003 workspace that is many times the size of the input data.
Sep 30, 2003
Thanks to Art Morelock, CheckFree, USA.
Change 21.184 Support for 3592 Tape Drives already exists in MXG, as
none they are still 3590s (UCBTY34='8083'x) in SMF records.
Sep 23, 2003 The specific type and model is contained in the TYPE74
for each device in variable SMF74NID='003592J....'.
Thanks to MP Welch, SPRINT, USA.
====== Changes thru 21.183 were in MXG 21.05 dated Sep 22, 2003=========
Change 21.183 SMF 115 Subtype 2 INPUT STATEMENT EXCEEDED because the
VMAC115 protection in Change 21.161 was incomplete.
Sep 21, 2003
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 21.182 Support for z/OS 1.4 Feature 1 (COMPATIBLE) that adds
VMAC89 SMF89LP3 variable with one or two digit LPAR ID value.
Sep 19, 2003 Feature 0 is "z/OS V1.4 z999 Compatibility Support".
Feb 13, 2004 Feature 1 is "z/OS V1.4 z990 Exploitation Support".
Feature 2 is "z/OS V1.4 Consoles Enhancements".
====== Changes thru 21.181 were in MXG 21.05 dated Sep 18, 2003=========
Change 21.181 TMS/CA1 Release 5.2 (finally!) lets you block the TMC
TYPETMS5 file to half-track blocksize of its 340 byte records, so
Sep 18, 2003 the MXG recommendation to use BUFNO=200 on //TMC is
withdrawn when you have enabled half-track blocksize.
That large a BUFNO with half-track blocksize could cause
an 80A out-of-virtual-memory ABEND. Reblocking the TMC
to half-track reduced the MXG run time of TYPETMS5 from
6.5 minutes to only 2.5 minutes.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.180 -Example to build Weekly PDB from Daily PDBs on tape to
JCLWEEKD eliminate backspace/rewind/remount wasted time, using the
WEEKBLDD same technique as MONTHBLD: copy the selected PDB
WEEKBL3D datasets from tape to temporary DASD and build WEEKLY
Sep 17, 2003 from those disk copies rather than by reading tapes.
Thanks to Ron Lundy, AHOLDUSA, USA.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 21.179 -TYPE50 records contain interval data, but there is no
FORMATS interval value in the record; this enhancement creates
VMAC50 new variable DELTATM as the delta between SMFTIMEs for
Sep 16, 2003 the same instance; however, DELTATM will be missing in
the first record for each instance, even though the rest
of the data is valid in those first-per-day data.
-Format MG050AT was updated for 3:Read Write Subchannel
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 21.178 Variable STARTIME is now created in TPXINTRV dataset in
VMACTPX the _STPXINT (DIFFTPX) deaccumulation logic.
Sep 16, 2003
Thanks to Dr. Alexander Raeder, Itellium, GERMANY.
Change 21.177 Cosmetic; suppressed printing of temporary datasets that
VMXGPRAL were created by a prior run of VMXGPRAL.
Sep 12, 2003
Change 21.176 -Support for CICS APAR PQ76703 new Transaction Resource
EXCICDSR Class Monitoring TSQUEUE segment in SMF 110 Subtype 1
EXCICDST with MNSEGCL=5, which caused INPUT STATEMENT EXCEEDED
EXCICRDQ error: the new triplet and class were unexpected. You
VMAC110 can confirm this error by seeing MNSEGCL=5 in the list of
VMXGINIT variables after the error is printed. The new data
Sep 12, 2003 tracks Temporary Storage at the transaction level with ts
queue name, and is output in new CICSRDQU dataset. The
DFHMCT TYPE=INITIAL TSQUEUE=4 default captures four
queues, a maximum of TSQUEUE=32 is allowed, and if
TSQUEUE=0, no data segments will be created and the
CICSRDQU dataset will have zero observations.
-New STID=64 and STID=65 for DSR and DST DSECTS create two
new CICDSR and CICDST Statistics Datasets. These
segments were added by IBM APAR PQ76697.
Thanks to David Klein, DOITT - City of New York, USA.
Thanks to Eileen Barkow, DOITT - City of New York, USA.
Change 21.175 Support for DB2 102 IFCID=217 (Storage Manager Pool)
EX102T17 creates four datasets:
EX102U17 T102S217 QW0217HE DSECT - Storage Available
EX102V17 T102T217 QW02172 DSECT - Storage each QW0217PH
VMAC102 T102U217 QW02173 DSECT - Storage each QW02173H
VMXGINIT T102V217 QW02174 DSECT - Dictionary Storage
Sep 10, 2003 for initial investigation of the new data. These data
records are strange, with the 2nd,3rd,& 4th triplet's
segments containing different DSECTs in different SMF
records, so logic using Segment Length is required to
determine exactly which DSECT is in which triplet! The
only unique variable in T102T217 and T102U217 is the
undocumented "Serviceability" token, QW0217PH and
QW02173H. Revision is possible if a better way seen!
-Support for IFCID=254 (Group Buffer Pool) adds 22 new
variables to the T102S254 with only common variables.
existing T102S254
Thanks to Phil Parker, TNT Post Group, ENGLAND.
Change 21.174 The PROC FREQ in _RPDBID failed, if you used _STYID in
BUILD001 EXPDBOUT (to sort WORK.ID to PDB.ID), because MXG hard
BUIL3001 coded the DATA=_WTYID token, so SAS only looked for ID in
BUILDPDB the Work Lib. Instead, the %VMXGWORL macro is used to
BUILDPD3 determine where you left that dataset, populating macro
Sep 9, 2003 variable &MXGWORL ("W or L") with its location:
%VMXGWORL(DDDDDD=TYID);
PROC FREQ DATA=&MXGWORL;
This should have been done when %VMXGWORL was created.
Thanks to Hugh Lapham, RCMP, CANADA.
Change 21.173 SMF 116 Subtype 0 records with QWHS header LENQWHS=36
VMAC116 caused INVALID PRODUCT SECTION message, and were then
Sep 9, 2003 deleted (and hence not output in MQMACCT dataset).
LENQWHS=36 segment is now decoded, up thru QWHSMTN, but
QWHSLOCN/NID/LUNM/LUUV/LUCC/QWHSLUCN are all missing
values in MQMACCT short QWHS segment observations.
-Input of QWHCCV was changed to $CHAR12 from $EBCDIC12.,
to support execution under ASCII. See Change 22.089.
Thanks to Jacob Nudel, Thompson BETA Systems, USA.
Change 21.172 Variable PROCNAME in HPSUPROC dataset was not in the
VMACMWSU LENGTH $32 statement, so it defaulted to only 8 bytes.
Sep 9, 2003 It is now $32 bytes, as process names can be long.
Thanks to Chris Morgan, UFI, ENGLAND.
Change 21.171 ASCII execution only. RACF variables INTENT and ALLOW
VMAC80A were incorrect when MXG executed under ASCII SAS; the
Sep 7, 2003 INPUT of INTENTCH and ALLOWCH should be $CHAR1.
Thanks to Matthew T. Chappell, Queensland Transportation, AUSTRALIA.
Change 21.170 -TYPE70 variable NRCPUS is redefined to be the Average
VMAC7072 Number of CPUs that were Online, because IRD can vary
VMXGRMFI CPUs On and Off dynamically, and the original NRCPUS was
Sep 7, 2003 the integer number of CPUs online at interval end that
had not been varied, which is incorrect for IRD.
SMF70ONT, the Online Time from PR/SM segment is now
summed across all of the LCPUs in this MVS System, and
that sum is then used to recalculate NRCPUS
NRCPUS=SMF70ONT/DURATM
to now be the Average Number of Online CPUs, and its
Label changed. SMF70ONT is also now output in TYPE70,
and MXG percentages based on NRCPUS in TYPE70 were moved
to use the Average NRCPUS value in calculations. One
visible impact will be that NRCPUS will no longer be an
integer value!
-RMFINTRV was revised, adding new SMF70ONT variable and
with NRCPUS recalculated to be Average Number of CPUs.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 21.169 Specifying KEEPALL=YES in %VMXGSUM invocation in these
BUILD005 three members improves performance, and eliminates
BUIL3005 confusing messages if you happen to test with OBS=1.
SPUNJOBS
Sep 7, 2003
Thanks to Chuck Hopf, MBNA, USA.
Change 21.168 ERROR: DATASET WORK.MXGSUM2 IS NOT SORTED IN ASCENDING
AUTOEXEC may occurs if your SAS installation's SORTSEQ= option is
CONFIGV8 not SORTSEQ=EBCDIC or SORTSEQ=ASCII, as documented in SAS
Sep 7, 2003 Note SN-07151, which has no fix yet. So to eliminate the
exposure with MXG jobs, the appropriate SORTSEQ=EBCDIC or
SORTSEQ=ASCII is now set in MXG's defaults.
Thanks to Brian Sanger, Zurich Financial Services, ENGLAND.
Change 21.167 Support for multiple uniquely-named CICS user fields is
EXUTILEX added by the new _UNIQUE macro defined in member
UTILEXCL EXUTILEX, allowing you to create your own named variables
Sep 19, 2003 in CICSTRAN from your user data fields.
Thanks to Terry Fox, Principal Insurance, USA.
Change 21.166 IIS Web Log data caused UNRECOGNIZED HEADER and ARRAY
VMACWWW SUBSCRIPT OUT OF RANGE because MXG expected all 21 IIS
Sep 4, 2003 fields were present. Logic to recognize the end of
fields and protect for non-existent fields was added.
Thanks to Mike Penlington, Westpac, NEW ZEALAND.
Change 21.165 CICS/TS 2.2 STID=126 UNEXPECTED DATA due to STILEN=284
VMAC110 because MXG didn't INPUT variable S6RSP9CT, but now it
Sep 3, 2003 does and the variable is kept in dataset CICCFS6D.
Thanks to Allen Mayer, Prudential Securities, USA.
Change 21.164 Typos caused unprintable characters in MXG 21.04. In
DOCLRMFV member DOCLRMFV ASCII '85'x "dashes" were converted to
IMAC6ESS EBCDIC '25'X, but 'real dash' is '2D'x ASCII, '60'X on
Sep 3, 2003 EBCDIC. In member IMAC6ESS, there is a '0D'x that should
have been '40'X on EBCDIC, '20'x on ASCII.
Thanks to Scott Barry, SBBWorks, USA.
Change 21.163 Enhancement permits un-sorted datasets in MONTHBLD and
MONTHBLD circumvention for the (very rare) NOT-SORTED ERROR if you
MONTHBL3 build a monthly from daily/weekly PDBs that were created
MONTHBLS with two different MXG versions that spanned a change in
Sep 3, 2003 MXG sort order (last time this happened was when SYSPLEX
had to be added to RMF sort order!). Now, inserting this
statement:
MACRO _BY % MACRO _SORTBY %
before the _MNTHBLD invocation, both the expectation that
the input dataset is sorted, and the assertion that the
output dataset is sorted, are both disabled.
The building-in-sort-order by MXG is only for the
performance of your report programs, so that if you PROC
SORT in the same (recommended) order, SAS will bypass the
unnecessary sort. Nothing else in MXG requires datasets
be sorted.
Once you have nulled those macros, all subsequent
invocations of _MNTHBLD will be unsorted in and out.
Thanks to Caron Knox, Willis Corroon, ENGLAND.
Change 21.162 Typo of IFDURTM/496 instead of IFDURTM/4096 caused
VMAC119 invalid value for IFDURTM.
Sep 3, 2003
Thanks to Elisabeth Ballet, Michelin, FRANCE.
Change 21.161 MQ V5.3 CF dataset MQMCFMGR with MQ 5.3 has very large
VMAC115 values. MXG assumed QESTLL of 64, as documented, but
Aug 27, 2003 protection for longer QESTLL was added to see if that
could account for the problem. Await SMF test data.
Thanks to Ruud van Zundert, UBS, ENGLAND.
Change 21.160 Support for TNG Version 7 (INCOMPAT, due to insertion of
VMACTNG one field in the CAPMPCM HEADER record).
Aug 27, 2003
Thanks to Colin Bowen, CSC, SOUTH AFRICA.
====== Changes thru 21.159 were in MXG 21.04 dated Aug 25, 2003=========
Change 21.159 Variable SYNCTIME in TYPE23 is on the GMT time zone, so
VMAC23 it should have had ",GMT" at the end of its
Aug 21, 2003 %VMXGTIME(SYNCTIME,SYSTEM,GMT); statement.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.158 Support for new DFSMS/rmm EDGRXEXT data eliminates MXG
VMACEDGR "LESS THAN 545 BYTES" messages and incorrect data. New
Aug 20, 2003 variables in 'X' record, EDGRXEXT dataset:
RDLABNO ='LABEL NUMBER LABEL=(XX,LL) NEW'
RDLABNOX
RVALVERS='ANSI*LABEL*VERSION'
RVDCRSID='FIRST*FILE*CREATION*SYSTEM ID'
RVDSNNO ='LABEL*NUMBER OF*FIRST FILE*ON VOLUME'
RVEXPTKN='EXPORT*TOKEN'
RVLABNO1='LABEL*NUMBER OF*FIRST FILE*ON VOLUME'
RVOLTYPE='VOLUME*TYPE'
RVPERCNT='VOLUME*FULL*PERCENTAGE'
RVRBYSET='VOLUME*RETAINED*BY SET?'
RVSTKVCN='STACKED*VOLUME*COUNT'
RVSTKVLE='STACK*VOLUME*RECORD*ENABLED?'
New variables in 'D' & 'X' record, EDGRDEXT & EDGRXEXT
datasets: (SEE CHANGE 27.046 CORRECTIONS).
RDDEFRET='DEFAULT RETPD USED'
RDDSNSEQ='DATA SET SEQUENCE NUMBER NEW'
RDEXPDT ='DATA SET EXPIRATION DATE'
RDEXPDTO='ORIGINAL D/S EXPIRATION DATE'
RVDSTBIN='DESTINATION BIN NUMBER'
RVDSTMED='DESTINATION BIN MEDIA NAME'
RVMVDSN1='FIRST DSNAME OF A VOLUME SET'
RVVOL1 ='VOL1 LABEL VOLSER'
The two separate code blocks for the DEXT/RDEXT data was
consolidated into a single block and linked to.
Thanks to James D. Lieser, United Health Group, USA.
Change 21.157 DB2PM-like reports DB2 Accounting Summary had totals
ANALDB2R instead of averages for Class 2 Elapsed, Class 2 CPU, and
Aug 20, 2003 Lock Suspensions. Now they match DB2PM averages.
Thanks to Dr. Yao-Chun Rickert, Bank One, USA.
Change 21.156 Support for Control-D Log file creates 9 new datasets
EXCTLOGA reading their log records from the INFILE name CTLLLOG to
EXCTLOGB create a dataset for each record type:
EXCTLOGC MXG MXG
EXCTLOGD DATASET DATASET LOG
EXCTLOGE NAME LABEL TYPE
EXCTLOGF
EXCTLOGL CTLDOGA CTLD CONTROL REGION A
EXCTLOGM CTLDOGB CTLD ARCHIVE B
EXCTLOGX CTLDOGC CTLD USER C
FORMATS CTLDOGD CTLD DAILY D
IMACCTLL CTLDOGE CTLD AMF E
TYPECTLL CTLDOGF CTLD DECOLLATE F
TYPSCTLL CTLDOGL CTLD AUX REGION L
VMACCTLL CTLDOGM CTLD MIGRAION M
VMXGINIT CTLDOGX CTLD OTHER LOG TYPES ?
Aug 20, 2003 The "C" and "F" datasets contain the variables decoded
Nov 27, 2003 from the Log Message Text; for now, the other datasets
just contain the full LOGMSG text. If the CTLLLOG file
is to be sent to an ASCII platform for MXG execution, the
file must be sent as binary, as it contains both EBCDIC
text and binary values that cannot be translated to
ASCII. The correct DCB is RECFM=F,LRECL=6400, and that
is specified in the MXG program.
-Nov 27: Missing STARTIME in CTLDLOGF when log on/off time
stamps were identical corrected by revised SORT order.
Thanks to Elisenda Masacana, la Caixa, SPAIN.
Change 21.155 Support for Netspy Versions 6 and 7 already exists in MXG
VMACNSPY since MXG 20.10. Test V7 data was read without errors
Aug 18, 2003 nor any indications of inserted fields.
This change is documentation only; no change was made.
Thanks to Ron Byers, British Energy, ENGLAND.
Change 21.154 WARNING:LABELS EXCEED LENGTH 40 NOT SUPPORTED BY V6SEQ
ASUMCICS AND ARE BEING TRUNCATED had no impact, as it was only the
ASUMCICT DSNLABEL= argument revised in Change 21.090 that was too
ASUMCICX long.
Aug 18, 2003
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.153 -Support for BMC's MVIMS 3.3.0 (COMPAT) adds new data in
VMACCIMS reserved fields in 'FA'x IMS log record that are created
Aug 18, 2003 in these new variables in TYPECIMS dataset:
ABENDSYS='SYSTEM*ABEND*CODE'
ABENDUSR='SYSTEM*ABEND*CODE'
SAPEXTP1='SAP*EXIT*PASS*1?'
SAPEXTP2='SAP*EXIT*PASS*2?'
SAPTRNCD='SAP*TRANSACTION*CODE'
SMQFLAG ='SHARED*MESSAGE*QUEUE*ENVIRONMENT?'
SMQGROUP='SHARED*MESSAGE*QUEUE*GROUP NAME'
SRVCLASS='SERVICE*CLASS*NAME'
UOWTRANS='UOW*FOR*TRANSACTION'
The ABENDSYS/ABENDUSR variables already existed in the
CIMSPROG (program deschedule) dataset, they were added to
record Transaction Abends in CIMSTRAN dataset.
-Variables COREALOC/COREUSED are converted to bytes,
labeled 'BYTES*AVAILABLE/BYTES*USED' and formatted as
MGBYTES to "print pretty". Previously they contained the
count of 2K blocks.
Thanks to Fabio Massimo Ottaviani, DTS Italia, ITALY.
Change 21.152 Support for CICS/TS 2.3 (INCOMPATIBLE):
CICINTRV - New variables were inserted into CICSTRAN Subtype 1.
EXCICPGR - Two new CICS TCBs, 'J9' and 'JM' added, supported in
EXCICSJR Subtype 2 CICDS and CICINTRV datasets.
IMACEXCL - New Subtype 2 vars added to STID=2 and STID=117.
UTILEXCL - New Subtype 2 STID=118 and STID=119 create datasets.
VMAC110 -While you can use TYPE110/TYPS110/BUILDPDB to create the
VMXGCICI CICSTRAN dataset, we strongly recommend that you use the
VMXGINIT UTILEXCL program to read your CICS Dictionary records to
Aug 22, 2003 create an IMACEXCL tailoring member that will input and
Sep 1, 2003 keep only the CICSTRAN variables in your CICS records,
Sep 9, 2003 as that can reduce MXG runtime and save disk space.
Sep 10, 2003 UTILEXCL is required if you have excluded any fields
Nov 11, 2003 from your Performance Class (Subtype 1) records.
-New fields are inserted in SMF 110 Subtype 1 creating 17
new variables in CICSTRAN dataset:
CBSRVRNM='CORBA*SERVER*NAME'
DSMMSCCN='MVS*STORAGE*NO TCB*WAIT*COUNT'
DSMMSCTM='MVS*STORAGE*NO TCB*WAIT*TIME'
DSTCBMCN='TCB*MISMATCH*ELAPSED*WAIT*COUNT'
DSTCBMTM='TCB*MISMATCH*ELAPSED*WAIT*TIME'
EJBCRECT='EJB*BEAN*CREATION*CALLS'
EJBMTHCT='EJB*BEAN*METHOD*CALLS*EXECUTED'
EJBREMCT='EJB*BEAN*REMOVAL*CALLS'
EJBSACCT='EJB*BEAN*ACTIVATIONS'
EJBSPACT='EJB*BEAN*PASSIVATIONS'
EJBTOTCT='EJB*TOTAL*REQUESTS'
J9CPUTCN='USER TASK*J9 MODE*CPU TCB*COUNT'
J9CPUTTM='USER TASK*J9 MODE*CPU TCB*TIME'
KY9CPUCN='USER-TASK*KEY 9*TCB CPU*COUNT'
KY9CPUTM='USER-TASK*KEY 9*TCB CPU*TIME'
KY9DISCN='USER-TASK*KEY 9*TCB DISPATCH*COUNT'
KY9DISTM='USER-TASK*KEY 9*TCB DISPATCH*TIME'
-Two new TCBs, 'JM' and 'J9' are created in the CICDS and
CICINTRV datasets from the STID=60 Dispatcher Statistics
110 subtype 2 record, creating new DSExxxxx and DSFxxxxx
variables for those 14th and 15th TCBs. MXG input based
on TCB Number is no longer valid, as IBM uses the same
TCB number for different named TCBs; the TCB name is now
used to store TCB data into the correct set of variables
and the MXG Variable label accurately identifies what
TCB is stored in each set of MXG variables:
Prefix: DSG DS2 DS3 DS4 DS5 DS6 DS7 DS8 DS9
TCB Name: QR RO CO SZ RP FO SL SO J8
Prefix: DSA DBB DSC DSD DSE DSF
TCB Name: L8 S8 H8 D2 JM J9
-The VMXGCICI member was revised to include the two new
TCBs in the PDB.CICINTRV dataset.
-New variables added from STID=2 DFHSMSDS to CICSMDSA:
SMSWAITM='TOTAL*TIME*WAITING FOR*MVS STORAGE'
SMSWAICN='NUMBER OF*REQUESTS*CAUSING*WAITS'
-New variables added from STID=117 DFHSJGDS to CICTCPSJ:
SJGCUWCJ='JVM*CURRENT*WORKER CACHE*JVMS'
SJGMXWCJ='JVM*PEAK*WORKER CACHE*JVMS'
SJGRQWCJ='JVM*REQUESTS*CLASS*CACHE'
-New CICSJR dataset created from STID=118 DFHSJRDS with
the JVMPROFILE Resource Statistics, one observation per
Storage Key for each Profile/Path:
SJRJVCRE='SJR*NEW*JVMS*CREATED'
SJRJVDES='SJR*JVMS*DESTROYED*SOS'
SJRJVHWM='SJR*JVM*HEAP*HWM'
SJRJVRES='SJR*JVMS*RESETTABLE'
SJRLEHWM='SJR*LE*HEAP*HWM'
SJRMMSTE='SJR*MISMATCH*STEALER'
SJRMMVIC='SJR*MISMATCH*VICTIM'
SJRPRCLC='SJR*PROFILE*CLASS*CACHE*SETTING'
SJRPRCUR='SJR*CURRENT*PROFILE*USE COUNT'
SJRPRFRQ='SJR*PROFILE*REQUESTS'
SJRPRHWM='SJR*PEAK*PROFILE*USE*COUNT'
SJRPRNAM='SJR*PROFILE*NAME'
SJRPRPTH='SJR*PROFILE*PATH*NAME'
SJRPRXMX='SJR*PROFILE*XMX*VALUE'
SJRSTOKY='SJR*STORAGE*KEY'
-New CICPGR dataset created from STID=119 DFHPGRDS with
the JVM Program Resource Statistics, one obs per record
Storage Key:
PGRJVCLS='JVMPROGRAM*JVMCLASS*NAME'
PGRJVKEY='JVMPROGRAM*CICS/USER*KEY'
PGRJVPGM='JVMPROGRAM*NAME'
PGRJVPRO='JVMPROGRAM*PROFILE'
PGRJVUSE='JVMPROGRAM*USE*COUNT'
-The new and changed STIDs have been validated with data.
-Note: Several new fields in the SMF records can have up
to 255 characters; for now, MXG only inputs the first
200 characters, so that MXG can still execute under SAS
Version 6, with its 200-byte limit. But as soon as any
MXG customer actually has a name field that is 201 bytes
of text, I will revise those INPUTs to $EBCDIC256, and
the SMF 110 code will have to be executed under SAS V8.
P.S. New stuff, like WebSphere, that is not in the
default BUILDPDB already requires SAS V8!
CICS/TS 2.3 Documentation Errors:
1. In the Data Areas, the SJGDS description does not
show "117" for the STID of that segment, so you
cannot find that SJGDS is the DSECT for that STID.
2. The first SJRDS description is actually the PGRDS
descrption for the STID=119 segment; the bold face
title and the index entry need to be changed to
PGRDS. The ID field does not show "119".
3. The second SJRDS description is correct for the
STID=118 segment The ID field does not show "118".
Change 21.151 Total CREATES in DB2 reports was incorrect; the second
ANALDB2R occurrence of QXCRTAB in CREATES=SUM( ... ) should have
Aug 15, 2003 been QXCTABS.
Thanks to Dr. Yaou-Chun Rickert, Bank One, USA.
Change 21.150 -Support for CPU Time fields in SMF 120 WASserver that
VMAC120 were put in the SMF record by APAR PQ74463, but were only
Aug 13, 2003 documented in the HOLDDATA section of the PTF; Change
Aug 19, 2003 21.107 added support for the other new fields.
Dataset TYP120WI:
SM120WJ4='AVERAGE*CPU TIME' TIME13.6
SM120WJ5='MINIMUM*CPU*TIME' TIME13.6
SM120WJ6='MAXIMUM*CPU*TIME' TIME13.6
Dataset TYP120WA:
SM120CPU='CPU*TIME' TIME13.6
Variable SM120CPU was added by Change 21.107, but
units were undocumented; I assumed divide by 4096,
but the HOLDDATA documentation says microseconds,
so the divide was removed.
-Spurious "UN READ DATA FOUND" messages from SMF 120 were
due to incorrect calculation of SKIP, now fixed.
Thanks to Jan ter Laak, Rabobank, THE NETHERLANDS.
Change 21.149 -Support for z990 CPUs. INCOMPATIBLE: Variables in data
VMAC7072 sets TYPE70PR (LPARCPUS) and ASUM70PR (LPnNRPRC) have
VMXG70PR the total number of engines, rather than the number of
VMXGINIT online engines in RMF data with new CPUTYPE='2084'x.
Aug 13, 2003 MXG tests in VMAC7072 had to be revised for that new
Aug 15, 2003 value. The code was corrected in August in MXG 21.04.
Aug 22, 2003 (This note was not in the original change; it was
Sep 16, 2003 added Sep 16, 2003 to document the requirement).
-New PDB.ASUM70LP dataset for LPAR Reporting is easier and
safer to use than either the detail PDB.TYPE70PR dataset
or the summarized PDB.ASUM70PR dataset.
TYPE70PR - Most Detail - One obs for each LCPUADDR in
each LPARNAME, so CPs, ICFs, PHYSICALs, and
Linux engines are included; reporting must
select which obs to use, how/what to
summarize, and the criteria keeps changing
with IBM hardware or OS level, making your
report maintenance complex and exposed. Once
PDB.ASUM70PR existed, MXG has always
recommended its use, but many user reports
were written using TYPE70PR before there was
a PDB.ASUM70PR.
ASUM70PR - "Platform" summary - All LPARs measured in a
single observation, with a set of vars
(LP0NAME,LP0DUR,PCTL0BY,LP0MSUHR...) for 32
LPARs. Summarized from TYPE70PR with MXG
logic keeping track of what to count,
calculating percentages and MSU variables,
plus the totals for the "Platform". Very
Very accurate and useful, but having all
those different variable names makes for very
messy coding in your reportings, so:
ASUM70LP - A "vertical" dataset built from ASUM70PR.
For each online LPAR, one observation is
created in ASUM70LP for each LPARNAME, and
with only one set of variable names, so you
can select and sort and report easily. (This
is probably how ASUM70PR should have been
originally structured!)
You still must select the "production" SYSTEM whose
observations are used; each SYSTEM creates obs in
all three of the above datasets.
-Corrections/enhancement for PDB.ASUM70PR/PDB.ASUMCEC were
made in both VMAC7072 and VMXG70PR:
.Variables LPnDUR and LPCTnBY in PDB.ASUM70PR/ASUMCEC were
sometimes incorrect, perhaps since Change 19.189! Obs
with SMF70ONT=0 in PDB.TYPE70PR were included in LPnDUR,
so it to be much greater than DURATM*LPnNRPRC, and LPnDUR
is used to calculate LPCTnBY percentage.
.The VMAC7072 logic to creates SMF70ONT was revised
SMF70ONT - missing - Pre 2064, does not have ONT
SMF70ONT - zero - ONT valid and zero
SMF70ONT - nonzero - ONT valid and non-zero
to be more robust and consistent across hardware, and
then VMXG70PR logic that decides to sum this LPARDUR was
revised to include old and new but not spares:
IF SMF70ONT=. THEN LPARDUR=DURATM;
ELSE IF SMF70ONT GT 0 THEN LPARDUR=SMF70ONT;
ELSE LPARDUR=0;
.For LPARs with no CPUs (LPnNRPRC=0), these LPnXXXXX
variables LPnDUR,LPnBDA,LPnLAC,LPnMSU70,LPnNSW,LPnWST are
now set missing when LPnNRPRC=0, (i.e, when the LPAR had
no CPUs assigned) to be consistent with the other
variables that were already missing.
.Divide by zero error was corrected in ASUM70PR.
-Correction in VMAC7072 for PDB.TYPE70PR var SMF70CIN
which could be blank for observations after an offline
LPAR, because MXG's test to set SMF70CIN should have been
IF NRCIXGTO (instead of NRICFCPU) as the flag that
OW37565 was installed.
-The CSTORE storage, SMF70CSF, is added for each LPAR in
PDB.ASUM70PR, PDB.ASUM70LP, and PDB.ASUMCEC. (ESTORE is
a thing of the past; SMF70ESF not added.)
See also Change 21.216 if you are back-level on OS/390 or
early z/OS and SMF70WLA is not populated in SMF 70.
Thanks to Brian Cummings, Federal Reserve Information Technology USA
Thanks to Shirley Fung, HSBC, HONG KONG.
Thanks to Joe Key, BOC Gases, ENGLAND.
Change 21.148 This UTILBLDP enhancement honors your %LET MACKEEP=
UTILBLDP tailoring when you execute %UTILBLDP "instream", i.e.,
VMXGINIT when you invoke %UTILBLDP to create an OUTFILE= and then
Aug 12, 2003 %INCLUDE that file to execute the BUILD program.
Aug 14, 2003 (Previously, UTILBLDP disregarded any tailoring that you
Aug 18, 2003 tried to use in a %LET MACKEEP= statement).
- If you execute UTILBLDP "instream" with this syntax:
%LET MACKEEP= ... tailoring code ... ;
%UTILBLDP(..,OUTFILE=zzzzzzzz,...);
%INCLUDE zzzzzzzz;
the text in your %LET MACKEEP statement text will be
stored in the new &MACBLDP macro variable, which is
executed by a new &MACBLDP invocation appended to the
end of the %LET MACKEEP= statement in zzzzzzzz.
- So to execute %UTILBLDP a second time in the same
data step to create a different zzzzzzzz program
(not sure that you'd ever want or need to), you
need to null MACKEEP, or set to a new value,
before each %UTILBLDP execute.
- If instead you don't want to run the zzzzzzzz code in
this step, but you want to tailor it later with %LET
MACKEEP= logic, then you must have a non-blank
&MACKEEP when you run %UTILBLDP to create zzzzzzzz,
and then you must use %LET MACBLDP= instead of the
%LET MACKEEP= statement to pass your tailoring to the
zzzzzzzz program.
%LET MACBLDP= ... your MACKEEP text ... ;
%INCLUDE zzzzzzzz;
- If MACKEEP is blank when %UTILBLDP creates zzzzzzzz
there is no &MACBLDP statement created in zzzzzzzz.
- The %UPCASEs of macro variables OUTFILE, EXPDBOUT, and
IMACKEEP was removed because unix permits mixed case
file names. (This is not an exposure under Windows,
which sees the same name regardless of the case in its
file and directory names).
- If you have specified BUILDPDB=NO, but you want the
program to contain the _EPDBOUT invocation, you can
specify EXPDBOUT= _EPDBOUT, to create that text.
A later iteration of UTILBLDP may let you put SAS
statements in its EXPDBOUT= argument.
- Several dataset sort macros for type 30 datasets were
misspelled and should have been _STY30xx.
Thanks to Scott Barry, SBBWorks, INC, USA.
Change 21.147 MXG 21.02-21.05 Change 21.062 caused variable STRTTIME in
VMXGUOW dataset PDB.ASUMUOW to be wrong, although temporary
Aug 11, 2003 internal variable TIMESTMP (which should not have been
Sep 23, 2003 kept) was correct and could be used for STRTTIME. The
variables HOLDSTRT and HOLDEND were not initialized, but
now they are, and so STRTTIME will always equal TIMESTMP.
I'd should also drop the redundant variable TIMESTMP, but
since you may have used it, I'll hae to continue to keep
both STRTTIME and TIMESTMP variables. Note: This change
was not in MXG 21.04 nor 21.05. You can correct those
versions by inserting
HOLDSTRT=TIMESTMP;
HOLDEND=TIMESTMP;
after EARLIEST=TIMESTMP;
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.146 Support for Windows 2003 Server MEMORY object, which has
VMACNTSM NRDATA=31 with one new variable added.
Aug 9, 2003
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 21.145 MXG 21.02-21.03, Change 21.090 made variable DATETIME not
ASUMCICS exist in the PDB.CICS dataset. Variable STRTTIME should
ASUMCICT be used in reports, and it was just fine. Even though
ASUMCICX variable DATETIME is a temporary variable that is created
Aug 7, 2003 inside VMXGSUM logic, and should not have been kept, it
was accidentally added to some datasets, and since some
users have used it instead of STRTTIME, it is again
created in PDB.CICS so your existing reports that still
uses DATETIME won't fail.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.144 Protection for truncated (invalid) SMF 119 subtype 7
VMAC119 record with offsets for 32760 bytes of data, but the
Aug 6, 2003 maximum SMF data bytes are 32756. This invalid SMF
record caused INPUT STATEMENT EXCEEDED RECORD LENGTH
error condition. There either is, or will be, an APAR to
correct the SMF 119 record, but this type of bad record
is now recognized and the last segment is not input.
Thanks to Dan Doan, Verizon, USA.
Change 21.143 Support for HMF Release 2.7 (INCOMPAT) changed the
EXTYHMFW subtype 29 and 30 records, and added subtype 32 and 33
EXTYHMFX that create new TYPEHMFW and TYPEHMFX datasets.
IMACHMF See Change 22.162, which corrected this change.
VMACHMF
VMXGINIT
Aug 6, 2003
Thanks to John Mitchell, IBM Global Services, USA.
Change 21.142 SMF 118 TCP Statistics TYPETCPS dataset values are not
VMACTCP interval values, like in the other TYPETCPx datasets.
Aug 6, 2003 The _STYTCPS dataset sort macro is revised to sort and
deaccumulate the TYPETCPS variables. And to ensure you
don't overlook this need, the _STYTCPS dataset sort macro
is added in the TYPETCP member; if you have added TCP
processing to your BUILDPDB and have added either _STCP
(to sort all dataset) or at least the one _STYTCPS sort
macro, then your BUILDPDB-built TYPETCPS data will
contain legitimate interval values.
Thanks to Brian Crow, BT, ENGLAND.
Change 21.141 With S390/R2.10 on z990 processors, CPU NOT IN TABLE
FORMATS message for CPUTYPE=2084 is printed; R2.10 does not
Aug 6, 2003 contain SMF70CPA, so MXG must use a table lookup in the
Aug 17, 2003 $MG070CP format table. The message only impacts the
CECSUSEC and MSU variables, and is eliminated by adding
the new CPUTYPE and CPCMODEL to the format. The $MG070CP
has been updated for the CPCMODEL=307. 17Aug03: FORMATS
updated for all 2084's by Al.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Al Sherkow, I/S Management Strategies, Ltd., USA.
Change 21.140 -Dataset PDB.DB2GBPST DB2 Global Buffer Pool has always
VMACDB2 had correct values for the QBGLxxx variables for each
Aug 6, 2003 Global pool, but the summarization of those data into the
Aug 24, 2003 QBGLxxx variables in PDB.DB2STATS was never right. MXG
summed those variables by interval as SMF data was read,
but that logic can never work because the data is
accumulated by buffer pool within each interval. Since
those variables in PDB.DB2STATS have never been valid,
all QBGLxxx variables were removed from both PDB.DB2STAT1
and PDB.DB2STATS datasets.
-Dataset PDB.DB2STATB DB2 Buffer Pool has always had
correct values for the QBSTxxx variables for each of the
buffer pools, but their sum in PDB.DB2STATS into the four
QB1Txxx/QB2Txxx/QB3Txxx/QB4Txxx variable sets were only
correct when there was only one buffer pool in a variable
set. Those variables are no longer created in DB2STAT1
during SMF read, but are created by summarization of the
PDB.DB2STATB dataset after it as been built by the
_SDB2STB macro in SUMSTATB temp dataset that is then
merged in _SDB2STS macro to add those variables back into
PDB.DB2STATS.
-Some old variables that have not existed for several DB2
versions were going to be dropped, but their absence
caused TRNDDB2S/MNTHDB2S to die with VARIABLE NOT FOUND
errors, so they are added back in, but are always missing
value:
QBnTBPX QBnTPFDC QBnTPID QBnTPWU QBnTSWU QBnTWMAX.
-B3HITRAT had negative value, due to QBnTxxx errors.
-To document in one place, the four buffer sets are:
QB1T=BP0 QB2T=BP1 QB3T=BP2-49 (other 4K)
QB4T=BP80-89 (32K) BP100-109 (16K) BP120-129 (8K)
-And in DB2 V7.1, data for a buffer pool can just stop,
perhaps when a pool is no longer used, and that caused
MXG's deaccumulation logic to require refinement.
Thanks to Sim Williams, Fidelity, USA.
Change 21.139 -Variable SU_SEC was missing in the optional TYPE6ENH
ASUMPRTR dataset with Goal Mode; TYPE72GO was added to the SET
Aug 5, 2003 statement to populate SU_SEC.
-The second ELSE THRUPUT=.; is now ELSE PCTAFP=.;
Thanks to Diane Eppestine, SBC, USA.
Change 21.138 Change 20.069 created new variables, but added them to
VMAC7072 the wrong KEEP= list. These variables:
Aug 4, 2003 R723RAPP R723RW01 R723RW02 R723RW03 R723RW04 R723RW05
R723RWRR R723RWRT R723RWST
are now relocated to the MACRO _VTY72DL's KEEP list for
the TYPE72DL datasets, instead of TYPE72SC's list.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 21.137 ASMTAPES enhancement detects Allocation Recovery of tape
ASMTAPES devices, creates new SMF subtype to record which job was
EXTMNTAR delayed for how long and which tape devices, real or
IMACTMNT virtual, were unavailable for allocation. The new subtype
VMACTMNT creates observations in new dataset TYPETARC.
VMXGINIT The MXG Allocation Recovery Monitor, "ARCV", feature of
Aug 4, 2003 the MXG Tape Mount and Tape Allocation Monitor is created
Oct 23, 2003 as a sub-task of the MXGTMNT monitor's main task. ARCV's
purpose in life is to establish, under Main Console
Services, an Extended MCS console whose purpose is to
look at those specific console messages that are related
to device allocation recovery. When an allocation
recovery event starts, information related to that event
is maintained for the duration of the event. When the
event concludes (device allocated or request cancelled),
an SMF record containing information about the event is
written.
This feature is implemented as a separate subtask within
the existing MXGTMNT address space, both for isolation
from the current functionality, and to exploit MVS
multiprocessing.
The "ARCV" function can be enabled in the ASMTAPES source
before assembly with the DOARCV flag (default is
ARCV=NO), or the ARCV=YES/NO can be specified in a PARM=
or via a Modify operator command, so it can be enabled or
disabled at any time without having to restart the
MXGTMNT address space.
To clean out ASUMTAPES codewebs that were there only for
seriously-old-releases of MVS, ML-29 eliminated exposures
in archaic code by eliminating the archaic code; ML-29 of
ASMTAPES now requires a minimum OS level of OS/390 2.8.
Six sites have had ML-29 for several weeks and none have
reported any failures, but then none have reported they
have tested it yet, either. 22Aug03.
Oct 23: Just discovered that ASMTAPES in MXG 21.04 and
MXG 21.05 did NOT contain ML-29 version. Now
it does.
Change 21.136 NTSMF dataset SMTPSERV, Windows 2000 and later, didn't
VMACNTSM input CATQUELN, causing the subsequent 85 variables to be
Aug 1, 2003 incorrect.
And with test data, I found that these variables
BYTESRCV BYTESSNT BYTETOTL CONNERRS CONNINBD
CONNOUBD MSBYSRCV MSBYSSNT MSBYTOTL MSGRCVD
MSGSENT MSGTOTS
are accumulated values, rather than interval values; the
_SNTSMTP sort macro now does the deaccumulation of those
variables. (Others variables may also need to be
deaccumulated, but only when I have non-zero data values
can I determine what needs to be deaccum'd.) And the
Instance Name is only one character long in the NTSMF
record - being investigated by NTSMF.
Thanks to Xiaobo Xhang, ISO, USA.
Change 21.135 Sample daily reporting from StorageTek SMF (TYPESTC) and
ANALSTC MXGTMNT (TYPETMNT) datasets to track STK Virtual Tape
Aug 1, 2003 activity. Documented in comments in the member. Note
that all of the internal timestamps in the STC records
are on GMT; you may need to enable VMXGTIME to set the
GMT times back to local time zone before running these
reports.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.134 ASG-TMON V2.2 only.
VMACTMO2 Dataset MONITASK, variables NETSNAME UOWID and UOWTIME
Jul 31, 2003 were incorrectly input, and TALOUOWID was not input at
all. Only critical if you use ASUMUOWT to create
PDB.ASUMUOW from MONITASK data.
Dataset MONIUTG, variable TAUTGICT was not input, and
variable TAUTSTIM has been removed, since it does not
exist.
Thanks to Shantha Hallett, CGEY, ENGLAND.
====== Changes thru 21.133 were in MXG 21.03 dated Jul 28, 2003=========
Change 21.133 Support for NDM Release 4.3 has been tested with most
VMACNDM existing subtypes, but only partial documentation has
Jul 26, 2003 been found. New subtypes exist and are protected, but
until users require the new subtypes, and their DSECTS
are located, the new subtypes are skipped. See the
comments in member VMACNDM as to status of individual
NDM subtypes.
Thanks to Thomas Heitlinger, FICUCIA Karlshruhe, GERMANY.
Change 21.132 Tailoring MXG to only create some datasets can cause
ADOCDB2 ERROR: NO DATA SET OPEN TO LOOK UP VARIABLES
DOCMXG which is the result of trying to PROC SORT a dataset that
Jul 25, 2003 doesn't exist. This can happen even when you use _Nxxxx
"product null" macro to null out all datasets, redefine a
_Wdddddd "work dataset" macro for each one you want, and
redefine the _Sxxxx "product sort" macro to list only the
_Sdddddd "dataset sort" macros for those datasets that
you created: if a later part of your job has an _Sdddddd
macro invoked.
Most MXG programs use the _Sxxxx product macro, but
there are some cases where the individual _Sdddddd
macro is invoked, and the SAS/ITSV "BUILDPDB" job
invokes several _Sdddddd members, because they were
created in MXG before the more-recent _Sxxxx product
sort macro was created.
The _Nxxxx,_Sxxxx,_Sdddddd etc macros are documented
in the DOCMXG member.
This example for either MXG or ITSV will keep only the
DB2ACCT.DB2ACCT and PDB.DB2STATS datasets.
Mar 4, 2004: The earlier example, below, was replaced.
See the text of Change 22.020.
//SYSIN DD *
%LET PDB2ACC=DB2ACCT;
%LET PDB2ST0=WORK;
%LET PDB2ST1=WORK;
%LET PDB2STB=WORK;
%LET MACKEEP=
%QUOTE(
_NDB2
MACRO _WDB2ACC _LDB2ACC %
MACRO _WDB2ST0 DB2STAT0 %
MACRO _WDB2ST1 DB2STAT1 %
MACRO _WDB2STB DB2STATB %
MACRO _SDB2 _SDB2STB _SDB2STS %
MACRO _SDB2ACP %
MACRO _SDB2ACB %
MACRO _SDB2ACG %
MACRO _SDB2PAT %
MACRO _SDB2ST2 %
MACRO _SDB2STR %
MACRO _SDB2PST % );
%INCLUDE SOURCLIB(TYPSDB2);
RUN;
Thanks to Chrisa Neven, KBC, BELGIUM.
Change 21.131 The value in SAS macro variable &SYSSCP is the operating
VMXGINIT system of this execution, and it returns "OS", "CMS", or
VMXGGETM "others" (listed in comments in VMXGINIT). MXG copies
VMXGTAPE &SYSSCP into &OPSYS, and tests for "OS", "CMS", or ELSE,
VMXGVTOC creating different code on different execution platforms.
VMXGTAPE I was misinformed that SAS had changed values of &SYSSCP,
VMXGSUM and in revising my code, found inconsistent testing for
VMXGDSNL both &OPSYS and &SYSSCP, so all logic now uses only the
VMXGDEL MXG-created &OPSYS macro variable, whose value is set in
VMACVMXA VMXGINIT. Then my mis-informant RTFM and discovered that
VMACVMON it was not the macro &SYSSCP, but instead macro &SYSSCPL
VMACUNIK that SAS changed ("MVS" became "OS/390" or "z/OS", with a
VMACTPF lower case z!), but MXG never uses &SYSSCPL, so this
VMACTAND change was not actually required. But consistent coding
VMACOPC is the end result, and I consider the time well spent.
VMACMVCI
VMACEREP
VMACDCOL See SAS Notes SN/004/004358, SN/006/006346 on &SYSSCPL.
VAXPDS Note: If you did want to test &SYSSCPL for that new
UTILBLDP "z/OS" value, in macro language, the syntax is
PRINTNL %IF %QUOTE(%UPCASE(&SYSSCPL)) EQ %QUOTE(Z/OS) %THEN ..
GRAFWRKX
BLDNTPDB
ANALDB2R
ANALCISH
VMXGRMFI
Jul 24, 2003
Change 21.130 Support for APAR OW56656 for RMF for z990 family adds
VMAC7072 variables to existing datasets:
VMAC73 - TYPE70X2 dataset
VMAC74 R7024EN /*NUMBER OF*CRYPTO*ENGINES*/
VMAC78 - TYPE73 dataset
VMAC79 SMF73CSS /*CHANNEL*SUBSYSTEM*ID*/
Jul 23, 2003 SMF73SFL has new bit 2 value
Hardware Allows Multiple Channel Subsystems
SMF73FG4, MXG variable CHANINDY, has new bit 5 value
Chan Characteristics Changed in Interval
- TYPE74 dataset
SMF74ENF (not kept, has new bit 0 "Extended Mode")
- TYPE78 dataset
R783GFLG MXG variable IOPIFLG has new bit 6 value
Initial-Command-Response measure supported
- TYPE78CU dataset new variables:
R783CBTM='CU BUSY*TIME FOR*DCM MANAGED*CHANS'
R783CMRM='CMR*TIME FOR*DCM MANAGED*CHANS'
R783SBSM='SWITCH*BUSY COUNTS*FOR DCM*MANAGED'
R783CSST='CHANNEL*SUBSYSTEM*WAIT*TIME'
- TYPE78CF dataset new variables:
R783CBT ='CU BUSY*DELAY TIME'
R783CMR ='INITIAL*COMMAND*RESPONSE*TIME'
R783CPXF='CHANNEL*PATH*EXTENDED*FLAGS'
R783SBS ='SWITCH*BUSY*COUNTS*ALL PARTITIONS'
- TYPE799 dataset
R799CNX - new bit 3 value.
- TYPE79C dataset
R79FLAG - new bit 5 value.
New variable:
R79CCSS ='CHANNEL*SUBSYSTEM*ID'
R79CFG3 - new bit 5 value.
- TYPE79E dataset
IOPIFLG (R79EGFLG) new bit 6 value.
New Variables:
R79ECBT ='CU BUSY*DELAY*TIME'
R79ECMR ='CMR*TIME'
R79ESBS ='SWITCH*BUSY*COUNT'
R79ECPXF='CHANNEL*PATH*EXTENDED*FLAGS'
R79ECBTM='CU BUSY*DELAY*TIME'
R79ECMRM='CMR*TIME'
R79ESBSM='SWITCH*BUSY*COUNT'
R79ECSST='CHANNEL*SUBSYSTEM*WAIT*TIME'
Change 21.129 Support for ASG-Landmark's TMON for MQ-Series creates
EXTMQQC these new MXG datasets from the TMMQIN infile:
EXTMQQE Dataset Description
EXTMQQH TMMQQC CHANNEL STATISTICS
EXTMQQMA TMMQQE EVENT
EXTMQQMB TMMQQH DEAD LETTER QUEUE (DLQ) PROCESSOR ACTIVITY
EXTMQQMD TMMQQMA QUEUE MANAGER - ASID DATA
EXTMQQML TMMQQMB QUEUE MANAGER - BUFFER MANAGER
EXTMQQMM TMMQQMD QUEUE MANAGER - DATA DATA
EXTMQQS TMMQQML QUEUE MANAGER - LOG MANAGER
EXTMQQT TMMQQMM QUEUE MANAGER - MESSAGE MANAGER
EXTMQQU TMMQQS PAGE SET STATISTICS
EXTMQQV TMMQQT THREAD INTERVAL
EXTMQQX TMMQQU QUEUE STATISTICS INTERVAL
IMACTMMQ TMMQQV DLQ PROCESSOR ACTIVITY SUMMARY
TYPETMMQ TMMQQX EXCEPTION
TYPSTMMQ
VMACTMMQ
VMXGINIT
Jul 23, 2003
Change 21.128 If you used UTILEXCL (for CICS Excluded Fields) to create
IMACEXCL an IMACEXCL member, or if you tailored the MXG IMACEXCL
UTILEXCL member, variables SC24CHWM and SC31CHWM were wrongly
Jul 23, 2003 divided by 4 million (4E06 in floating point syntax),
and variables SC23COCC and SC31COCC were wrongly not
divided by 4E06. Using the un-modified VMAC110 produced
correct values for all four variables.
Thanks to Art Cuneo, BlueCross Blue Shield of Illinois, USA.
Change 21.127 The INFILE SMF statement has FILENAME=INFILENM added, and
VMACSMF LENGTH INFILENM $64; so that INFILENM will contain the
Jul 21, 2003 MVS DSNAME or the ascii directory/filename of the input
SMF file that is being read. INFILENM is NOT kept in any
MXG datasets, but is available as each record is read,
and could be used to track what DSNAMEs have been read.
Although MVS DSN is only $44, I picked $64 because of the
typical size of ascii directory and filenames.
Thanks to Dr. Alexander Raeder, Karstat AG, GERMANY.
Change 21.126 TYPE74CA variable R745DCIR is now reserved; variables
VMAC74 R745CUID (from "CO" segment) and R745DCID (from "DO")
Jul 21, 2003 are documented by IBM as "Control Unit ID", but when
only two unique values ('1B'x=2105s and '15'x=3390-6s)
were found in RMF data, IBM was queried and confirmed
that the fields actually contain a unique code for the
cache controller type; IBM documentation will be revised.
Variable R745DCID is now formatted HEX2.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.125 You can now map different SRVCLASS from different SYSTEM
VMXGRMFI or SYSPLEXes into a single workload in PDB.RMFINTRV.
Jul 22, 2003 You use two WORKnn statements, with different nn values,
but with the same first two arguments (workload name,
label text), and then the SYSTEM or SYSPLEX arguments
control which SRVCLASS observations from TYPE72/TYPE72GO
are included in this workload name. For example
WORK01=TSOP/TSO Prod//TSOPROD/2//PLEXA,
WORK02=TSO/TSO//TSO/2//PLEXA,
WORK03=TSO/TSO//TSOPROD/2/PLEXB,
would create two workloads, TSO containing SRVCLASS
TSOPROD from PLEXA, and TSOP containing SRVCLASS TSO from
PLEXA and SRVCLASS TSOPROD from PLEXB.
Because PERIODS=2 is specified, the "PERIODS" response
variables for two periods will be created for each
of these workloads, comprising these variables:
TSOP1RSP TSOP1SWP TSOP1TRN
TSOP2RSP TSOP2SWP TSOP2TRN
TSO1RSP TSO1SWP TSO1TRN
TSO2RSP TSO2SWP TSO2TRN
In addition, because the workload name starts with TSO,
the "TSO" response variables for the entire system:
TRIVRESP TSO2RESP TSO3RESP TSO4RESP
TRIVTRAN TSO2TRAN TSO3TRAN TSO4TRAN
TRIVSWAP TSO2SWAP TSO3SWAP TSO4SWAP
(Note: Previously, only the workload 'TSO' exactly was
in these "TSO" response variables, but now, all
workloads with XXXX starting with "TSO" are
included in the "TSO" response variables, and
you can use the "PERIODS" response variable for
the individual TSO workloads if more than one.
The comments documenting the VMXGRMFI arguments was also
revised by this change.
Note: To use these enhancements, you MUST execute MXG
with SAS Version 8.2 or later.
Thanks to Shirley Fung, HSBC, HONG KONG.
Change 21.124 Support for EntireX user SMF accounting EXXACTR record
EXENTIRX creates ENTIREX dataset.
FORMATS
IMACENTX
TYPEENTX
TYPSENTX
VMACENTX
VMXGINIT
Jul 18, 2003
Thanks to John Cousins, Bristol City Council, ENGLAND.
Change 21.123 Non-duplicate TYPE6156 records were deleted by the NODUP
VMAC6156 in MXG's PROC SORT, because all of the kept variables in
Jul 17, 2003 TYPE6156 were identical. However, the two records were
different, only in the catalog segment E3 (TRUENAME), and
one record was for Data, the other for Index, so variable
TRUETYPE and TRUEDSN are now decoded from the 'E3'x data,
and are kept in TYPE6156, and are added to the _BTY6156
by list, so the non-duplicate records are not duplicates
any more.
Thanks to Art Cuneo, BlueCross Blue Shield of Illinois, USA.
Change 21.122 The +58 in Volume Record from MVSRECLV=01 RMM records
VMACEDGS was changed to +122 by Change 19.284, but now records
Jul 16, 2003 have been found with MVSRECLV=01 that still have only
+58 bytes to skip between MVDCRSID and MVDSN1L, and
I can find no flag that indicates how many bytes need to
be skipped. Using +122 with +58 record causes STOPOVER,
while using +58 with +122 causes no error (and only the
variables listed in Change 19.284 to be in error), so I
have changed the default back to +58, and have created
a new "old-style" MACRO _LNEDGS +58 % in VMACEDGS
that can be changed externally, if you have +122 records,
by inserting this statement as your first //SYSIN DD *:
%LET MACEDGS= MACRO _LNEDGS +122 % ;
Thanks to Jim Bentley, AHOLD Information Services, USA.
Change 21.121 DB2 Trace IFCID=21 variable QW0021GS, input as $CHAR4.,
VMAC102 should have been variable QW0021GF, input as $CHAR1., and
Jul 14, 2003 variable QW0021CS should have been input as $CHAR1. Both
QW0021CS and QW0021GF are now formatted $HEX2. and
variable QW0021GS is no longer kept in T102S021 dataset.
-IFCIDs 251 and 257 internal QW0251xx and QW0257xx are now
input, formatted, and kept.
Thanks to Richard Link, BlueCross BlueShield of Illinois, USA.
Change 21.120 Condition Code variable NDMSCC is a character variable
VMACNDM with $HEX8. format, so it prints '00000000' for a zero
Jul 14, 2003 and '00000008' for an 8, but that is messy for testing,
so new variable NDMSCCNR, a numeric variable, is added to
the NDM datasets that actually contain condition code:
AE CH CT DP DT FP GF MC RJ RT PS PT SI WO
and is created with NDMSCCNR=INPUT(NDMSCC, &PIB.4.);
Variable NDMSCC was incorrectly kept in these datasets:
CE CI FI GO IF NL PI SB TI TP
that do not contain it, so it was removed from them.
Thanks to George Canning, Abbey National, ENGLAND.
Change 21.119 One debugging "PUT" statement should have been removed,
TYPETHST and the second one commented out.
TYPSTHST
Jul 11, 2003
Change 21.118 Support for AS/400 TCP and TCPIEF objects create two new
EXQAPTCP datasets:
EXQAPIFC dddddd dataset contents
IMACQACS QAPTCP QAPMTCP TCP Statistics
VMACQACS QAPIFC QAPMIFC TCP-IFC Statistics
VMXGINIT
Jul 11, 2003
Jul 23, 2003
Thanks to Roger Zimmerman, Hewitt, USA.
Change 21.117 Support for MainView for CICS 5.6 CMRDETL file (INCOMPAT)
VMACMVCI required changes to the T6ECPRID NE 'F4'x tests to GE as
Jul 10, 2003 the new version has T6ECPRID='F5'x. There are a few new
Jul 16, 2003 variables that were added to the datafile, including the
Jul 17, 2003 GMT Time Zone offset, MVCVTTZ. So with this change:
Variables STARTIME,ENDTIME,T6ETKSTR and T6ETKSTO are
now converted to Local Time Zone; previously, they were
in the GMT time zone. Fortunatly, if you were using
datetime variables CMRLBEGN or CMRLENDT in reports,
the have always been on the local time zone.
-A number of duration variables were not formatted with
TIME12.2; all now are.
-Variable T6EUCPUT was incorrectly read as PIB8; it is a
pair of time and count PIB4 fields, T6EUCPUT & T6EUCPUC.
Variable T6EUCPUT is now identical to existing T6ECPUR,
and T6EUCPUC counts CPU dispatches.
-File data is now correct; the file offset is now used to
locate the file data.
Thanks to Udo Froehling, Signal-Iduna, GERMANY.
Thanks to Reinhold Lehmann, Signal-Iduna, GERMANY.
Change 21.116 Major revisions to AIX PTX support. The original TYPEAIX
EXAIXCPN member read the "SpreadSheet" format and created only the
EXAIXDSK AIXPTX interval dataset, with cryptic variable names and
EXAIXFS "room" for only 3 disk drives, etc., because that design
EXAIXFSV requires a new variable name for repeated values. The new
EXAIXINT code will continue to create AIXPTX from SpreadSheet
EXAIXIPN format (recognizable by the text "TIMESTAMP" in 2nd
EXAIXLAN record), but that format is no longer recommended and
EXAIXMEK AIXPTX will be static (i.e., will be missing data).
EXAIXMER
EXAIXMEV This re-design reads the "comma" PTX output format (has
EXAIXPRO text "TIME=" in 2nd and following records), and creates
EXAIXPSP multiple datasets, properly supporting an unlimited
EXAIXPSP number of disks, lans, paging spaces, processes, etc.,
IMACAIX for objects with multiple instances per interval. New
VMACAIX AIXMEMR, AIXMEMV, and AIXMEMK provide data for the MEM
VMXGINIT Real, Virt, and Kmem records; other segments that are
Jul 9, 2003 written once per interval (CPU, PAGSP, PROC, SYSCALL and
SYSIO, at present) are output in AIXINTRV dataset.
DDDDDD MXG MXG
DATASET DATASET DATASET
SUFFIX NAME LABEL
AIXDSK AIXDSK AIX DISK DATA
AIXFS AIXFS AIX FS DATA
AIXFSV AIXFSV AIX FS VOLUME GROUP DATA
AIXLAN AIXLAN AIX LAN DATA
AIXCPN AIXCPUNR AIX CPU/CPUNUMBR DATA
AIXIPN AIXIPNET AIX IP/NETIF DATA
AIXMER AIXMEMR AIX MEM/REAL DATA
AIXMEV AIXMEMV AIX MEM/REAL DATA
AIXMEK AIXMEMK AIX MEM/KMEM DATA
AIXPSP AIXPAGSP AIX PAGESP/PAGESPAC DATA
AIXPRO AIXPROCS AIX PROC/PROCESS DATA
AIXPSP AIXPAGSP AIX PAGESP/PAGESPAC DATA
AIXINT AIXINTRV AIX INTERVAL DATA
(CPU/PAGSP/PROC/SYSCALL/SYSIO)
AIXPTX AIXPTX ARCHAIC "SPREADSHEET ONLY" INTERVAL
Some data appears to be completely destroyed when names
(process, file system, cpu number) are to long to fit in
the output file's LRECL; other data is ambiguous when the
three variables CPUACC, CPUMS, and CPUPCT are all trunc'd
to two positions of 'CP' in the PROC/CPUNUMBR records!
There are additional data (ICP/AREA, IP/ROUTING, IP/=,
TCP/=, UDP/=, RPC/CLSERV, NFS/SERV, and RTIME) that will
be supported (and create more datasets) when test data is
received to validate those data.
"INVALID OBJECT" messages with numbers for the object are
created in the PTX output file for Java processes that
have extremely long names; PTX cuts off the process name
at a specific maximum assumed length, and important info
is lost in the name pattern. One solution is to have the
application developer use shorter process names, but the
issue is still being investigated in Nov, 2003.
Thanks to Sam F. White, CocaCola, USA.
Thanks to C. Tim Browning, Coca-Cola Enterprises, USA.
Change 21.115 Support for APAR PQ71799 HTTP Server SMF 103 record fixes
VMAC103 errors in data, adds new variables, and adds options to
Jul 7, 2003 "separate" and "sync" SMF 103 records. See extensive
notes in the APAR text. Variables added to TYPE1032:
APLENVNM='APPLICATION*ENVIRONMENT*NAME'
CGIREQST='CGI*REQUESTS'
DNSLOKUP='DNS*LOOKUP*DIRECTIVE'
PROXYRES='PROXY*RESPONSES'
REQCOUNT='REQUEST*COUNTER'
SRVICPLG='SERVICE*PLUGINS'
SSLHANDS='SSL*HANDSHAKES'
SUBSYS ='SUBSYSTEM*NAME'
The first and last variables are also added to TYPE1031.
Change 21.114 The JCL example still had double single-quotes after each
JCLTEST6 MXG2102 that should have been a single single-quote.
JCLTEST8
Jul 7, 2003
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 21.113 -Only the first 99 service class names were examine in the
UTILRMFI VMXGRMFI parsing of its arguments, and arbitrary limit
VMXGRMFI that is now increased to 999 names in each argument list.
Jun 27, 2003 -KEEPALL=NO is now specified for the TYPE70 logic, so that
the new more-than-16-CPUs-in-TYPE70 logic in VMXGRMFI
won't fail if you read an old PDB with VMXGRMFI.
Thanks to Jay Brookover, First Citizens, USA.
Change 21.112 Variables CPUDETTM, Dependent Enclave CPU time, exists in
BUILD005 PDB.SMFINTRV, but it was not kept in PDB.STEPS, and was
BUIL3005 not summed into PDB.JOBS, until this change did so.
Jun 27, 2003
Thanks to Brenda Rabinowitz, The Prudential Insurance Co., USA.
Change 21.111 Variables GBLCACSA and GBLCAC24 should have been divided
VMAC28 by GBLSAMPL, to get their average values in NPM dataset
Jun 26, 2003 NPMVSVGB (VTAM Global Resourcesd).
Thanks to Andre D. Walker, Bank of America, USA.
Change 21.110 RMF type 78 subtype 2 "Job-Level Virtual Storage Monitor"
VMAC78 sections for "Early Address Spaces" may have invalid data
Jun 25, 2003 ('070E000000000000'x) for R782RDTM/R782RDDT, causing the
INVALID DATA FOR READTIME messages and dumps on the log.
This change adds the "??" modifier to the READTIME INPUT
to suppress the message and hex dumps, so READTIME will
still be missing, so you could identify which JOBs had
invalid values in TYPE78PA. You can identify your Early
Address Spaces by looking JOB in TYPE30_6 dataset, as it
only contains the obs for your Early ASID jobs. If you
find JOBs that are not Early ASIDs, then you probably
have CA's CA-7 Job Scheduling Product (which modifies the
read date/time of jobs under it's control) and you need
to contact CA Technical Support to correct their error.
Thanks to Josep Miquel, La Caixa, ESPAGNE.
Change 21.109 SYSTEM record with NRDATA=35 was unexpected; the record
VMACNTSM was from an NT 4.0 system with Service Pack 6, and NTSMF
Jun 25, 2003 was at PRFSENVR=2.4.4 and VERSION=2.2.2. The discovery
records show that six fields (five %total xxxxx time and
total interrupts) are repeated (just like NRDATA=32 case)
so there was no new data, just another exception now
covered!
Thanks to Xiaobo Zhang, ISO, USA.
Change 21.108 -In VMXG70PR, new variables LPnNSW for each LPAR, labeled
VMAC7072 LP1NSW ='LPAR 1*PERCENT WHEN*LPAR WAS*SOFT CAPPED'
VMXG70PR are created in PDB.ASUM70PR and PDB.ASUMCEC datasets,
Jun 26, 2003 from SMF70NSW.
-Labels for some capping-related variables were revised:
In TYPE70PR dataset:
SMF70NSW='PCT WHEN*LPAR WAS SOFT CAPPED*BY WLM'
In TYPE72GO dataset:
PCTDLCCA='RESOURCE*GROUP*CAPPING*DELAY*PERCENT'
PCTDLCDE='CPU*DELAY*PERCENT*INCLUDES*WLM CAP'
-Labels for variables PCTLGBY and PCTLGOV were corrected
to LPAR 16 and blank variables PCTLNBY and PCTLNOV are
now labeled for LPAR 23.
Thanks to Harry Price, Florida Power and Light, USA.
Thanks to Freddie Arie, TXU, USA.
Change 21.107 Support for WebSphere APAR PQ74463 that adds CPU time to
VMAC120 SMF 120 Version 5.0 records; that APAR pointed to new SMF
Jun 24, 2003 record documentation, and I found many new fields were
added by Version 5; all are now input and kept.
Datasets: TYP120SA,TYP120SI,TYP120JC,TYP120JI,TYP120WI:
SM120CEL='WEBSPHERE*CELL*NAME'
SM120NOD='WEBSPHERE*NODE*NAME'
Datasets TYP120JC and TYP120JI:
SM120JME='EJBLOAD*INVOCATIONS'
SM120JMF='EJBLOAD*AVG*EXECUTION*TIME'
SM120JMG='EJBLOAD*MAX*EXECUTION*TIME'
SM120JMH='EJBSTORE*INVOCATIONS'
SM120JMI='EJBSTORE*AVG*EXECUTION*TIME'
SM120JMJ='EJBSTORE*MAX*EXECUTION*TIME'
SM120JMK='EJBACTIVATE*INVOCATIONS'
SM120JML='EJBACTIVATE*AVG*EXECUTION*TIME'
SM120JMM='EJBACTIVATE*MAX*EXECUTION*TIME'
SM120JMN='EJBPASSIVATE*INVOCATIONS'
SM120JMO='EJBPASSIVATE*AVG*EXECUTION*TIME'
SM120JMP='EJBPASSIVATE*MAX*EXECUTION*TIME'
SM120JMQ='AVG*CPU*TIME'
SM120JMR='MIN*CPU*TIME'
SM120JMS='MAX*CPU*TIME'
Dataset TYP120SA:
SM120WCP='TOTAL*WLM ENCLAVE*CPU TIME'
Dataset TYP120SI:
SM120TEC='TOTAL*WLM ENCLAVE*CPU TIME'
SM120NHS='HTTP*SESSIONS*EXIST*AT END'
SM120NHA='HTTP*SESSIONS*ATTACHED*AND ACTIVE'
SM120BTH='BYTES*TO SERVER*FROM ALL*CLIENTS'
SM120BFH='BYTES*FROM SERVER*TO ALL*CLIENTS'
Change 21.106 Variable ENDTIME was incorrectly converted back to GMT;
VMACWWW raw log values of: [22/Jun/2003:23:32:54 +0400] are
Jun 24, 2003 the local time followed by the delta to add to convert
to GMT, but I thought the datetime was GMT and the +0400
was the GMT offset, and so ENDTIME ended up back on GMT.
The GMT conversion code was removed so ENDTIME is on the
Local time zone; new variable GMTOFFTM is created in case
you need to convert back to GMT or to know the zone.
The above example from Eastern Daylight Savings offset
of +0400 will have GMTOFFTM= -4 hours, consistent with
all GMT offset values, normally used in conversion:
LOCAL = GMT + GMTOFFTM;
So to convert WebLob ENDTIME back to GMT, you'd use:
ENDTIME = ENDTIME - GMTOFFTM;
Thanks to Jim Agrippe, Cleveland Clinic Foundation, USA.
Change 21.105 MXG 20.20 ASUMCICS caused zero observations in PDB.CICS
ASUMCICS if the input CICSTRAN was on tape. ASUMCICS has always
ASUMCICT caused two mounts (one open to test if CICSTRAN has data,
ASUMCICX reading one record, then one open to read the data), but
Jun 25, 2003 MXG 21.02 caused the full dataset to be read twice.
All of that complexity and exposure was so that ASUMCICS
would figure out if you had IBM or Landmark CICS data to
be used to create your PDB.CICS summary dataset.
But I do not recommend that you use ASUMCICS; with MRO,
CICS creates multiple observations in CICSTRAN/MONITASK
for one "unit of work", so that a PDB.CICS built from
CICSTRAN/MONITASK won't count user transactions, and all
CPU time will be under the TRANNAME=CSMI,etc.
Instead, you should have been using the ASUMUOW member
(if you have CICSTRAN data), or the ASUMUOWT (if you
have the MONITASK data), to first create PDB.ASUMUOW
dataset (one obs per "unit of work", correct TRANNAME,
etc) and use that for your CICS response measurement.
Then include the ASUMCICX member, which used PDB.ASUMUOW
as the input to create the PDB.CICS summary dataset.
To eliminate the multiple opens and complexity, I have
made an INCOMPATIBLE change, but only if you were using
ASUMCICS to summarize Landmark's MONITASK data:
Instead of using ASUMCICS to read MONITASK data, you
must use new ASUMCICT to create PDB.CICS from MONITASK.
If you were (wisely) using ASUMUOWT and ASUMCICX to
create your PDB.CICS from Landmark MONITASK, there is
no change required to your daily job.
To summarize what these members do after this change:
ASUMCICS - Reads only CICSTRAN, creates PDB.CICS.
ASUMCICT - Reads only MONITASK, creates PDB.CICS.
ASUMUOW - Combines CICSTRAN,DB2ACCT, creates PDB.ASUMUOW
ASUMUOWT - Combines MONITASK,DB2ACCT, creates PDB.ASUMUOW
ASUMCICX - Reads only ASUMUOW, creates PDB.CICS.
Verically: use ASUMCICS or ASUMCICT (left pair) if you
need the "old" PDB.CICS ("CSMI" tranname, segment counts)
but most sites should use one of the right pair, using
ASUMUOW/ASUMCICX for IBM, or ASUMUOWT/ASUMCICX for ASG,
to first create PDB.ASUMUOW (correct TRANNAME, counts a
unit-of-work as a transaction), and then create PDB.CICS
from that PDB.ASUMUOW data.
IBM ASG IBM IBM ASG IBM
dataset: CICSTRAN MONITASK CICSTRAN DB2 MONITASK DB2
program: ASUMCICS ASUMCICT ASUMUOW ASUMUOWT
dataset: PDB.CICS PDB.CICS PDB.ASUMUOW PDB.ASUMUOW
program: ASUMCICX ASUMCICX
dataset: PDB.CICS PDB.CICS
===wrong TRANNAME=== ====correct TRANNAME=====
==obs per CICS segment= ====obs per CICS UOW====
==not the recommended = ====the recommended=====
Thanks to Normand Poitras, IBM Global Services, CANADA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 21.104 OAM SMF type 85 records R85PVRM '130' caused STOPOVER and
VMAC85 INPUT STATEMENT EXCEEDED error condition in subtype 74
Jun 23, 2003 records. Four tests for R85PVRM GE '150' were changed
to R85PVRM GE '130' as these new records contain those
fields thought to have been added by their 1.5.0 level.
Thanks to Andreas von Imhof, Rabobank, THE NETHERLANDS.
Change 21.103 The copying of WEEK4-WEEK5, WEEK3-WEEK4, WEEK2-WEEK1 and
BLDNTPDB WEEK-WEEK2 was relocated to be just prior to building of
Jun 12, 2003 the new WEEK pdb on the first day of the week; it will
also note on the log what is being done for you.
Thanks to Terry Heim, ECOLAB, USA.
Change 21.102 STK IXFP Iceberg SMF records fix L2P00A2 and LZP00A9 are
VMACICE already supported by MXG; the fix corrects a problem with
Jun 9, 2003 records being created that were greater than 32756 bytes;
the fix creates multiple records when necessary, and has
two new count fields added, but those fields are not
needed for MXG to handle the multiple records, so there
is no change to MXG needed for those fixes.
Records with the fixes have been read and validated.
However, SNAPDUR was corrected; it has always been wrong
by a factor of ten, because the documentation had it in
"hundredths" when it is actually in milliseconds.
Thanks to Mikal W. Green, STK, USA.
====== Changes thru 21.101 were in MXG 21.02 dated Jun 9, 2003=========
Change 21.101 CICSTRAN variable CPURLSTM was not multiplied by 16 when
VMAC110 created by VMAC110 for CICS/TS 1.1 or later, but if you
Jun 9, 2003 used UTILEXCL, it correctly multiplied by 16 for all CICS
versions. VMAC110 was revised to correctly calculate the
CPURLSTM for all versions. CPURLSTM is valid CPU time and
is included in variable CPUTM; fortunately, CPURLSTM is
usually small.
Thanks to Vernon Kelly, IBM Global Services, USA.
Change 21.100 CICSTRAN variable RTYPE has two new values, 'F' and 'S',
FORMATS that are now decoded by the $MG110RT format:
Jun 9, 2003 'C'='C:TERMINAL CONVERSE'
'D'='D:USER EMP DELIVER REQUEST'
'F'='F:FREQUENCY REQUEST'
'M'='M:SEMI-PERMANENT MIRROR SUSPEND'
'S'='S:SYNCPOINT'
'T'='T:TASK TERMINATION'
Thanks to Diane Eppestine, SBC, USA.
Change 21.099 Support for ten new NDM subtypes; this is incomplete;
VMACNDM only the skeleton set of variables is created for each
Jun 8, 2003 subtype, but all of the new members and VMXGINIT macros
exist, so only VMXGNDM will likely need to be updated;
just got DSECTs and no time to write the code today.
Thanks to Peter Lines, Royal Bank of Scotland, SCOTLAND.
Change 21.098 These TYPE7204 variables that contained 'SUM OF ALL'
VMAC7072 R724ACTF /*SUM OF ALL ACTIVE FRAMES*/
Jun 8, 2003 R724IDLE /*SUM OF ALL IDLE FRAMES*/
R724SLOT /*SUM OF ALL SLOTS USED*/
R724DIV /*SUM OF ALL DIV FRAMES*/
R724FIX /*SUM OF ALL FIXED FRAMES*/
in their label are now divided by NRSAMPLE to change
their value to the more useful and expected average
value for the interval, and 'SUM OF ALL' was removed from
their labels.
These variables had correct values because MXG did divide
by NRSAMPLES, but still had 'SUM OF ALL' in their labels:
R724TSV /*SHARED PAGE VIEWS*/
R724VIN /*VALID SHARED PAGES IN CSTOR*/
R724VLC /*SHARED PAGE VALIDATIONS*/
R724GPI /*SHARED PAGEINS FROM AUX*/
which is now removed.
And these variables were correct by accident, as they had
the average value already, but MXG had 'SUM OF ALL':
R724USER &PIB.4. /*USERS*FOUND*/
R724ACTV &PIB.4. /*ACTIVE USERS*FOUND*/
so only the label was changed and no division required.
The IBM documentation in both the SMF Manual and DSECTS
are incorrect for USER and ACTV variables; it took real
RMF data to revise the code to decode the data.
Thanks to Lawrence Jermyn, Fidelity, USA.
Change 21.097 -Support for CA/TMS PDC # QI30130 which adds 4 variables:
TYPETMS5 to the TYPETMS (Volume) dataset:
VMACTMS5 COMPRES ='PCT SPACE*SAVED*DUE TO*IDRC COMPRESS'
Jun 8, 2003 CTLGCNT ='NR TIMES*DATASET WAS*UNCATALOGED'
FILPERC ='PCT OF*PHYSICAL SPACE*USED BY*FILE'
VOLPERC ='PCT OF*PHYSICAL SPACE*ON VOL*IN USE'
and adds the first 3 variables to the TYPEDSNB (file)
dataset.
-Support for TRTCH='EC'x,'ED'x decode for 3590-384T
(standard) and 3590-384X (extended length cart) 3590
devices with 384 tracks.
-Variables B1INT and B1DIS were replaced by the new fields
and no longer exist.
Thanks to Len Rugen, University of Missouri, USA.
Change 21.096 Support for GEPARMKY=001B (PRTQUEUE) creates new variable
IMAC6ESS ESSPRQUE in TYPE6 if IMAC6ESS is used to decode ESS data.
VMAC6ESS The 001B also caused INPUT STATEMENT EXCEEDED error if
Jun 6, 2003 had a tailored, earlier IMAC6ESS in your USERID.SOURCLIB.
Thanks to Reinhard Nitsch, Provinzial Versicherungen, GERMANY.
Change 21.095 -Support for six new TNG objects from NT:
EXTNT036 ACTIVE SERVER PAGES, DISTRIBUTED TRANSACTION,
EXTNT037 HTTP INDEXING SERVICE, INTERNET INFORMATION,
EXTNT038 PRINT QUEUE, and WEB SERVICE,
EXTNT039 that create NT036 thru NT041 datasets.
EXTNT040 -Support for new fields in LOGICALDISK, PHYSICALDISK,
EXTNT041 MEMORY, SYSTEM, and UDP objects.
FORMATS -Support for 1-Header record, found only in a "Monthly"
IMACTNG TNG Performance Cube.
VMACTNG
VMXGINIT
Jun 8, 2003
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
====== Changes thru 21.094 were in MXG 21.02 dated Jun 5, 2003=========
Change 21.094 Calculation of MSU4HRAV in PDB.RMFINTRV was revised. It
VMXGRMFI was incorrect in several instances: after a change in RMF
Jun 5, 2003 interval value, or after an IPL, and it was calculated
when it should not have been, notably, if there was a gap
in the data. It can still be missing when SMF70LAC is
not, and it can be different from SMF70LAC when there are
not four hours of data available to MXG.
Thanks to Frank De Bree, DEXIA, BELGIUM.
Thanks to Mark Nouwen, DEXIA, BELGIUM.
Change 21.093 PDB.ASUMUOW corrections (SYSTEM could be blank) and logic
VMXGUOW revisions more robustly handle CICS and DB2 data merge.
Jun 5, 2003 -Several variables, including QWACAJST added to SUM= list.
-Added HOLDSTRT/HOLDEND to RETAIN, and a DATA step to get
the FIRST.UOWIDCHR values, to correct an exposure that
could have caused missing STRTTIME and wrong ELAPSTM.
-Corrected LAST.UOWIDCHR logic that was assigning blanks
for the SYSTEM variable for CICS-only work.
-Moved &OUTCODE to the end of the DATA step, for safety.
-Formatted WAITTOTM as TIME12.2.
-If an OBS was SPUN, when it came back in, if any MIN/MAX
variables had been specified, the values from SPIN were
not used in the MIN/MAX calculation, but now are.
These changes were suggested with implemenation examples!
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 21.092 User records RMDS,SYNC,WYLA,WYLB,HSM,TSMO,COM,M204 might
UTILBLDP have zero obs; those products have non-standard _aaaaID
Jun 4, 2003 macro names for their SMF IDs, or they create multiple
multiple SMF records and they all require separate tests,
but only 2 of 3 places had been fully updated to protect
all of these special user records. The error only
occurred whenf %LET MACKEEP= was used.
Thanks to Scott Barry, SBBWorks, Inc, USA.
====== Changes thru 21.091 were in MXG 21.02 dated Jun 3, 2003=========
Change 21.091 A major revision of support for RMF III VSAM files.
ASMRMFV Changes to ASMRMFV in particular are to position the code
CLRMFV for future upgrades to handle more RMF III tables.
DOCLRMFV -When ENDTIME of a MINTIME interval was the same as the
Jun 3, 2003 STARTIME of the next MINTIME interval, it was incorrectly
selected. RMF III almost always has the same time for
the end of one MINTIME interval and the start of the
next. Only noticed when testing for a single minute to
be selected, but two were output.
-Parameter processing completely rewritten to be table
driven, allowing new keywords and keyword aliases to be
easily added for new table support.
-Parm keywords have shorter aliases to fit in the JCL
limit of 100 characters for a parameter. The full list
of all alias names are given in the DOCLRMFV member.
NOxxx names added to assist.
-Max LRECL=32760 (increased from incorrect LRECL=32756).
-Date selection formats expanded YYYDDD YYYDDD YYDDD YDDD
DDD DD or D.
-Time-based selection added, with FROMTIME/TOTIME= parm
and HHMM, HMM, MM, or M formats, plus FROM/TO= nn, for
relative number of days before or after today.
-ASMRMFV output reports MXG Last Change Number in output,
includes DSNAME and filtering counts, and a summary if
multiple systems are processed, min/max times, etc.
NODETAIL keyword will suppress the detail reports.
-Debugging enhancement in RMFSKIP option.
-ENC record outputs only one per enclave, correcting case
where extensive use of Enclaves caused the RMF output
record to exceed the output LRECL limit.
-An (unexpected) Table ID mismatch will cause ASMRMFV to
issue a message and then ABEND.
Changes to the CLRMFV CLIST that executes ASMRMFV:
-The changes in CLRMFV are not backwards compatible; this
version must be used with the revised ASMRMFV program.
-PARM keyword default is no PARM('-D'), equivalent to the
old default of PARM('ALL,NODVT')
-New keyword RMFSKIP(NO) to control optional debugging.
-New keyword ONECALL(YES). This allocates all RMF III
Monitor Files for an LPAR first, and then calls ASMRMFV
once to process all records from that LPAR.
(Code ONECALL(NO) to invoke ASMRMFV once for each file,
which is how it was in prior versions).
The default YES should be best for typical use; ASMRMFV
specifies FREE=CLOSE internally so that each RMF III file
is freed after it was read, and the SHR enqueue released
as soon as possible. This produced a 9-11% reduction in
elapsed and CPU time with ONECALL(YES) default.
-Allocation messages show DDNAME
-New keywords FROMTIME/TOTIME added to support time based
data selection in ASMRMFV.
A special thanks to Acxiom management for allowing this
MXG user to contribute these enhancements for others!
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 21.090 Multiple enhancements to CICS summarization:
ASUMCICS -Macro _BSUCICS is used in the BY list instead of the
ASUMCICX list of specific variables, to be consistent and in case
TRNDCICS of future changes. Aug 7: this change caused variable
TRNDCICX DATETIME to not be created in PDB.CICS in MXG 21.02-03.
Jun 3, 2003 STRTTIME, which has always been the correct variable to
Jun 4, 2003 use, was not affected. But Change 21.145 reinstated the
Aug 7, 2003 creation of variable DATETIME in PDB.CICS, so you would
not have to cange your reports to use STRTTIME.
-SHIFT and SYSTEM added to the BY list.
-Modified to carry the values used to set the buckets in
variables RESPVAL1-RESPVAL7, and comments placed around
the place to reset the values for "User Change".
-The FLOOR(IRESPTM) was removed, so that fractional values
can be used for the RESPVALn bucket values.
-ESUCICS is used to control the output of CICS dataset.
-Macro variables SUCIVAL1-SUCIVAL7 are created so that the
response buckets values can be set externally, and macro
variable SUCIINTV externalizes the summarization interval
(with HOUR as the default). The chosen interval value is
imbedded in the dataset label, while the response bucket
values are imbedded in the variable labels for RESPBKTx.
-For Trending, macro variable TRCIINTV sets the interval
default of WEEK.
Note: We generally do NOT recommend the use of ASUMCICS
and TRNDCICS, based on CICSTRAN dataset, because
CICSTRAN has an obs for each segment of an MRO
unit of work; CICSTRAN observation are incomplete:
- the TOR obs has no CPU time, but has the real
TRANNAME and LUNAME
- the AOR obs has all of the CPU time, but its
TRANNAME is 'CSMI' (the mirror transaction).
- observation counts are not transaction counts.
Instead, we recommend you include ASUMUOW first,
to create the PDB.ASUMUOW "unit of work" dataset,
which has one observation for each UOW with the
correct TRANNAME, LUNAME, CPUTM, IRESPTM, etc,
and then include ASUMCICX, which reads ASUMUOW to
create a PDB.CICS dataset that summarizes UOWs.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Thanks to Pat Curren, SuperValu Inc, USA.
Change 21.089 New MICSMXG member contains notes and comparisons from
MICSMXG users who have replaced CA's MICS with MXG Software.
Jun 2, 2003
Change 21.088 Execution under ASCII only.
ANALCISH -VMACDB2H. NETSNAME was incorrectly TRANSLATEed; the
VMACCRAY statement TRANSLATE(NETSNAME,'00'X,'40'X); needs to be
VMACDB2H TRANSLATE(NETSNAME,'00'X,' '); to execute under ASCII,
VMACEREP so that blanks (which are '20'x on ASCII) are converted
VMACSFS to hex zeroes.
VMACTMDB -All TRANSLATE() statements were examined, and these
VMACTMS5 members had similar incorrect-under-ASCII-only-syntax:
VMACTMVS VMACCRAY, VMACEREP, ANALCISH, VMACSFS, VMACTMDB,
VMACTSOM VMACTMS5, VMACTMVS, and VMACTSOM
Jun 2, 2003
Thanks to Matthew T. Chappell, Queensland Transport, AUSTRALIA.
Change 21.087 New variable MPL74 is created in the TYPE74 dataset, as
ANALFIOE MPL74=SUM(DEVCONTM,DEVDISTM)/DURATM;
VMAC74 LABEL MPL74='IO*MULTI*PROGAMMING*LEVEL'
Jun 3, 2003 an estimate of the concurrent I/Os to this device.
Jun 4, 2003
New ANALFIOE member reads TYPE73, TYPE74 and TYPE78CF to
create two new datasets:
TYPE74OE - Sums the MPL74 for each LCU from TYPE74.
TYPE73OE - The LCUs from FICON channels are selected,
and their I/O is uniformly distributed to
each CHPID in that LCU, and each CHPID's
concurrent "Open Exchange" variables are
estimated in these variables:
MPL73 ='ESTIMATED*FICON*OPEN*EXCHANGES'
IORATE ='ESTIMATED*FICON*CHANNEL*IORATE'
OEDURATM='EST*OPEN*EXCHANGE*msec per io'
The TYPE73OE is just the original TYPE73
with these variables added for FICON CHPID.
The MPL73, or "Open Exchanges" appears to be a useful
new metric for detecting saturation in FICON channels;
See http://www.perfassoc.com/publishedpapers for Pat's
"Understanding FICON Channel Path Metrics" article.
Thanks to Dr. H. Pat Artis, Performance Associates, USA.
Change 21.086 Support for IDMS Performance Monitor type 30 subtype 3.
IMACACCT In addition to the user SMF record created by PERFMON,
VGETJESN that CA product also creates SMF type 30 subtype 3
VMAC30 records at transaction end. These are very-old-format
May 30, 2003 subtype 3 that do not contain JCTJOBID nor SUBSYS (fields
SMF30JNM/SMF30WID) causing TYPETASK NOT DECODED messages.
The record has a (very old length=14) Product section,
a (very old length=124) ID Section (causing INTBTIME
to be, and which caused ITSV to error these records as
it uses INTBTIME for its DATETIME validation!), a
Completion section, and a Storage Section, but it does
not have the UREC, CPU, PERF, OPER or EXCP sections.
The record is identifiable because PRODUCT (SMF30PNM)
is 'PERFMON'.
It does have useful information about each transaction,
in the unique accounting fields, with different fields
for batch, DC/UCF, and CICS access to IDMS.
-VGETJESN recognizes PERFMON records, sets TYPETASK='STC'
and SUBSYS='PERFMON'.
-IMACACCT contains a comment block around the PERFMON code
that creates these IDMS variables from the Account field
IDMSCPTM='IDMS*TRANSACTION*CPU*TIME'
IDMSTID ='IDMS*TASK*ID*NUMBER'
IDMSACT1='IDMS*BATCH*ACCOUNT*ONE'
IDMSACT2='IDMS*BATCH*ACCOUNT*TWO'
IDMSTRN ='IDMS*ERUS*TRANSACTION*ID'
IDMSTRM ='IDMS*ERUS*TERMINAL*ID'
IDMSOPR ='IDMS*ERUS*OPERATOR*ID'
IDMSTSK ='IDMS*DC/UCF*TASK*CODE'
IDMSLTE ='IDMS*DC/UCF*LTERM'
IDMSBLG ='IDMS*DC/UCF*BILLING*GROUP'
and when you remove the comment block, those variables
will then be output in TYPE30_V, PDB.SMFINTRV, XSMFINT
datasets. IMACACCT also populates INTBTIME if it is
still missing in these PERFMON type 30 records.
-VMAC30 was updated to output the IDMS variables if they
have been created; unrelatedly, those LENACCT1-LENACCT9
variables that exist will now be output in TYPE30_V; they
should have been there all along!
Thanks to Martin Legendre, Regie des Rentes du Quebec, CANADA.
Change 21.085 Protection for 0 length records, which are not created by
VMACNTSM NTSMF product, but have been unintentionally created by
May 27, 2003 user's SAS programs that copied raw data filed. On MVS,
the records actually have length 1.
Thanks to Uriel Carrasquilla, NCCI, USA.
Change 21.084 Type 42 Subtype 8 (which is not yet documented in the SMF
VMAC42 manual) caused ERROR.VMAC42.CLLEN and hex dump of the SMF
May 23, 2003 record. The record did not contain a CL segment, but MXG
did not test NRCL to see there was no segment before it
printed the error message. However, the record was then
deleted, whereas now it is output.
Thanks to Rita Bertolo, Canadian Pacific Railway, CANADA.
Change 21.083 With either RUNWEEK=WEEK or RUNWEEK=WTD, the rolling of
BLDNTPDB weekly datasets was occurring at the wrong time, causing
May 23, 2003 weeklies with no data.
Thanks to Terry Heim, ECOLAB, USA.
Change 21.082 GPARMKY=002F segment in SMF 6 Extended ESS data is now
IMAC6ESS recognized and decoded into new variable ESSNOTFY that
VMAC6 will be kept in TYPE6 dataset (only if IMAC6ESS has been
May 19, 2003 tailored and its commment block un-commented). Some
May 23, 2003 misspellings were discovered and corrected, and all of
May 26, 2003 the $VARYING fields are now translated to $EBCDIC; a few
had been overlooked.
-GEPARMKY=002E segment decoded, ESSULIB1-ESSULIB4 for up
to four DSNAMEs of USERLIBs.
-GEPARMKY=002B, 002C decode OUTDISP NORMAL/ABNORMAL in the
ESSOUTDB and ESSOUTDC flag variables.
-GEPARMKY=001B is now correctly decoded with 001B instead
of 000B in the IF test; variable ESSUCS is expanded to
four bytes to match the size of the UCS field.
-GEPARMKY=0021 is supported in ESSPMISG flag variable.
-A 002C segment with unexpected GEPARMLN=0 was found, so
all segments are protected for a zero length, and that
segment's variables are not created.
Thanks to Reinhard Nitsch, Provinzial, GERMANY.
Thanks to Denny Wong, New York Life, USA.
Change 21.081 The Undocumented +2 bytes for alignment are after SMSMC,
VMACCTLT not after DDSPOS, which caused wrong values for BLOCKCT
May 19, 2003 and DDSCSIZE thru DDSPOS. The +2 statement was moved.
Jul 8, 2003 -The BLKSIZE field had been relocated to the end of the
Jul 25, 2003 record as a 4-byte field, but that was overlooked in the
Jul 28, 2003 MXG support - 8Jul03.
-MXG 21.02 only: CTLT Version 5 created zero observations
because it has LRECL=460; MXG logic changed to test for
... 400 LE LENGTH LE 460 ....
in two places to read V4, V5, and V6 records. 25Jul03
Thanks to Francesco Bragadin, Phoneix Spa, ITALY
Thanks to Rob Gibson, CPR, AUSTRALIA.
Change 21.080 The example JCL procedure name of MXGSASV8 is now used in
JCLMNTH place of the old MXGSAS example name, to point new users
JCLMONTH to the correct, current JCL procedure example for SAS V8.
JCLWEEK
JCLWEEKT
May 19, 2003
Thanks to Matthew Collier, Oklahoma State University, USA.
Change 21.079 SMF 80 with APPLNAME less than 8 caused INPUT STATEMENT
VMAC80A EXCEEDED in RACFTYPE=20 segment, due to hard-coded input
May 19, 2003 with $EBCDIC8. Now, the RACFDLN=7, etc is honored.
Thanks to John Grasing, MetLife, USA.
Change 21.078 The optional CA-Dispatch variables are now automatically
IMACCADI added to PDB.PRINT dataset, when you open the comment
May 14, 2003 block in your IMACCADI member. By adding a %LET ADD6= ..
statement, the BUILDPDB &ADD6 macro will be added to the
KEEP= list for PDB.PRINT dataset.
Thanks to Dan Adams, NITC, USA.
Change 21.077 Variables EXCPDASZ EXCPTAPZ IOTMDASZ IOTMTAPZ RACFUSRZ
ANALDSET SELAPSTZ STEPTIME were not initialized, sometimes causing
May 14, 2003 their counterpart variables to be incorrect.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.076 Variables QWACSPEA QWACSPEB QWACSPNE QWACSPTT for Stored
VMXGUOW Procedure activity are now included in the PDB.ASUMUOW
May 5, 2003 dataset.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.075 This TCP/IP report example was truncating leading chars
ANALTCP of Host Name, and had additional revisions.
May 2, 2003
Thanks to R. Wells, American General Finance, USA.
Change 21.074 IBM documentation for the raw units of time in RMF III's
VMACRMFV DVT table was incorrect; instead of 128 microsecond units
May 2, 2003 the fields used to calculate CONNTM, PENDTM, DISCTM,
DVBUSYTM, CUBUSYTM and SWPODLTM are in 2048 microsecond
units, so those variables are now corrected in the ZRBDVT
dataset.
Thanks to Betty Wong, Bank of America, USA.
Change 21.073 Format MGPDSTY is updated for PDSMAN Version 7.41 which
FORMATS has new value "E:EXEC', used in TYPEPDSM support.
May 2, 2003
Thanks to Rob d'Andrea, Royal Bank of Scotland, SCOTLAND.
Change 21.072 ESAMAP v2.2 caused SHORT SEGMENT errors. MXG code had
VMACXAM not been tested with that earlier release. MXG code in
May 2, 2003 XAMSYS for MTRMEM, SYTSYG, and STOASI, in XAMCPU for
SYTRSP, and in XAMDEV for CONFIG and IODDEV was revised
to read the shorter segments.
Thanks to Tony Lobley, EDS, ENGLAND.
Change 21.071 If you used %VMXGTIME/TIMEBILD to shift time zones, you
VMAC30 could have negative RDRTM, and it was possible that
May 1, 2003 ALOCTIME and/or LOADTIME could have had the wrong date.
The calculation of RDRTM was moved above the %VMXGTIME
for REND, and the logic to set dates for ALOC/LOAD times
was precedeed by %VMXGTIME with REVERSE=YES, and then all
four datetimes (INIT,TERM,ALOC,LOAD) were un-REVERSED.
Thanks to Chuck Hopf, MBNA, USA.
Change 21.070 Variable RDRETDAT should have been FORMATed DATE9., and
VMACEDGR now it is.
Apr 30, 2003
Thanks to Barry McQueen, Department of Defence, AUSTRALIA.
Change 21.069 Exit member EXUTILEX allows you to process a non-standard
EXUTILEX "User" segment (i.e., your CICS guru created a segment
UTILEXCL but did not use "USER" for the CMODNAME/CMODHEAD entries.
Apr 25, 2003 Comments in EXUTILEX show how to reset the CMODNAME/HEAD
Nov 3, 2003 values to "USER" so that MXG will generate IMACICUS call.
You will also, then, have to update IMACICUS to tell MXG
the length of data to be kept in the USERCHAR variable.
Nov 3, 2003 documentation update:
Using this EXUTILEX member solved USERCHAR always blank.
One site's Hogan data segment was named "HOGAN", and so
the IMACEXCL member created by UTILEXCL did not contain
the call to IMACICUS, where the site's code to decode the
Hogan data was located, but the UTILEXCL program didn't
see a "USER" segment, so it did not generate an include
for the IMACICUS code, so USERCHAR was always blank.
By using this (new) EXUTILEX exit, you can tell UTILEXCL
to treat your "HOGAN" segment as if it were named "USER".
An error "BY VARIABLES MUST BE IN FIRST 4096 BYTES" was
seen with SAS Version 6, but not with SAS Version 8+, so
run UTILEXCL under V8+ to be error-free.
Thanks to Michael Creech, Fidelity Information Services, USA.
Thanks to Herb Strozinsky,US Bank, USA.
Change 21.068 MXG variable VELOCIOD when I/O Priority Management is NOT
VMAC7072 enabled (i.e., R723VELI=' ') did not match IBM RMF report
Apr 24, 2003 value: MXG was including PCTDLTDQ (R723CTDQ) in the denom
but IBM's calculation does not include that value. MXG
was changed to match the IBM reports, assuming they are
correct.
Thanks to Russell Dewar, National Australia Bank, AUSTRALIA.
Change 21.067 -SYSPLEX was not in the BY list for TRNDRMFI, but now is.
VMXGRMFI -Variable PCTMVSBY is added to PDB.RMFINTRV and TRNDRMFI.
Apr 18, 2003 -In Trending logic, EXRMFINT is now invoked; without that
logic, variables dropped from RMFINTRV in EXRMFINT were
not being dropped in the TRNDRMFI dataset.
-Invoking VMXGRMFI twice, using PDB=PDB logic to create
two levels of summary (like RMFINTRV and RMFINTHR, as
suggested in comments in the original RMFINTRV member)
corrupted the SPINRMFI dataset so it did not keep enough
data for correct calculations of MSU4HRAV. The example
is revised, and the TREND logic should be used for the
second summary, to eliminate SPINRMFI corruption:
%VMXGRMFI(PDB=PDB,
OUTDATA=PDB.RMFINTRV,
INTERVAL=DURSET);
%VMXGRMFI(PDB=,TRENDIN=PDB.RMFINTRV,
TRENDOLD=,
TRENDOUT=PDB.RMFINTHR,
TRENDINT=HOUR);
%VMXGRMFI(PDB=,TRENDIN=PDB.RMFINTRV,
TRENDOLD=,
TRENDOUT=PDB.RMFINTDY,
TRENDINT=DATE);
These examples assume the IMACWORK=YES default, i.e., the
workload definitions are in your IMACWORK member. If you
instead invoke %VMXGRMFI with IMACWORK=NO and use its
WORKnn= arguments to define your PDB.RMFINTRV workloads,
then you must specify those same WORKnn= arguments when
you use the VMXGRMFI to create TREND.TRNDRMFI dataset;
otherwise, none of the extended varaibles will be in
TREND.TRNDRMFI.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 21.066 TYPSZARA was revised to copy the ZARA datasets into the
TYPSZARA PDB library; the ZARA support is unique in that it does
Apr 18, 2003 depend on the macro overrides in IMACZARA, so this was
the safest change to copy ZARAxxxx datasets into the
PDB ddname, and still preserve prior user's tailoring.
Thanks to Bob Miller, Conseco, USA.
Change 21.065 Support for servers with more than 16 CPUs or LPARs.
VMAC7072 -TYPE70 Dataset: Support for 32 engines.
VMXGRMFI The existing sets of 11 CPU-specific variables per CPUID
VMXG70PR CAIx CPUSERx CPUWAITx CPUEDTMx CPUPDTMx IORATEx
May 29, 2003 PCTCPUBYx PCTTIPx VFAFFTMx VMONx MVSWAITx
where suffix 0-9 and A-F are for CPUs 0-15, have 17 more
suffixes, G-L and N-X, for CPUs 16 thru 32 (187 vars).
Note that the suffix letter "M" had to be skipped,
because variable CPUWAITM was already defined.
Labels document which suffix is for which CPU number.
-TYPE70PR Dataset:
No change was needed for more than 16 LPARs; MXG stores
the LPARNUM in four bytes. Note, however, we recommend
you use the MXG-build PDB.ASUM70PR or PDB.ASUMCEC dataset
for your LPAR and CEC analysis, as those datasets know
how to recognize and not count LCPUs that are ICFs or
Linux partitions; if you use TYPE70PR, you'll have to
make sure you understand how to recognize what's what.
-RMFINTRV Dataset:
CPU Serial variables CPUSERG-CPUSERL and CPUSERN-CPUSERX
were added to the ID= operand for PDB.RMFINTRV dataset.
-ASUM70PR,ASUMCEC datasets (built by member ASUM70PR):
The existing sets of 22 LPAR-specific variables per LPAR
LPxNAME LPxDUR LPxUPDTM LPxUEDTM LPxMGTTM LPCTxBY
LPCTxOV PCTLxBY PCTLxOV LPxNRPRC LPxBDA LPxCAP
LPxCHG LPxDED LPxWAIT LPxSHARE LPxLAC LPxMSU
LPxMSUHR LPxMSU70 LPxONT LPxWST
where suffix 0-9 and A-G are for LPARs 0-16, have 16 more
suffixes, H-O and Q-X, for LPARs 17 thru 32 (+352 vars).
Note that the suffix letter "P" had to be skipped,
because variable CPUWAITM was already defined.
Labels document which suffix is for which LPAR number.
This was "Feature 0" or "z/OS 1.4 z990 Compatibility".
Change 21.064 Support for IMS Version 8.1:
ASMIMSL6 -BMC's IMF, Candle's ITRF, Landmark's TIMS.
VMACIMS -MXG's "Supported" TYPEIMS7 to create IMS0708 dataset
Apr 17, 2003 -MXG's ASMIMSL6/JCLIMSL6 to create IMSTRAN dataset.
May 21, 2003
-BMC's IMF, Candle's ITRF, and Landmark's TIMS products
write their own records that MXG reads, and none have
changed in their output records, so MXG 20.20+ supports
their products under all versions of IMS, including 8.1.
-MXG's "Supported" TYPEIMS7 program to create the IMS0708
dataset from 07 and 08 log records (has IMS resources by
transaction name, but no response times) does work with
IMS 8.1, but there are "INVALID DEQDATE" messages and hex
dumps printed on the job log, because IBM incompatibly
changed their 036x log record. VMACIMS has been updated
to support the non-fast-path IMS log records, and when
fast path 8.1 records are available along with DSECTS,
the VMACIMS code for them will be examined for changes.
The _IMSVERS macro default value in IMACIMS7 and
IMACIMS are left at 7.1, since some sites may be
exploiting that existing default; change to 8.1 to
process IMS Version 8.1 records.
-MXG's "pseudo-supported" ASMIMSL6 program and JCLIMSL6
examples work just fine with IMS Version 8.1 records, as
they do with IMS Version 7.1 records, but you must first
re-assemble the ASMIMSL6 assembly program using the IMS
Version 8.1 macro library to create the V 8.1 program,
and you must run separate JCLIMSLx jobs to process the
V7.1 and V8.1 data separately; you cannot concatenate
the IMS logs from two versions and read with JCLIMSLx.
MXG 20.03 contained the last change to this support.
-Log record 31x with PSTNUMBR=0 are output in IMS31O in
VMACIMS logic, and a FLAG2 test added for log record 36x.
Thanks to Jiann-Shiun Huang, CIGNA, USA.
Change 21.063 NTSMF 2.4.5 new 0.10 record INPUT STATEMENT EXCEEDED due
VMACNTSM to NRTRIPLT=1 but no triplets in that record. Error is
Apr 16, 2003 circumvented by inserting a statement
IF OID=0 AND OBJECT NOT IN ('0','1') THEN DELETE;
before the test for the NRTRIPLT input statement.
Thanks to Roger Zimmerman, Hewitt Associates, USA.
Change 21.062 MXG 20.07 thru 21.01 may have filled SPIN.SPINUOW with
FIXASUOW many observations that should not have been spun. Change
JCLUOWP 20.221 did not expect cases when the DB2ACCT ending time
JCLUOWV stamp was after the CICS end time, which caused TRANNAME
VMXGUOW to be blank, causing that observation to be "spun". And
Apr 15, 2003 because TRANNAME is now blank (and we will most likely
never see another record for that unit of work) that
record will spin up for 7 days (default in SPINUOW), and
that increased the size of SPIN.SPINUOW. This change
now uses a forward sequence of the Start Time to put all
the CICS and DB2 pieces together, and is not dependent on
the end times.
-If you wish to preserve the "spining" records currently
in your SPIN.SPINUOW dataset, member FIXASUOW can be used
to create a revised SPIN.SPINUOW dataset that can then be
used with the revised VMXGUOW to create the corrected
PDB.ASUMUOW. That first execution will "clean out" many
of the spinning transactions that should not have been
spun in the first place. Or, you can just delete your
existing SPIN.SPINUOW and start fresh with the new code.
-VMXGUOW has a new parmeter, TRACEUOW=YES (Default NO) to
trace the UOW chain for diagnostic purposes (printing
lots and lots of messages on the log).
Thanks to Alfred Nardi, CMX Group, USA.
Change 21.061 Dataset T102S196 was never fully decoded, but now is, for
FORMATS V6 and V7. An observation is created for each holder of
VMAC102 this lock that caused a timeout for the "victim". This
Apr 9, 2003 "victim" is identified in QWHCxxxx & QWHSxxxx variables.
Apr 14, 2003 The lock is identified in QW0196RH/RL/FR/KD/KP/K1-K7/WU
/WS/WD/WF/TI and QW0196TC variables; those QWHC, QWHS, &
QW0196xx variables repeat in subsequent observations if
there was more than one holder (QW0196NU counts holders)
segment in an SMF record. The identity of the holder(s)
are in the three sets of variables QW0196Hx, QW1196Hx, &
QW21196Hx for up to 3 holders of the lock. More than 3
holder prints a note.
-MGD044K format was expanded for new values.
Thanks to Ron Alterman, Charles Schwab, USA.
Change 21.060 The row between 16M-2G was added to the Paging Report;
ANALRMFR this row shows values only if your system is running in
Apr 6, 2003 ESAME mode; in ESA mode, the row will show 'N/A'.
The Channel report READ(MB/SEC) and WRITE(MB/SEC) values
in the IBM report are incorrect: IBM code divides the raw
byte values by 1000*1000 to print as MegaBytes, but they
should have used 1024*1024 to convert; the IBM values are
about 5% too high.
Thanks to David Kellerman, ADP, USA.
Change 21.059 -Type 74 Subtype 4 Structure data (TYPE74ST) has several
FORMATS fields thate were negative, because IBM documented them
VMAC74 as floating point, but they contained binary data. The
Apr 9, 2003 variables R744SPST,SPSS,SRST,SRSS,SCST,R744SCSS are now
Apr 22, 2003 correctly input as binary, and R744SLSV as TODSTAMP8.
Apr 24, 2003 -Some (but not all) observations in TYPE74ST had missing
values for R744QSIZ, when there were a large number of
structures. The QSIZ (SMF744QN) segments are written at
the beginning of one physical physical record, followed
by as many SSIZ segments that can fit in that record,
but additional SSIZ segments are in a separate physical
record. Those additional SSIZ elements had missing QSIZ.
By retaining the QSIZ array and storing the number of
elements, the subsequent SSIZ segments are now populated
with their QSIZ values.
-But R744QSIZ will only be non-missing in records from the
one system in a sysplex that "owns" the Coupling Facility
i.e., the "Sysplex Master" system. This is now discussed
in IBM Information APAR II13172, which applies to both
the RMF III data and the RMF 74 subtype 4 QSIZ segments.
-Variable R744QFLG is now decoded by new $MG074QF format,
which includes '00X: NOT SYSPLEX MASTER, NO QSIZ' value
for TYPE74ST observations from non-master systems, and
obs with R744QFLG='00'X will also have R744QSIZ missing.
Thanks to Coen Wessels, Unicible, SWITZERLAND.
Change 21.058 Support for APAR OW54347 adds Command-Response (CMR) time
VMAC74 to RMF records and RMF Device Activity Reports, and sets
VMAC79 the existing Director Port Busy (DBP) and Control Unit
Apr 6, 2003 Busy (CUB) Delay fields to zero in SMF 74 and 79 records.
Apr 29, 2003 The CMR time for a start or resume function of the sub-
channel is the time needed until the device indicates it
has accepted the command; this allows distinction between
real hardware errors versus workload spikes (contention
in the fabric and at the destination port).
-In dataset TYPE74, new variables DLYCMRTM and AVGCMRMS
are created. Variables DLYDIRTM, DLYCHATM, PCTPNDIR,
DLYCUBTM, AVGPNCUB PCTPNCUB will all be zero when this
APAR is installed. And I've assumed that DLYCMRTM should
also be subtracted from DEVPNDTM to calculate DLYOTHTM
(since DLYCUBTM and DLYDIRTM were).
-In dataset TYPE799, new variable R799CMR is created, and
variables R799DPB and R799CUB will be zero with the APAR.
-OW54347 documented that R799CMR was added at offset +92,
but the original text of APAR OW31701 had R799TMS added
at offset +92. IBM now confirms that OW31701's text was
wrong, R799CMR is at +92, and that R799TMS does not exist
in the RMF 79 record.
Thanks to Ermanno Bewrtolotti, Banca Intesa, ITALY.
Change 21.057 Format MG080QU for RACFQUAL, and format MG080TY for
FORMATS RACFTYPE are updated for new values in z/OS 1.2 and 1.4.
Apr 7, 2003
Thanks to Chuck Hopf, MBNA, USA.
Change 21.056 -Enhancements to BUILDPDB/BUILDPD3. Exit member EXPDBSPJ
BUILD005 and old-style macro _EPDBSPJ are created so that local
BUIL3005 variables can be added to the PDB.SPUNJOBS dataset.
EXPDBSPJ -Variable DATETIME (Start of Shift, equal to INTBTIME) is
SPUNJOBS added to PDB.SMFINTRV for consistency.
Apr 4, 2003 -Variables SMF6LPGE and DOCLENFT are added to PDB.PRINT,
and those variables plus PAGECNT are summed into the
PDB.JOBS and the PDB.SPUNJOBS datasets.
Thanks to Scott Barry, SBBWorks, USA.
Change 21.055 Support for FACOM SMF records 116 caused JCLTEST8 to fail
VMACAIM6 when ID=116 MQ Series records were in your test SMF data.
Mar 28, 2003 To avoid conflict, FACOM support was changed to use an
_IDAIMn macro to set SMF TYPE of FACOM records, and the
default value is set to the impossible value of 512. All
FACOM users will have to redefine the appropriate macro
in their IMACKEEP member to create observations in the
FACOM datasets from the FACOM records:
FACOM Record MXG MACRO NAME
110 _IDAIM0
111 _IDAIM1
112 _IDAIM2
113 _IDAIM3
116 _IDAIM6
117 _IDAIM7
98 _IDAIMR
For example, to process the FACOM 116 record, you would
put this statement
MACRO _IDAIM6 116 %
in your IMACKEEP member.
Thanks to Mike Hoiey, Ameren Services, USA.
Change 21.054 UTILEXCL created incorrect values in KY8DISTM & KY8CPUTM;
UTILEXCL the KY8DISTM=16*KY8DISTM; after the IF CMODIDNT='263'...
Mar 28, 2003 should have been KY8CPUTM=16*KY8CPUTM;
Jun 12, 2003 -Jun 12,2003: Original change only changed the first
instance, but there was a second instance in lines after
CMODIDNT='263' that also needed to be changed.
Thanks to Steve Yucha, Aetna, USA.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Change 21.053 Support for BlackBerry Server object.
EXNTBLKB
VMACNTSM
VMXGINIT
Mar 28, 2003
Thanks to Jim Quigley, ConEd, USA.
Change 21.052 -Archaic V6 JCL example was revised to match MXGSASV8 with
MXGSAS DISP=(NEW,DELETE) per Change 20.076.
MXGSASV8 -DISP was changed to NEW,DELETE in MXGSASV9 as it should
MXGSASV9 have been in MXG 20.20
Mar 27, 2003 -The WORK DD symbolic &WORK was not in parenthesis in V8
example.
Thanks to Yao Chun Rickert, Bank One, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
====== Changes thru 21.051 were in MXG 21.01 dated Mar 24, 2003=========
Change 21.051 -Negative values for LOGNATMP & TOTANONS in WEBSERVR occur
VMACNTSM because MXG de-accumulation did not recognize a stop and
Mar 23, 2003 start of the webserver. Adding SEQCHECK=DIF(SEQNR) and
testing SEQCHECK EQ 1 now correctly deaccumulates.
-Support for SYSTEM object with 32 fields; that object has
only 26 unique fields; the last six are repeats.
-The Discovery Print macro _UNTDISC was updated to support
multiple sets of discovery records.
Thanks to Xiaobo Zhang, ISO, USA.
Change 21.050 Support for 2105 Cache Controller data in CMF User SMF
VMACCMF record adds variable CMF27MDL to dataset CMF27C93, which
Mar 21, 2003 will now contain both 2105 and 3390 observations; the
2105 observations contain CMF27MDL='20', while 3990s have
CMF27MDL='96'.
Thanks to Kevin Batty, EMC Engineering, USA.
Change 21.049 MXG Execution under unix at SAS with early ports of V9.1
AUTOEXEC suggested revisions for MXG's IEBUPDTE program, and found
IEBUPDTE a workaround for a unix SASAUTOS error that is now fixed:
Mar 21, 2003 -MXG's IEBUPDTE program (IEBUDPTE for ASCII) needed these
Apr 10, 2003 revisions to work under unix:
- LENGTH MEMBER $200; was added, as that becomes the full
member plus path name and 50 was too short as default.
- Only the PDS_MEMBER is lower cased; previously, the
full path and member were lowcased, but unix path names
can be mixed case.
- The suffix "sas" in the member is now lower case, so
that the files do not have to be re-cased.
-The OPTIONS SASAUTOS=(SOURCLIB SASAUTOS) statement in the
MXG autoexec.sas file did not correctly work under unix:
SAS Note SN-000444 - SASAUTOS fileref is not
automatically generated on unix platforms.
The SASAUTOS is required, because MXG uses the associated
MAUTOSOURCE options so that %MACROs references (%ANALDB2R
%VMXGSUM, etc) are automatically resolved. A workaround
OPTIONS SASAUTOS=(SOURCLIB,
%scan(%sysfunc(getoption(sasautos)),1,%str(())));
was added in MXG's AUTOEXEC member in MXG 21.01, which
works on both unix and Wintel SAS platforms, but in April
SAS unix developers fixed the problem, so that syntax is
not required, and was removed in MXG 21.02.
Thanks to Jan Squillace, SAS Institute, USA.
Change 21.048 INFO: CHARACTER VARIABLES DEFAULTED TO LENGTH OF 200 are
TYPEVLFC printed if OPTIONS MSGLEVEL='I' is in effect; this has
VMAC6 been documented since V6, and occurs when a character
VMAC6156 variable is defined by a function, and the variable is
VMACCTLG not in a LENGTH/ATTRIB statement (unless the function is
VMACEAGL SUBSTR - then, the length of the first argument is used).
VMACTNG The longer length has no MXG impact, but the seven cases
Mar 21, 2003 where the message was produced are now protected with the
variables now in a LENGTH statement, just to eliminate
that possibly confusing message:
Member Variable
VMAC6 - PR
VMAC6156 - SYSPAR61 (was SYSPARM, but renamed).
VMACCTLG - SYSPARCL (was SYSPARM, but renamed).
TYPEVLFC - HITPCT
VMACEAGL - IDS, MSGIDC
VMACTNG - TEXT
Thanks to Stephen Bell, Sparkassen Informatik, GERMANY.
Change 21.047 Format $MGCICCL (applied to variable A17DTTYP in dataset
VMAC119 CICFCR) adds values for K:CFDT CONTENTION MODEL and
Mar 20, 2003 L:CFDT LOCKING MODEL'.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 21.046 Support for SMF 119 APAR PQ71376, which changes TICONNID
VMAC119 and TTCONNID from $EBCDIC8 to $CHAR4 with $HEX8 format.
Mar 19, 2003 Originally the CONNID fields had jobname, which was not
unique; now they contain the unique hex Connection ID.
Variable TISUBTSK was removed; it never really existed.
Change 21.045 The (LABEL= SORTEDBY= _BYLIST) fails under Version 6, and
WEEKBLDT works fine under Version 8, but the LABEL= was not fully
Mar 18, 2003 implemented, so it can be removed if you're under V6. I
intended to have (LABEL= _LABEL SORTEDBY=_BYLIST) and
set MACRO _LABEL 'this is the dataset label' for each of
the weekly and monthly datasets, but didn't do that yet.
Thanks to Jesse Gonzalez, CSC - NASA, USA.
Change 21.044 Using R70MAX to add maximum to the TRNDRMFI dataset did
VMXGRMFI not work, because the &R70MAX statement was left out of
Mar 18, 2003 the Trending part of VMXGRMFI, and because the doc was
not clear: to use the &R7xMAX= macro to "add" variables,
you must list all existing variables in the default list,
and then add you new variables in your invocation.
Thanks to Rick Mansfeldt, IBM Global Services, USA.
Change 21.043 Variables JHSUBT and JHEXCP are calculated, and JHRFLAG1
VMACESPH and JHRFLAG2 are decoded into individual variables.
Mar 18, 2003
Thanks to Jesse Gonzalez, The Gap, USA.
Change 21.042 Variables QPPCTNOW and QPPCTLOW, the percent buffers are
VMAC115 full now, and full lowest, are created in MQMBUFFER.
Mar 18, 2003
Change 21.041 Both members now tolerate the complete absence of input
ASUMCICS datasets while still creating a 0 obs output dataset with
ASUMCICX all variables labelled and formatted. Additionally, some
Mar 14, 2003 variables that were only output in ASUMCICX are now also
created by ASUMCICS.
Thanks to Diane Eppestine, SBC, USA.
Change 21.040 New graph plots the Peak to Average Utilization ratio at
GRAFTRND the SYSTEM SHIFT level; the peak value of the shift is
Mar 14, 2003 compared to the average for that shift and plotted on a
range of 1 to 2 by .1. If the ratio exceeds 2, it is set
to 2.
Thanks to Cheryl Watson Walker, Watson & Walker, USA.
Change 21.039 Cosmetic. LABEL was missing for NDMCPUTM.
VMACNDM
Mar 12, 2003
Thanks to Khoan Dang, MBNA, USA.
Change 21.038 Protection for WORD7 to be the last word eliminated NOTE:
VMACWWW INVALID THIRD ARGUMENT TO FUNCTION SUBSTR when processing
Mar 11, 2003 a WebSphere HTTP log file.
Thanks to Craig Collins, State of Wisconsin, USA.
Change 21.037 Documentation. Thou shalt not use a RENAME= statement in
VMXGSUM your OUTCODE= argument to %VMXGSUM that renames variables
Mar 11, 2003 that are in the SORTEDBY= list; thy %VMXGSUM will fail
with ERROR: VARIABLE xxxxx NOT SORTED and
and ERROR: INVALID VALUE FOR THE SORTEDBY OPTION.
Thanks to Khoan Dang, MBNA, USA.
Change 21.036 -RSDA AUDIT error message was printed even though AUDHEXZR
VMACRSDA was zero; the test should have been 0000X (numeric) but
Mar 11, 2003 was incorrectly coded as '0000'X (character, so the test
failed when AUDHEXZR was zero).
-But then View Records (AUDACT=04) caused INPUT STATEMENT
EXCEEDED message, because those records do not have the
Folder Name segment that MXG expected; a test was added
to see that the Folder Name segment is present.
Thanks to Christa Neven, KBC BankVerzekeringsHolding, BELGIUM
Change 21.035 Using ASUMUOWT to combine TMON and DB2 data failed with
VMXGUOW BY VARIABLES ARE NOT SORTED ON WORK.TEMPCICS because the
Mar 10, 2003 BY list in MACRO _SUOWTMO was not updated in VMXGUOW.
Thanks to Tom Heaton, Texas Legislative Council, USA.
Change 21.034 Protection for missing STARTDTE was added; records with
VMACXCOM only ENDDTE populated caused INVALID DATA FOR STARTDTE
Mar 10, 2003 message, but no actual impact on the output XCOMDATA.
Thanks to Mark Williams, Marks & Spencer, ENGLAND.
Change 21.033 Additional AS/400 5.2 files LRECL have been validated and
VMACQACS are listed in the comments in VMACQACS. Minor cosmetic
Mar 7, 2003 changes were made to suppress INVALID DATA messages for
Mar 17, 2003 reserved packed fields. The data files had been sent to
MVS with incorrect LRECLs, and when those MVS files were
ftp'd to me, I discovered Padded Bytes added to the last
record of each file; the bytes are all hex zeros and they
caused invalid data messages when PD fields were input.
So MXG tests the INTNUM packed decimal field and prints a
message "PAD RECORD FOUND AND DELETED _N_= nnnn" on the
log. As long as the _N_= value is the same as the xx in
the SAS NOTE: xx RECORDS READ, then the delete record was
comprised of these pad bytes and there was no error.
Thanks to Brian Keller, ConAgra Foods, USA.
Change 21.031 -Tests for FTPSTART xx FTPEND and FTPEND xx SMFTM were
ANALTCP incorrect as GE, and are changed to the correct GT, and
Mar 7, 2003 two output columns were shifted one position.
Mar 14, 2003 -A sort step was added, required only when PDB=SMF.
Thanks to Matt Martin, USPS, USA
Thanks to Craig Collins, State of Wisconsin, USA.
Change 21.030 Protection added for subtype 8 record with NRSEGS=295
VMACICE (295*128 = 37760, which cannot fit in 32760 LRECL) while
Mar 7, 2003 reporting site contacts STK for a fix.
Change 21.029 MXG Newsletter FORTY cited APAR PQ56039, which supposedly
VMAC116 corrected invalid values for many of the MQMQUEUE fields,
Mar 7, 2003 in particular the WQMAXLAT and WQTOTLAT fields. However,
data records with very large values (168 hours plus) at
one site, and "large values" at another site are still
under investigation, which uncovered these unrelated
changes: The label for WQTOTUSE was corrected to be
WQTOTUSE='TOTAL*API CALLS*USING THIS*QUEUE', and the test
for the three PMS fields tests is LENWQ GE 588 instead of
the old test for 592.
Change 21.028 Early V8-V9 comparisons were flawed because CONFIGV8 did
CONFIGV9 not collect statistics, but CONFIGV9 enabled these:
Mar 7, 2003 DLEXCPCOUNT FULLSTATS FULLSTIMER STIMER MEMRPT
This change disables those statistics options in CONFIGV9
so that you should NOT see any increase in CPU time when
you install SAS V9 and use the same options as SAS V8.
Change 21.027 Mostly documentation. When you are using a SAS View to
JCLUOWV pass data from a data step to PROC SORT, SAS cannot give
Mar 6, 2003 the SORT the estimated record count (because SAS does not
know the observation count of a view), and thus the SORT
cannot be optimized in its choice of SORTKWs and memory.
In these cases, for SYNCSORT, you can use the $ORTPARM DD
to pass the size estimates to the sort program:
//$ORTPARM DD *
VSCORE=756K,VSCORET=512M,FILSZ=E40000000
which tells SYNCSORT to use 756K below the line (fixed)
and 512M total (fixed) storage, and the estimated record
count to be sorted is 40,000,000 records.
Previously, SORTSIZE=40000000 was used, but SYNCSORT
now ignores SORTSIZE= and instead uses the syntax of
FILSZ=Ennnnnnnn. The E is required; without it, SORT
fails if the record count is not exactly nnnnnnnn.
Similar parameters can be passed to DFSORT; if you
tell me that syntax, I'll update this note.
But note that the //$ORTPARM parameters apply to EVERY
sort in the job-step, so use with care, especially
because the memory will be fixed.
The change replaced SORTSIZE= with FILSZ=E.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Steve Dunn, Mainframe Performance Products Pty., AUSTRALIA
Change 21.026 Support for Control-T Release 6.0.0 (INCOMPATIBLE). New
VMACCTLT data fields were inserted, and the LRECL was increased to
Mar 6, 2003 600 bytes in their new version. Instead of feet, you get
Mar 27, 2003 bytes compressed/uncompressed for volume and datasets.
-Mar 26: Support for Control-T Release 6.1.0 (INCOMPAT,
because the LRECL was increased to 660 bytes, and MXG had
only protected for 600 bytes. Three fields were added to
their volume record by 6.1.
Thanks to Craig Collins, State of Wisconsin, USA.
Thanks to Stefano Baldi, Phoenix Spa, ITALY.
Change 21.025 Documentation only. The removal of Cross Memory Calls in
ASMTAPES ML-27 MXGTMNT causes these variables to be missing in the
Mar 6, 2003 TYPETMNT and ASUMTAPE datasets:
DDNAME INITTIME JOBCLASS PGMRNAME PROCSTEP PROGRAM
RACFGRUP RACFTERM RACFUSER RDRTM READTIME STEPNAME
and these variables to be missing in TYPETALO/ASUMTALO:
ALOCSTRT DDNAME STEPNR
(ALOCSTRT is commented in the ASM code and it appears
it has never been populated in the SMF record).
Stay tuned for a new algorithm that will merge TYPETALO,
TYPETMNT, TYPE1415, and TYPE30TD to not only populate the
missing fields, but enhance tape mount analysis with new
data as well. Maybe by the end of third quarter.
Note that the removal of Cross Memory calls was to solve
problems caused by VTS mounts; if your site does NOT
(yet!) have any VTS devices (or VTS-simulating-software)
so that all of your tape mounts are real mounts that take
real time, then you can still have the above variables
populated by MXGTMNT program, by re-assembling ASMTAPES
with the XMEM=YES parameter enables.
Change 21.024 -Support for TNG "Enterprise Cubes", which contain data
EXTNT007 from multiple servers, required structural revision of
EXTNT034 the code, which had expected a CAPMPCM Header record
EXTNT035 betweeen each system. This redesign has been tested
FORMATS with TNGVERS 6 data from multiple systems.
IMACTNG -New NT object NETWORK SEGMENT creates new NT034 dataset.
VMACTNG -New variables were added to existing SYSTEM object in
VMXGINIT dataset NT018.
Mar 7, 2003 -Support for NT PROCESS Object creates new NT035 dataset
Mar 19, 2003 and a major design change, because each process instance
Mar 27, 2003 does not record all process metris: out of 327 process
Apr 1, 2003 name records, only 175 had PROCESSOR TIME metric records,
but 324 had ID Process, and 326 had Page File records.
MXG presumed TNG recorded all metrics for each instance,
but now a new context-based array (NT035INM) maps each
process name to its metrics's location (INSTLOC), instead
of assuming a sequential INSTNR for each process metric.
-The arrays to support process data can require large
virtual storage if there are very many process names.
With NT035I=2000, NT007I=999, and MAXROWS=325, TYPETNG
required about 180MB of virtual storage! The MXG defaults
of NT035I=500, NT007I=100, MAXROWS=288 needs REGION=64M.
-TYPETNG will ABEND with USER 1111 if it finds more unique
process names than your chosen NT035I=value permits.
-EXTNT035 now only outputs observations that have non-zero
value of % PROCESSOR TIME; most processes are idle and do
not record any time. There were 2,448,576 observations
created when all process records were output, but only
31,320 observations had and CPU. That logic was located
in EXTNT035 in case you ever think you want to output all
observations.
-The process records for the Idle and _Total process names
both have % PROCESSOR TIME of 100, so they should be
removed in your analysis of process utilizations.
-EXTNT007 now only outputs observations that have non-zero
value of Total Bytes, i.e., that had activity.
Thanks to Peter Krijger, National Bank of New Zealand, NEW ZEALAND.
Change 21.023 -Messages SHORT XAMSYS SEG FOUND, DELETED.... were caused
VMACXAM by incorrect subtraction in line 2275, which should be
Mar 5, 2003 SKIP=SKIP-20; instead of SKIP=SKIP-24; The error occurs
Mar 12, 2003 only in records with MTRSYS length of 164 or greater.
Mar 16, 2003 -Support for SYTCPC (Channel Activity) creates new dataset
Apr 22, 2003 XAMSYCPC with Channel Busy array HFCHB0-HFCHB255 (where
the CHPID is the array suffix, and the array is populated
with NBUSY entries), and Channel Simultaneous Bussy Array
HFCHSI0-HFCHSI50 (populated with NBUSYSIM).
-Support for TCP data files creates many new datasets from
Linux, NT, Sun systems, as well as from VM Monitor:
UCD - From UCD-SNMP or NET-SNMP
HST - From ANY SNMP DAEMON supporting HOST MIB
TCP - From either VM MONITOR RECORD FOR VM, or SNMP
FAL - From VM MONITOR RECORDS, exclusive to VM
OTHERS - SUBNET, TCPCON, TCPAPP come from either FAL
or a "NETSTAT" interface.
The datasets have been validated, but this is preliminary
support, and variable names may change slightly as the
data is better understood.
-Additional XAMDEV variables, including RDEVSER, VOLSER,
are now decoded. Apr 22, 2003.
Thanks to Rebecca Cates, Merrill Lynch, USA.
Thanks to Tom White, SPRINT, USA.
Change 21.022 All daily PDB datasets that are created in the JCLPDB8
WEEKBLD example JCL are now copied into the WEEKLY PDB in the
WEEKBLDT example WEEKBLD/WEEKBLDT members. Most datasets were
WEEKBL3 copied into the weekly PDB, but many new datasets were
WEEKBL3T created by BUILDPDB/BUILDPD3 that were not also copied
Mar 5, 2003 into the weekly that now are.
Yes, this change could cause a perfectly good weekly MXG
job to ABEND with an out of space condition, but that, I
decided, was less painful than discovering later that the
data you thought was in the weekly wasn't!
Thanks to Ronald Lundy, AHOLD, USA.
Change 21.021 The Active Server Pages object's INPUT statement has been
VMACNTSM incorrect, at least since NTSMF 2.2.2. ASMEMALO no longer
Mar 5, 2003 exists, and a DUMMYFLD was inserted after ASTMCAHT in the
logic for NRDATA=34 for the ACTVSRVR dataset.
Thanks to Chris Morgan, UFI, ENGLAND.
Change 21.020 Relocated the VMXGOPTR call that resets OBS= value to
VMXGSUM earlier; if KEEPALL=NO and the first data step bypassed,
Mar 4, 2003 and you had changed OBS= to a small value, the original
location was too late. Seen only in unrelated test runs,
has been that way for a long time and never reported, but
is now corrected.
Change 21.019 Oracle variable ASID was not input and ELAPSTM was not
VMACORAC created for Release 8. Several variables no longer are
Mar 1, 2003 created in the Oracle SMF record with that release, and
Mar 13, 2003 will always have missing values:
CPUCICTM CPUSRBTM CPUTCBTM CPUTIMER DDLCOMIT DDLROLLS
ENDSRB ENDTCB ORACMSB PCCOUNT STRTSRB STRTTCB
-Cosmetic. Text in labels had misspelled OSDI as ODSI and
OSID are now all OSDI.
Thanks to Forrest Nielson, State of Utah, USA.
Thanks to Marvin Wapnitsky, TIAA-CREF, USA.
Change 21.018 Support for Domino Server Release 6.0.0 added five new
IMAC108 HTTP-related variables to the Subtype 1 record that are
VMAC108 now output in dataset TYPE1081:
Mar 1, 2003 DOMCACOM='DOMINO*CACHE*COMMAND*COUNT'
DOMCADES='DOMINO*CACHE*DESIGN*COUNT'
DOMCAREQ='DOMINO*CACHE*REQUESTS*TOTAL'
DOMCASES='DOMINO*CACHE*SESSION*COUNT'
DOMCAUSR='DOMINO*CACHE*USER*COUNT'
Their existence was found in APAR PQ70810, which added
the fields to IBM's TIVOLI product; that is what alerted
me that there was a new Domino version to support.
Change 21.017 For devices with IORATE=0, variable DEVIOQTM was carried
VMAC74 from the preceding device that had non-zero IORATE. The
Feb 28, 2003 missing DEVIOQTM=.; statement was inserted where it
should have been, after the AVGIOQMS=.; statement.
Thanks to Barry McQueen, Department of Defence, AUSTRALIA.
Change 21.016 Several "Wdddddd" macro variables were incorrectly %LET
VMXGINIT to &DEFAULT instead of &MXGWORK: all for VMACLDMS and for
Feb 27, 2003 VMACMIM were wrong, as were two for VMACTAND. This only
surfaced as an actual error if you used the USER= option.
Thanks to Ken Kelso, National Australia Group, SCOTLAND.
Change 21.015 Using %ANALDB2R(PDB=SMF); to get the default set of DB2
ANALDB2R reports failed with 76-322 and other strange errors, due
READDB2 to changes made to READDB2 by Change 20.233. The READDB2
Feb 27, 2003 calling logic in ANALDB2R was corrected. However, using
%ANALDB2R(PDB=SMF,IFCIDS=ACCOUNT);
will circumvent the error.
-READDB2 now detects that it was invoked without arguments
and gracefully reports that error.
-IFCIDS=ALL is now recognized.
Thanks to D. J. Chen, State of Florida, USA.
Change 21.014 More than one type 6 ESS '0031'x USERDATA segment was not
IMAC6ESS expected, causing INPUT STATEMENT EXCEEDED if comments in
VMAC6 IMAC6ESS were opened. Multiple USERDATA now supported.
Feb 23, 2003
Thanks to Ricke Godehard, Itellium, GERMANY
Change 21.013 -INVALID DATA messages reading QAPMDISK file because of
VMACQACS ELSE INPUT INPUT in lines 3984 and 3985. Remove one.
Feb 22, 2003 -Variable DSASPN 'ASP RESOURCE NAME' was not kept and was
Mar 5, 2003 not labeled, but now it is.
Thanks to Paul E. Bennett, JPMorganChase, ENGLAND.
Change 21.012 The MNTH72GO example still had PERFGRP and PERFRPGN where
MNTH72GO it should have had SRVCLASS and RPRTCLAS
Feb 22, 2003
Thanks to Mike Kynch, International Paper, USA.
Taught the first tuition-free three-day class in Dallas to 64 students.
Change 21.011 The format MGSASPR had PARETO misspelled, and had several
FORMATS procedure names that were longer than 8 characters that
Feb 18, 2003 are now truncated to 8 bytes so they will match the name
in the TYPESASU dataset (from the SAS user SMF record).
And SETINIT (BASE) was added to the list of procs.
Thanks to Tom White, SPRINT, USA.
Change 21.010 SMF 42 offsets for subtype 20 and 21 are incorrect in the
VMAC42 z/OS SMF manual, but (without test records), I believed
Feb 17, 2003 the manual. Offsets for SMF42KN1 thru SMF42KN3 and for
SMF42LN1 thru SMF42LN6 should have started at decimal 36,
but the manual showed them starting at dec 52 and dec 60.
MXG printed error messages, but the job did not fail, but
it did not output those subtypes, either!
But the subtype 21 records that are only 176 bytes long
have invalid offset SMF42LN4 (177) and number of SMF42LN6
(1) for the Alias Names Deleted in Sympathy segments,
causing MXG to print an error message. It's not clear if
there were Alias names that were not written, or whether
the offset/number should have indicated there were no
Alias names in the record. This will be purusued with IBM
but this Change does correctly populate TYPE4221 dataset.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 21.009 Symbolic parameter WORKVOL= is added to the MXGSASV8 JCL
MXGSASV8 procedure, defaulting to 5 volumes, and the WORK= parm
Feb 12, 2003 is (200,200) in CYL. SAS only allocates what it needs,
but this will reduce the probability of B37 ABENDS for
new users.
Change 21.008 Documentation. TYPE70PR PR/SM data for IFL Linux LPARs
VMAC7072 are not identified as such: they have SMF70CIN='ICF', so
Feb 12, 2003 you can't tell an IFL from an ICF partition, so you must
use a table lookup of LPARNAME to select the Linux LPARs
from PDB.TYPE70PR. And only LCPUPDTM is non-zero; the
LCPUEDTM is always zero.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Change 21.007 PCHANBY is missing for SMF73ACR='CBP/CBS/CFP/CFS/ICP'
VMAC73 Channels. Originally corrected by Change 20.096, that
Feb 12, 2003 was overridden in Change 20.172, which reset it missing.
Feb 17, 2003 The initialization to prevent carry forward was moved to
above the PCHANBY calculations.
Thanks to John Gebert, Office Depot, USA.
Change 21.006 Negative values in DB2STATB variables occurred when a DB2
VMACDB2 subsystem was stopped and started, and the first record
Feb 11, 2003 after the start had QWHSISEQ=4, but MXG expected first
record to have QWHSISEQ=1. MXG's test to recognize start
was revised to also test SEQCHECK GT 0 or ISEQ=1. This
may be an IBM error, but the MXG circumvention should be
sufficient.
Thanks to Tony P. Steward, Royal Mail, ENGLAND.
Change 21.005 Cosmetic. The INVALID DEVICE messages now include the
VMACEXC2 PROGRAM name, making it easier to identify if they are
Feb 11, 2003 coming from the same program.
Thanks to Paolo Uguccioni, UNICREDIT, ITALY.
Change 21.004 ML-28 corrects an 0C4 in ML-27 that occurred only with
ASMTAPES the //EXCLUDE DD, and only if the tape drive with the
Feb 11, 2003 highest DEVNR was excluded. Trivial to fix once seen,
Feb 17, 2003 hard to include in all combinations of our testing.
Thanks to Anthony A. Ziegler, UMB, USA.
Change 21.003 Variable R791FMCT should have been multiplied by 4096 to
VMAC79 convert from frame count to bytes, which will be printed
Feb 11, 2003 as nnnnKB/MB/GB; the variable is FORMATed MGBYTES.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 21.002 Major enhancements to MXG processing of RMF III VSAM data
ASMRMFV includes revisions to the ASMRMFV assembly program, the
CLRMFV new CLRMFV CLIST member that will read all of your RMF
DOCLRMFV III VSAM files on all your system in one job (since you
Feb 13, 2003 cannot concatenate VSAM, and member DOCLRMFV to document
Feb 18, 2003 the CLRMFV CLIST, and provides JCL examples of how to
use CLRMFV and ASMRMFV (which will create the RMFBSAM
file that is then read with MXG's TYPERMFV to create all
of the MXG RMF III datasets). Enhancements in ASMRMFV:
-Minimum and maximum LRECL output is now reported for each
RMF III Table/Header.
-Total Displays restructured to combine selection, input,
output records written/skipped and output LRECL min/max.
-CC=4 set when input records are skipped due to exceeding
32756 LRECL or decompression errors; previous CC was 0.
-Messages show FROM=/TO= keyword selection Time Stamps in
Date/Time Format for each RMF III data set processed.
-Messages show FIRST/LAST Sample Set Time Stamps
-Messages assigned RMFVNNN with I=INFO,W=WARN,E=ERROR, and
S=SEVERE ERROR suffixes.
-Major performance improvement with Selection: entire RMF
VSAM dataset is skipped if Data Set Header FIRST/LAST
shows all sample sets are outside FROM=/TO= keywork.
-Minor performance improvement: entire Sample Set bypassed
if FIRST/LAST header is outside FROM/TO keyword range.
-Table access validated by comparing eyecatcher.
-If a specific table exceeds maximum LRECL, next table is
processed; previously, remainder of this sample set was
abandoned.
-Internal ASM improvements; counters that used fullword
Register to Storage arithmetic instructions replaced with
Load Address or Branch on Count Register instructions.
-Improved documentation in the program prologue.
-Tables that are not processed by TYPERMFV (because no one
has needed them)are skipped by ASMRMFV and documented.
-Performance: processing 7 LPARs with 44 RMF III datsets
(a total of 308) in a single job reduced Elapsed Time,
CPU Time, and EXCP count by 70%
-CLRMFV is run in batch and repetitively calls ASMRMFV
for each RMF Monitor III dataset it finds, making ASMRMFV
truly useful for bulk processing; without this CLIST a
separate job step must be used for ASMRMFV, since VSAM
does not support concatenation.
The code, CLIST, and documentation were all written by
and contributed to MXG by Jerry.
-Feb 18: Use PGM=IKJEFT01 instead of PGM=IKJEFT1B, doc'd
in member DOCLRMFV. ASMRMFV now recognizes FROM= and/or
TO= keywords for filtering.
Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 21.001 Archaic report example member ANALCICS caused V8 to 0C4
ANALCICS ABEND in module VXBSM doing the autocall for %VMXGFOR,
Feb 8, 2003 now removed by MXG Change 20.327, but the cause was the
old OPTIONS SASAUTOS=(SOURCLIB SASAUTOS) statement in the
ANALCICS member, which as been unneeded for years, and
now removed, as MXG sets SASAUTOS at MXG Initialization.
But SAS had documented this problem before: "It is not
advisable to change SASAUTOS during a SAS session. If
you change the SASAUTOS= specification in an ongoing SAS
session, the SAS System will store the new specification
only until you invoke an uncompiled autocall macro, and
then SAS will close all opened libraries, and open all
the newly specified libraries that it can open."
LASTCHANGE: Version 21.