COPYRIGHT (C) 1984-2007 MERRILL CONSULTANTS DALLAS TEXAS USA
CHANGE 18.18
=========================member=CHANGE18================================
/* COPYRIGHT (C) 1984-2001 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 18.18 is dated Feb 12, 2001, thru Change 18.360.
MXG Newsletter THIRTY-EIGHT is dated Feb 12, 2001.
MXG Version 18.12 was dated Jan 30, 2001, thru Change 18.341.
MXG Version 18.11 was dated Jan 4, 2001, thru Change 18.315.
First MXG Version 18.10 was dated Dec 20, 2000, thru Change 18.303.
MXG Version 18.09 was dated Oct 24, 2000, thru Change 18.264.
MXG Newsletter THIRTY-SEVEN was dated Oct 24, 2000.
MXG Version 18.08 was dated Sep 25, 2000, thru Change 18.238.
MXG Version 18.07 was dated Aug 31, 2000, thru Change 18.217.
First MXG Version 18.07 was dated Aug 30, 2000, thru Change 18.216.
Test MXG Version 18.07 was dated Aug 27, 2000, thru Change 18.204.
MXG Version 18.06 was dated Jul 28, 2000, thru Change 18.177.
MXG Version 18.05 was dated Jul 1, 2000, thru Change 18.154.
MXG Version 18.04 was dated May 15, 2000, thru Change 18.109.
Final MXG Version 18.03 was dated Apr 17, 2000, thru Change 18.086.
MXG Version 18.03 was dated Apr 12, 2000, thru Change 18.083.
First MXG Version 18.03 was dated Apr 11, 2000, thru Change 18.081.
Final MXG Version 18.02 was dated Mar 29, 2000, thru Change 18.052.
Second MXG Version 18.02 was dated Mar 16, 2000, thru Change 18.046.
First MXG Version 18.02 was dated Mar 15, 2000, thru Change 18.043.
MXG Version 18.01 was dated Mar 3, 2000, thru Change 18.021.
MXG Version 17.17 was dated Feb 7, 2000, thru Change 17.398.
Newsletter THIRTY-SIX was dated Feb 7, 2000, thru Change 17.398.
Contents of member CHANGES:
Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
contain the current MXG Technical Notes that used to be put in member
CHANGES between Newsletters. New Technical Notes are now added (and
now dated!) in NEWSLTRS/Newsletters with each new MXG Version.
I. MXG Software Version 18.18 was shipped to all MXG licensees.
II. Incompatibilities and Installation of MXG 18.18.
III. Online Documentation of MXG Software.
IV. Changes Log
=======================================================================
I. MXG Software Version 18.18 is the annual version, Feb 12, 2001, and
it was sent to all MXG sites, and contains NEWSLETTER THIRTY-EIGHT.
Major enhancements added in MXG 18.18:
Support for z/OS Version 1.1 (COMPATIBLE).
Support for CICS/TS for z/OS Version 2.1 (INCOMPATIBLE).
Support for DB2 Version 7.1 (COMPATIBLE).
Support for Vital Signs VisionNet VSV TCPIP stats.
Support for Innovation Data Processing's FDR SMF.
Support for SYNCSORT Release 3.7 (COMPAT).
Support for IBM TapeTools MOUNTMON user SMF record.
ASUMTALO MAXDRVS greater than installed tape drives corrected.
New MACRO _Vdddddd KEEP=x y z %; finally makes KEEP= easy.
Major enhancements added in MXG 18.12:
Support for CA UNICENTER TNG AIX, CISCO, NT, and SOLARIS objects.
Support for SOLVE SMF Subtypes 1 and 2.
Support for SHADOW SMF Subtype 6.
Support for IBM Domino WebServer Logs enhanced.
Support for DFSMSRMM 1.5 changes (COMPATIBLE).
Major enhancements added in MXG 18.11:
Support for DB2 Space Manager 2.1 (INCOMPAT).
Support for NPM APAR OW45788 corrects LXETxxxx.
Scheduling Environment variables added to PDB.JOBS
MXG execution under SAS V8.1 notes consolidated in NEWSLTRS member.
Documentation of the Internal Logic of BUILDPDB in DOCPDB member.
Erroneous EXCLUDED FIELDS message, MXG 18.10 only, TS 1.3 only.
Major enhancements added in MXG 18.10:
RMFINTRV now calculates MSU4HRAV 4-hour running MSU avg for z/OS.
DB2ACCT variable DB2TCBTM included Stored Proc AS CPU time twice.
Support for MQ Series V5.2 (INCOMPATIBLE) SMF 115 and SMF 116.
Support for Websphere Appl Server (EE) Component Broker SMF 120.
Support for TMON for MVS 2.0 NQ records corrected.
Support for ANALRMFR to create HTTP Server Report from SMF 103.
Using IMACJBCK for DB2ACCT selection saves CPU time
NPM Type 28 Subtype 'DC'x caused INPUT EXCEEDED.
CICINTRV request for "EOD" did not sum correctly.
CICS 1.3 SAP Journal records in CICSJOUR vice CICSSAP
Support for Vital Signs VisionNet VSAM file.
Short JES3 type 6 record protected.
Support for APAR OW37743 corrected.
CICINTRV DSA size variables corrected.
Support for NETVIEW SMF 38 APAR OW45728.
Major enhancements added in MXG 18.09:
Support for NPM APAR OW37743 (INCOMPATIBLE if TIC3 and 3746).
Support for Neon System's Shadow Server V4.5 SMF record.
Support for NTSMF ADSM, ColdFusion, MQSeries, WorldSecure objects.
Support for Candle's Omegamon for VTAM TCP record.
TYPE74 PCTDVUSE,PCTDVCON, etc for PAV Volumes now less than 100%.
GRAFWORK/GRAFRMFI/GRAFTAPE SAS/GRAPH examples now output as HTML
TYPE70 variable CPCMODEL ('RX6') added, was already in TYPE70PR.
Format $MGSASPR maps SAS PROC name to Product name, for SAS SMF.
Major enhancements added in MXG 18.08:
Support for Landmark TMON for VTAM.
Support for Landmark TMON for DBCTL.
Support for Omegamon for VTAM V500 (COMPAT).
Support for Enterprise Data Access, EDA, SMF record.
Support for AS/400 Collection Services records.
Summarization/Trending for STC datasets.
ANALUAFF finds wasted tape drives for SORT without UNIT=AFF.
Major enhancements added in MXG 18.07:
Support for OS/390 R2.10 (INCOMPAT!). See Change 18.134.
R2.10 support was included in MXG 18.06, although there was no
statement of support in that Version, and the Change text was
"Reserved". MXG 18.06 or later is required for OS/390 R2.10.
Support for BMC MainView for MQ Series History File V2.1.
Support for APAR II11493 (INCOMPAT) type 50 SMF.
Support for APAR PN61399 TCP type 118 SMF.
Support for NTSMF object "SESSION", from Term Svcs.
Support for APAR OW45168 SMF type 94 confirmed.
Support for APAR OW43854, adds OPENTIME to SMF 62 and 64.
VMXGSUM revisions, VIEW used, can avoid I/O, can be big savings.
ASUMUOW revised, MQ Series added to DB2+CICS, VIEW used for speed.
TYPE71 Memory (Hi,Med,Low Impact Frames) now correct and useful.
Datasets TYPE7 and TYPE23 now automatically built by BUILDPDB/3.
Example ANALCNCR and PROC TABULATE create HTML format reports.
New %MACRO VMXGENG returns the ENGINE of a SAS dataset.
MXG Y2K error, BMC CICS Manager type 110 segment corrected.
Major enhancements added in MXG 18.06:
Support for OS/390 R2.10 (INCOMPAT!). See Change 18.134.
Support for OS/400 Release 4.5.0 (INCOMPATIBLE).
Support for IHS WEBSERVER SMF 103 APAR PQ32435, adds JOB/ASID.
Support for BETA93 Release 321 INCOMPATIBLE subtype 1 record.
Revised support for TYPEEDGS/TYPEEDGB for DFSMS/rmm.
TCP SMF 118 Bad Record INPUT STATEMENT EXCEEDED corrected (again).
SAS Version 8.1 causes Condition Code 4 and prints log message:
WARNING: ARGUMENT 3 TO MACRO FUNCTION %SUBSTR IS MISSING
because the length of their &SYSVER Version macro was shortened
from four to three. There is no execution impact, fortunately,
except that the warning causes MVS Condition Code/Return Code of
four instead of zero, and wastes your time in reading this!
See further discussion in Change 18.159 which revises MXG.
Major enhancements added in MXG 18.05:
Support for Domino Server R5.0.3 subtypes 2 and 6.
Support for Type 42 RLS Subtype 19 enhanced, fixed.
Support for COM Tran Integrator, TN3270 Server, etc.
Support for new NTSMF Objects in Windows 2000 Server.
Support for IBM Websphere SMF type 103 subtype 2 undoc field.
Support for 3494 Peer-to-Peer (Gemini).
Support for APAR OW41317 support, INCOMPAT R2.7, R2.8, R2.9.
IMS Log Version 5.1 caused zero obs in IMSTRAN in TYPEIMSA.
ANALSMJB Who is filling your active VSAM SMF file utility.
MEMSIZE removed, S=72,S2=72 restored to CONFIGV8.
Trending of NTSMF LOGLDISK for NT disk space in TRNDNTLD.
Additional ESS variables now decoded from type 6.
Summarize TYPETCPT to track concurrent users in ASUMTCPT.
Major enhancements added in MXG 18.04:
SAS V8.0/V8.1 errors can corrupt variable labels in tape datasets
built by the V8SEQ "tape" engine. Until the errors are fixed, I
strongly recommend that you change the default "tape" engine to
V6SEQ instead of V8SEQ (by adding SEQENGINE=V6SEQ to the CONFIGV8
member in your CONFIG concatenation, and by changing any LIBNAMEs
with "TAPE" engine specified to "V6SEQ", as discussed in the SAS
Technical Note 5 in Newsletter-to-be THIRTY-SEVEN (in NEWSLTRS &
in Newsletters on homepage), and in the text of Change 18.104.
Update July 26: SAS ZAP Z8002651 exists and corrects the error,
so that with that ZAP installed, the V8SEQ engine can be used.
TYPEIMSB correction for IMS 6.1 log processing.
Support for Roger Software Development RSD FOLDERS.
Support for MainView for CICS 5.3.01 (INCOMPATIBLE).
Major enhancements added in MXG 18.03:
Support for OS/390 Release 2.9 (17.17 support was not correct).
Support for NETSPY Release 5.3 (COMPATIBLE).
Support for CMA Release 1.11 (COMPATIBLE).
Support for OAM Release 1.5.0 (INCOMPATIBLE) SMF 85.
Support for Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE.
IMS Log OTMA/APPC transactions supported, dates fixed in ASMIMSLx.
ASUM70PR/ASUMCEC with ICFs had PCTLnBY and LPnDUR wrong
ASUMTALO corrected for SPINning (in-flight) allocations.
KEEPALL= argument for VMXGSUM was externalized to a Global macro.
Major enhancements added in MXG 18.02:
Support for Tivoli Netview Performance Monitor NPM 2.5 (SMF 28).
Support for GUTS Gutenberg Time Sharing user SMF records.
Support for optional CICS RMI counters.
Support for Oracle Version 7.3.3 (INCOMPATIBLE)
Support for retrofit APAR OW41317 was in MXG 17.17
Support for type 21 APAR OW40414, added four byte fields.
Recognition and non-counting of ICF processors is now corrected.
Major enhancements added in MXG 18.01:
MXG 18.01 replaced MXG 17.17 for ITSV sites. Changes made in MXG
17.17 to BUILDPDB/BUILDPD3, RMFINTRV, and ASUMTALO members had not
been tested with ITSV when MXG 17.17 was shipped. Change 18.009.
Using Report Performance Groups or Reporting Classes in IMACWORK
to define the workloads in our RMFINTRV dataset did not work in
MXG 17.17; enhancements to VMXGRMFI (invoked in RMFINTRV) support
using any mixture of report/control/service class to define your
RMFINTRV workloads. Revised UTILRMFI can be used to discover any
overlap if you get the "CPU TIMES DO NOT MATCH" error message.
Support for DB2 6.1 Buffer Pools 100+ in DB2ACCT/DB2STATS.
Support for Type 79 Subtype 15 IRLM Long Lock now validated.
ASUMUOW adds DB2ELAP to output, corrects wait for SPUN UOWs.
You can now use (COMPRESS=YES) with MACRO _Ldddddd definitions.
Blank value in JOBCLASS corrected.
ANALDSET needed _NULL to be added to its DATA statement.
Invalid Y2K date in BETA93 product now protected.
Type 39 record INPUT EXCEEDED RECORD error corrected.
See member NEWSLTRS or the Newsletters frame at www.mxg.com for
current MXG Technical Notes that used to be in CHANGES.
MXG 18.18 has been tested with SAS 6.09, SAS V8.0 TS M0/M1 and V8.1.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990 8.8
MVS/ESA 4.2 Mar 29, 1991 9.9
MVS/ESA 4.2.2 Aug 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
CICS/ESA 3.2 Jun 28, 1991 9.9
CICS/ESA 3.3 Mar 28, 1992 10.01
CICS/ESA 4.1 Oct 27, 1994 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CRR 1.6 Jun 24, 1994 12.02
CRR 1.7 Apr 25, 1996 14.02
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 7.1.0 Mar 30, 2001 18.11
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
RMDS 2.1, 2.2 Dec 12, 1995 12.12
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 ??? ??, ???? 16.08
IMS 4.1 Jul 4, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 16.04
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
SAS Institute
SAS V8 (TS M0), (TS M1):
(Read member NEWSLTRS (search 'V8') for other V8 notes.
MXG 16.16 runs, prints "options CODEPCT/BLKSIZE don't exist".
MXG 17.01 removed options in CONFIGv8 member, Change 17.073.
MXG 17.07 exploits 32K character var length, Change 17.253
MXG 17.08 exploits INHERIT option VMXGSUM, Change 17.265.
MXG 18.04 changes V8 default to SEQENGINE=V6SEQ. Change 18.104.
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Windows 2000 Build 2195 17.10
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 16.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1) 16.04
Memorex/Telex
LMS 3.1 12.12A
MXG IMS-Log Not-Officially-Supported
IMS 6.1 - ASMIMSL6/TYPEIMSA 18.03
IMS 5.1 - ASMIMSL5/TYPEIMSA 18.03
Amdahl
APAF 4.1, 4.3 16.08
II. Incompatibilities and Installation of MXG 18.10.
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
A change that alters any previously kept variable is
INCOMPATIBLE, and requires the new version to be used.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
1. Incompatibilities introduced in MXG 18.10 (since MXG 17.17):
a- No changes in MXG architecture were made between 17.17 and 18.10
that introduced incompatibilities.
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINSTL.
III. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
IV. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes after MXG 17.17 now in MXG 18.10:
Dataset/
Member Change Description
SAS V8 18.xxx SAS Version 8.1 notes are updated in member NEWSLTRS.
many 18.001 Duplicate removal by MXG _Sdddddd macro enhanced.
many 18.338 Description of soon-to-be-pervasive MACRO _Vdddddd.
many 18.317 Support for z/OS R1.1 (COMPATIBLE).
many 18.338 New MACRO _Vdddddd KEEP=x y z % ; syntax defined.
ANAL94 18.218 Report failed with PDB=SMF/PDBOUT=PDB.
ANALCNCR 18.326 Support for interval specification of MINUTE.
ANALCNR 18.089 Last period for synchronized intervals corrected.
ANALDB2R 18.067 Negative DD counts for OPEN/USED DDs in reports.
ANALDB2R 18.246 DB2 Report PMAUD03 failed, semicolon missing.
ANALDB2R 18.329 DB2 Accounting Summary enhanced for DB2 Version 6.
ANALDSET 18.010 _NULL_ needs to be added to DATA statement.
ANALHTML 18.177 ANALCNCR/PROC TABULATE HTML format reports w/ODS.
ANALRMFR 18.028 Partition Data Report supports CP/ICF.
ANALRMFR 18.302 Support for RMF HTTP Server Report from SMF 103.
ANALSMJB 18.149 Who is filling your active VSAM SMF file utility.
ANALTCP 18.091 Sample TCP/IP basic analysis reports.
ANALUAFF 18.234 Detect wasted tape drives for SORT without UNIT=AFF.
ASMIMSL5 18.030 APPC transactions caused negative SERVICETM
ASMIMSL5 18.060 IMS transactions thru OTMA and APPC revised.
ASMIMSL6 18.287 Assembly error: CLOSE (R3) s/b CLOSE ((R3)).
ASUM42DS 18.140 Variables CIOPCT, HITPCT, RDHITPCT were incorrect.
ASUM70PR 18.131 Amdahl SMF 70 LPARNUM=0, LPARNAME=Inactive error.
ASUMSTC 18.235 Summarization/Trending for STC datasets.
ASUMTALO 18.013 Failed under ITSV or with USER=WORK: Member Lock....
ASUMTALO 18.346 MAXDRVS greater than installed tape drives corrected.
ASUMTCPT 18.122 Summarize TYPETCPT to track concurrent users.
ASUMUOW 18.007 Wait times for spun UOWs corrected, DB2ELAP added.
ASUMUOW 18.204 Major rewrite, adds MQ Series data, easy tailoring.
BLDNTPDB 18.145 Revisions to use symbolics instead of hardcode dsn.
BUILDPD3 18.124 BUILDPD3 fails, VARS NOT SORTED WORK.TYPE25.
BUILDPDB 18.018 Blank value for JOBCLASS corrected.
BUILDPDB 18.094 If you want to write the PDB output to tape.
BUILDPDB 18.184 Datasets TYPE7 and TYPE23 now automatically built.
BUILDPDB 18.217 BUILDPDB Missing _S21 to build PDB.TAPES.
BUILDPDB 18.259 Do not redefine MACRO _BLD005 under SAS V8.
BUILDPDB 18.306 Scheduling Environment variables added to PDB.JOBS
BUILDPDB 18.312 Variable DATETIME now contains correct value.
BUILDxxx 18.014 Warning CODEPASS=2 eliminated, can be disregarded.
CONFIGV8 18.104 SAS V8 requires SEQENGINE=V6SEQ for tape datasets.
CONFIGV8 18.147 MEMSIZE removed, S=72,S2=72 restored to CONFIGV8.
DOCITSV 18.310 Example of ITSV macros needed to add new variable.
DOCMXG 18.168 Example of how to use USER=XYZ with MXG.
DOCPDB 18.315 Documentation of the Internal Logic of BUILDPDB.
EXCECTIM 18.066 Exit for PDB.ASUMCEC with different system clocks.
FORMATS 18.240 SAS user SMF record, $MGSASPR maps Proc to Product.
FORMATS 18.256 MG073CD decodes OSA EXPRESS and OSA EXPRESS DIRECT.
GRAFRMFI 18.263 GRAFRMFI Graphs from RMFINTRV now output as HTML.
GRAFSAMP 18.264 GRAFWORK sample using mainframe PDB, output to LAN.
GRAFTAPE 18.262 GRAFTAPE MXGTMNT and STK TRENDing, output as HTML.
GRAFWORK 18.264 GRAFWORK Graphs from RMFINTRV now output as HTML.
GRAFxxxx 18.220 SAS V8.0 (not 8.1) ERRORABEND with missing values.
IMAC6ESS 18.138 Additional ESS variables now decoded from type 6.
IMACICBB 18.190 MXG Y2K error, BMC CICS Manager now data-validated.
IMACICUS 18.036 Support for optional CICS RMI counters added.
IMACJBCK 18.289 Using IMACJBCK for DB2ACCT selection saves CPU time
JCLIMSL5 18.318 SORT FIELDS value should have been 35,8.
JCLMNTH 18.113 Monthly failed trying to build MONTH.ASUMCEC.
JCLUWOV 18.204 JCL Example for CICS+DB2+MQ Series merge.
MONTHBLD 18.135 WEEKBLD and MONTHBLD had wrong BY for TYPE30MU.
PRINTNL 18.058 No output if you did not use MXGSAS or CONFIG=.
RMFINTRV 18.000 Failed under ITSV, because of hardcode PDB.RMFINTRV.
RMFINTRV 18.111 Variable MVSLEVEL now kept in RMFINTRV.
RMFINTRV 18.298 Calculation of z/OS License Manager MSU4HRAV added.
RMFINTRV 18.345 High/Med/Low Impact Frame variables added to RMFINTRV
TRNDNTLD 18.145 Trending of NTSMF LOGLDISK for NT disk space util.
TYPE102 18.178 DB2 6.1 only, IFCID 106, end comment missing.
TYPE102 18.330 SQL Text truncated to 100 characters with V8/NoCOMP.
TYPE103 18.092 TYPE1032 dataset had missing values for variables.
TYPE103 18.129 IBM Websphere SMF type 103 subtype 2 undoc field.
TYPE103 18.172 Support for IHS WEBSERVER SMF 103 APAR PQ32435.
TYPE103 18.198 Variable BYREADCA negative, now BYREADCA=KBREADCA.
TYPE108 18.119 Support for Domino Server R5.0.3 subtypes 2 and 6.
TYPE110 18.188 INPUT STATEMENT EXCEEDED 110 Journal GLRHTYPE=2.
TYPE110 18.250 CICS STAT STID=126 zero obs in CICCFS6D dataset.
TYPE110 18.276 CICS 1.3 SAP Journal records in CICSJOUR vice CICSSAP
TYPE110 18.313 EXCLUDED FIELDS error message for TS 1.3 in error.
TYPE110 18.314 Support for CICS/TS for z/OS Version 2.1 (INCOMPAT).
TYPE110 18.333 New "Header" exit IHDR110S to skip unwanted STID's.
TYPE115 18.292 Support for MQ Series V5.2 (INCOMPATIBLE)
TYPE116 18.292 Support for MQ Series V5.2 (INCOMPATIBLE)
TYPE120 18.299 Support for Websphere Appl Server Comp Brok SMF 120.
TYPE21 18.026 Support for APAR OW40414, adds four byte fields.
TYPE28 18.032 Support for Tivoli Netview NPM V2R5 new subtypes.
TYPE28 18.254 Support for NPM APAR OW37743 (INCOMPAT if TIC3,3746).
TYPE28 18.257 NPM 28 NPMSUBTY=14x NRT non-fatal MXG messages.
TYPE28 18.273 Support for APAR OW37743 corrected.
TYPE28 18.279 NPM Type 28 Subtype 'DC'x caused INPUT EXCEEDED.
TYPE28 18.308 Support for NPM APAR OW45788 corrects LXETxxxx.
TYPE30 18.001 _Bdddddd list macros were updated for NODUP.
TYPE30 18.286 Init delays SMF30JQT/RQT/HQT/SQT incorrect.
TYPE30 18.344 Some duplicate steps were not removed by NODUP.
TYPE37 18.266 Support for NETVIEW SMF 38 APAR OW45728.
TYPE38 18.015 INPUT EXCEEDED RECORD SMF type 38 record.
TYPE39 18.185 Protection for NETVIEW SMF 39 overlaid ROUTE seg.
TYPE42 18.118 Support for Type 42 RLS Subtype 19 enhanced, fixed.
TYPE42 18.334 TYPE42XR dataset (XRC) was trashed; misaligned INPUT.
TYPE50 18.197 Support for APAR II11493 (INCOMPAT) type 50 SMF.
TYPE6 18.137 Variable CUTSHEET in TYPE6/PDB.PRINT was wrong.
TYPE6 18.274 Short JES3 type 6 record protected.
TYPE64 18.187 Support for APAR OW43854, adds OPENTIME to SMF 64.
TYPE70 18.258 Variable CPCMODEL ('RX6') added to TYPE70.
TYPE7072 18.023 SMF70CIN was reread, didn't remove ICFs.
TYPE7072 18.027 Support for retrofit APAR OW41317 was in MXG 17.17.
TYPE7072 18.120 APAR OW41317 support, INCOMPAT R2.7 or R2.8.
TYPE71 18.199 TYPE71 Memory (Hi,Med,Low Impact Frames) now useful.
TYPE74 18.049 "Broken RMF Record" over-protective, revised.
TYPE74 18.125 Extra observations in TYPE746B (HFG Global Buffs).
TYPE74 18.166 Variables R744Cxxx in TYPE74ST wrong in 2nd segment.
TYPE74 18.261 TYPE74 for PAV had over 100% for PCTDVUSE/ACT/CON/PND
TYPE79 18.004 Type 79 subtype 15 IRLM Long Lock now validated.
TYPE80A 18.024 INPUT STATEMENT EXCEEDED in RACFTYPE=39 segment.
TYPE85 18.055 Support for OAM Release 1.5.0 (INCOMPATIBLE) SMF 85.
TYPE94 18.123 Support for 3494 Peer-to-Peer (Gemini).
TYPE94 18.176 Support for APAR OW45168 confirmed.
TYPEAPAF 18.021 Support for APAF Release 4.6.
TYPEBETA 18.019 Invalid Y2K date now protected in BETA93 records.
TYPEBETA 18.164 Support for BETA93 Release 321 INCOMPATIBLE.
TYPECIMS 18.051 IMF Fast Path INPQUEUE, ARRIVTIME corrected.
TYPECIMS 18.191 New variable PSBNAME was still blank.
TYPECIMS 18.225 Counts in CIMSDB2 and CIMSDBDS wrong after Ch 17.303.
TYPECMA 18.056 Support for CMA Release 1.11 (COMPATIBLE).
TYPECMA 18.142 Subtype 6 variable SMFT06PC incorrect.
TYPEDB1 18.226 Variable JOB in DB2ACCT can be blank.
TYPEDB2 18.003 Support for DB2 6.1 Buffer Pools 100+ in DB2ACCT.
TYPEDB2 18.202 DB2GBPST,DB2STATS some QGBxxxx and QXxxxx vars wrong.
TYPEDB2 18.305 Support for DB2 Version 7.1 (COMPATIBLE).
TYPEDB2 18.348 QWAXxxxx variables now put back in QWACxxxx.
TYPEDCOL 18.224 DCOLLECT sort macros now remove duplicates.
TYPEEDA 18.227 Support for Enterprise Data Access, EDA, SMF record.
TYPEEDGR 18.322 Support for DFSMSRMM 1.5 changes (COMPATIBLE).
TYPEEDGS 18.128 DFSMS/rmm dataset EDGSVREC had blank dataset names.
TYPEEDGS 18.162 Support for DFSMS/rmm TYPEEDGS/TYPEEDGB still wrong.
TYPEEREP 18.183 EREP Symptom Record was incorrectly output.
TYPEFDR 18.351 Support for Innovation Data Processing's FDR SMF.
TYPEFTP 18.141 Variable DVGSBCNT has always been wrong.
TYPEGUTS 18.040 Support for GUTS, Gutenberg Time Sharing, SMF.
TYPEICE 18.136 RECTYPE=5 records were incorrectly output.
TYPEIMSB 18.103 IMS log processing, 18.03 only, IMS 6.1 only, error.
TYPEIMSB 18.139 IMS Log Version 5.1 caused zero obs in IMSTRAN.
TYPEIMSB 18.283 IMS 6.1, MSGSZOUT a constant, wrong value.
TYPEMIM 18.029 Variables labeled and reformatted
TYPEMVCI 18.087 Support for MainView for CICS 5.3.01 (INCOMPATIBLE).
TYPENSPY 18.069 Support for CA's NETSPY 5.3 (COMPATIBLE).
TYPENSPY 18.232 STOPOVER ABEND NETREC='I' with NSPYENTL=124.
TYPENSPY 18.323 Variable TIC_UTIL now created in NSPYTIC3 dataset.
TYPENTSM 18.110 Support for COM Tran Integrator, TN3270 Server, etc.
TYPENTSM 18.143 Support for new NTSMF Objects in Windows 2000 Server.
TYPENTSM 18.193 Support for NTSMF object "SESSION", from Term Svcs.
TYPENTSM 18.245 Support for NTSMF ADSM/ColdFusn/MQSeries/WorldSecure
TYPEOMVT 18.229 Support for Omegamon for VTAM V500 (COMPAT).
TYPEOMVT 18.244 Support for Candle's Omegamon for VTAM TCP record.
TYPEORAC 18.034 Support for Oracle Version 7.3.3 (INCOMPATIBLE).
TYPEORAC 18.133 Oracle CPUTM is revised based on Oracle feedback.
TYPEQACS 18.222 Support for AS/400 Collection Services records.
TYPEQAPM 18.173 Support for OS/400 Release 4.5.0 (INCOMPAT LRECLs).
TYPERMFV 18.326 CSA, ECSA, SQA, ESQA variables calculated.
TYPERMFV 18.349 Support for RMF III for z/OS (COMPAT).
TYPERSDF 18.093 Support for Roger Software Development RSD FOLDERS.
TYPESARR 18.270 SARRU33 records from CA-VIEW subtype 33 corrected.
TYPESHDW 18.247 Support for Neon System's Shadow Server V4.5 SMF.
TYPESHDW 18.311 Support for SHADOW SMF Subtype 6.
TYPESOLV 18.332 Support for SOLVE SMF Subtypes 1 and 2.
TYPESPMG 18.311 Support for DB2 Space Manager 2.1 (INCOMPAT).
TYPESTC 18.035 VTCS 2.2 VTV Timestamps invalid, corrected.
TYPESYNC 18.347 Support for SYNCSORT Release 3.7 (COMPAT).
TYPETCP 18.171 TCP SMF 118 Bad Record INPUT STATEMENT EXCEEDED.
TYPETCP 18.196 Support for APAR PN61399 TCP type 118 SMF.
TYPETLMS 18.355 Support for TLMS 5.5 records; there was no change.
TYPETMDC 18.231 Support for Landmark TMON for DBCTL.
TYPETMS5 18.054 PROC SORTs now have _WTMSTMS/_WTMSDSN for Work copy.
TYPETMV2 18.290 Support for TMON for MVS 2.0 NQ records corrected.
TYPETMVT 18.236 Support for Landmark TMON for VTAM.
TYPETNG 18.337 Support for CA's UNICENTER TNG performance cubes.
TYPEVITA 18.275 Support for Vital Signs VisionNet VSAM file.
TYPEVITA 18.353 Support for Vital Signs VisionNet VSV TCPIP stats.
TYPEWWW 18.327 Support for IBM Domino WebServer Logs enhanced.
TYPEXPTR 18.073 Support Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE
UTILRMFI 18.017 Utility to detect overlap in RMFINTRV workloads.
VMACDB2 18.300 DB2ACCT variable DB2TCBTM included SPAS CPU twice.
VMXGCICI 18.268 CICINTRV DSA size variables corrected.
VMXGCICI 18.278 CICINTRV request for "EOD" did not sum correctly.
VMXGDEL 18.020 You can use (COMPRESS=YES) with MACRO _Ldddddd.
VMXGDUR 18.326 Support for interval specification of MINUTE.
VMXGENG 18.182 New %MACRO to determine the ENGINE of a SAS dataset.
VMXGRMFI 18.009 Using Report PGNs or Reporting Classes didn't work.
VMXGRMFI 18.038 Added COMPAT GOAL SYSx to USECNTRL/USEREPRT
VMXGRMFI 18.062 New RMFINTRV parms KEEPPGN/KEEPRPGN/KEEPSRV/KEEPRSRV
VMXGRMFI 18.088 Using VMXGRMFI with TREND= and PDB=blank corrected.
VMXGSUM 18.182 VIEW used to avoid physical I/O, can be big savings.
VMXGSUM 18.326 Support for interval specification of MINUTE.
VMXGUOW 18.204 New %MACRO to support ASUMUOW revisions.
VMXGUOW 18.281 Logic errors corrected.
WEEKBLD 18.135 WEEKBLD and MONTHBLD had wrong BY for TYPE30MU.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 18.
======Changes thru 18.360 were in MXG 18.18 dated Feb 12, 2001======
Change 18.360 Support for IBM's free MOUNTMON tape mount and allocation
EXMOUNTM monitor creates the new MOUNTMON dataset from either the
TYPEMOUN flat file or the SMF record. Support for this monitor
TYPSMOUN was prompted by concerns that the MXG Tape Mount Monitor
VMACMOUN was missing fast, scratch Virtual Tape mounts, and if the
VMXGINIT IBM freebie did better, I was prepared to restructure the
Feb 11, 2001 ASUMTAPE logic to use their record instead of ASMTAPE's
SMF record, but the initial comparison with three day's
data with both monitors running showed MOUNTMON saw 462
mounts with 1 second sampling and MXGTMNT saw 452 with 2
second default sampling, so I'm greatly encourages that
no errors are seen in MXGTMNT capture of mounts. However
as the IBM monitor captures Device Pend/Dis/and Connect
times, I will evaluate an enhancement to combine both
monitor's data and improve the quality of MXG measurement
of tape mounts and tape drive usage. The IBM MOUNTMON
monitor is written and supported by Dennis Haight, and is
available at ftp://ftp.software.ibm.com/storage/tapetool/
Thanks to Mike Shapland, (i)Structure, USA.
Change 18.359 This analysis of the new z/OS MSU capacity was provided
ANALMSU by Alan Sherkow. See the text of Change 18.298 for the
Feb 11, 2001 discussion of PDB.RMFINTRV's new MSU4HRAV variable that
measures your current capacity in Millions of Service
Units (per hour) for License Manager pricing.
Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.
Change 18.358 My QA stream reports variables with blank labels, but now
many I've actually used it to clean up labels in these members
Feb 11, 2001 ASUMCACH ASUMTAPE ASUMVMON CHANGES TYPEIMS TYPETMS5
VMAC30 VMAC42 VMAC50 VMAC90A VMAC91 VMACBGSI
VMACGUTS VMACHURN VMACIMS VMACNTSM VMACRSDF VMACSTC
VMACTMDB VMACTMS5 VMACTMV2 VMACTNG VMACVITA VMACXPTR
VMXGRMFI. These member's update date was updated but
the last change referenced is the prior change.
Change 18.357 Eight TMS flag variables from the TMSREC record are now
TYPETMS5 propagated into the pseudo TMSDSNB observation created
VMACTMS5 from the TMSREC. The DSNBssss suffixes updated are
Feb 11, 2001 DSNBUSRU/TMSI/ECAT/ABND/ISCA/DFXU/WSCA/DFLT (into DSNB)
UPD/ETM/CAT/ABN/FILEISCA/DEFEXPOO/E99/DEF (from TMS).
New DEVTYPE values for Redwood, STK 9842 and 3590E are
created from TRTCH values of E4-E7 and EA-EB.
Thanks to David Ehresman, University of Louisville, USA.
Change 18.356 SAS SMF record pads SASPROC with '00'x instead of blank,
VMACSASU causing SASPROD to be UNKNOWN because the $MGSASPR table
Feb 9, 2001 expected blanks. SASPROC= TRANSLATE(SASPROC,' ','00'x);
was added to convert the '00'x to blank (and note that
a blank, rather than '40'x is used so the code will work
under either ASCII or EBCDIC) before the create of:
SASPROD=PUT(SASPROC,$MGSASPR.);
Thanks to Jim Peddycord, The Northern Trust Company, USA.
Change 18.355 Support for TLMS 5.5 records; there were no changes to
TYPETLMS the record or to MXG; this is just for documentation.
Feb 9, 2001
Change 18.354 Collected updates and new features added.
ASUMCACH -ASUMCACH added KEEPALL=YES, ID=DEVICE and the logic to
ASUMSMFI keep only DASD devices; tape devices were reported.
FORMATS -New ASUMSMFI summarizes PDB.SMFINTRV, keeping only the
VMXG2DTE variables needed for problem solving and accounting.
ASUM23 -New format MGPCTGR is used to print horizontal graphs in
TRND23 DB2 reporting.
ASUMVMNT -New VMXG2DTE macro is self-documenting and provides the
TRNDVMNT creation of week-to-date and month-to-date summarization.
ASUMVTVM The algorithms can interleave or APPEND the output.
ADOCUOW -Summarization and trending of TYPE23 (SMF activity) is
Feb 12, 2001 provided in the new ASUM23/TRND23 members
-Summary of VSM recall and migrate activity by hour from
STCVSM19 records is provided in new ASUMVTVM member.
-Summary of VSM mount activity is summarized in ASUMVMNT
and TRNDVMNT from STCVSM13 records.
-Revision of documentation for large volume CICS/DB2 shows
how best to set up VMXGUOW processing, in member ADOCUOW.
Thanks to Chuck Hopf, MBNA, USA.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 18.353 Support for Vital Signs VisionNet Record created new MXG
EXVITATC dataset VSVTCPIP with VSV TCPIP Interface Stats, but
IMACVITA there will be additional datasets created from their VSAM
TYPEVITA file.
TYPSVITA
VMACVITA
VMXGVITA
Feb 8, 2001
Thanks to Craig Collins, State of Wisconsin IT Services, USA.
Change 18.352 Running MXG under ASCII SAS to create DB2ACCT dataset did
VMACDB2H not convert the NETSNAME to ASCII, so you could not match
Feb 8, 2001 the DB2 plan back to its CICS transaction.
Thanks to Mark Cohen, DTS, ITALY.
Change 18.351 Support for Innovation Data Processing's FDR user SMF
EXFDRDSF record creates new FDRDSF dataset with an observation for
FORMATS each FDR event.
IMACFDR
TYPEFDR
TYPSFDR
VMACFDR
VMXGINIT
Feb 8, 2001
Thanks to Shawn Beardsley, NDC Health Information Services (AZ), USA.
Change 18.350 Cosmetic. Labels were missing for variables in VMACDB2
VMACDB2 (PLAN,TRAN), in VMAC28(NRTDTYPE), in VMXGRMFI(CECSUSEC),
VMAC28 VMAC42(SMF42NRS), and VMAC74(SMF74CNF,SMF74CNX). Labels
VMXGRMFI for CSFRxxAV and ESFRxxAV that didn't have AVE, now do.
VMAC42
Feb 7, 2001
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 18.349 Support for RMF III changes for z/OS COMPATIBLY added a
EXZRBCPU few fields, and three previously undecoded segments are
EXZRBCSR now decoded to create these three new datasets:
EXZRBPGP ZRBCPU - Processor
IMACRMFV ZRBCSR - Common Storage Remaining
VMACRMFV ZRBPGP - Performance Group Period
VMXGINIT This change also added the CSA/ECSA/SQA/ESQA variables in
Change 18.325. Many variables are still the accumulated
value, and have not been divided by their sample count.
Please validate that the variables of interest to you do
match their RMF III screen values, and let me know if you
find any needed corrections for MXG variables.
Thanks to Thom Kight, Fidelity Systems, USA.
Change 18.348 MXG created QWAXvvvv variables in DB2ACCT from the new
VMACDB2 QWAX segment, but I failed to realize that most of those
Feb 5, 2001 QWAX fields were existing QWACvvvv variables, with some
new QWAX fields. Instead of extending QWAC, IBM created
the new QWAX segment; if it exists, your QWAC fields are
all zero. I should never have created the QWAXvvvv names.
So this change now stores the QWAXvvvv values in QWACvvvv
variables that exist, and creates new QWACvvvv variables
for the new QWAX fields.
I should DROP the QWAXvvvv variables now, but I can't do
that without warning, as those few of you who found the
QWAX variable names would have reports failed, so this is
your warning: Do Not use QWAXvvvv variable names.
Use their QWACvvvv counterpart instead.
Variable names starting with QWAXvvvv will go away soon!
And if you want to drop them now, with this change, you
can use the _KDB2ACC macro to drop them, with:
MACRO _KDB2ACC DROP=
QWAXALCT QWAXALOG QWAXANAR QWAXARNC QWAXARND QWAXAWAR
QWAXAWCL QWAXAWDR QWAXOCSE QWAXSLSE QWAXDSSE QWAXOTSE
QWAXOCNS QWAXSLNS QWAXDSNS QWAXOTNS
QWAXAWFC QWAXFCCT QWAXIXLE QWAXIXLT
QWAX fields so your existing and future programs work
with the same QWACvvvv names in your future reports, and
this change accomplishes that: use QWACvvvv instead of
QWAXvvvv in any reports you write.
QWAXxxxx variables should not have been created at all,
but since I can't safely DROP them without warning, here
is your warning:
Don't USE DB2ACCT variables named QWAXxxxx;
Instead, use QWACxxxx with the same suffix
Thanks to Alan Winston, MBNA,USA.
Change 18.347 Support for SYNCSORT Release 3.7 (COMPAT) adds variables.
VMACSYNC SYNCSORT now permits up to 100 SORTWORK DDs, so VMACSYNC
Feb 8, 2001 can creates up to 100 sets of variables for each sort
work area, but the MXG default is 32, previously the max
that SYNCSORT allowed. You can increase the number of
sets of variables if you have more than that:
-You can change it permanently by adding this statement in
your IMACKEEP member to re-definite the default value:
MACRO _NSYNCWK 100 %
-Or, to increase it just for this execution of TYPSSYNC,
you can change it "Instream" with this in your //SYSIN:
%LET MACSYNC= MACRO _NSYNCWK 99 % ;
(you can track variable NRWRKUSE in TYPESYNC to see if
more than 32 sort works are being used).
Note: Dec 2001: The DDnames are SORTWK00-SORTWK99, but
SAS will start with SORTWK01 and not use SORTWK00.
Thanks to Chuck Hopf, MBNA,USA.
Change 18.346 ASUMTALO could have MAXDRVS greater than installed drives
ASUMTALO when tape drives are switched between systems, because of
Feb 3, 2001 slightly different timer pops on different systems. One
event with ALOCEND=11:22:05.79 on SYSA was followed by an
event with ALOCSTRT=11:22:05.60 on SYSB. The overlap is
always less than the monitor interval (2 second default);
code inserted into an existing step now detects any such
overlap and resets the ALOCSTRT to the previous ALOCEND.
Thanks to Bruno Peeters, Dexia, BELGIUM.
Change 18.345 The High/Med/Low Impact Average Frame variables are now
VMXGRMFI MAX'ed for each interval and added to PDB.RMFINTRV. The
Feb 2, 2001 variables that are added are these:
CSFRSRAV CSFRWLAV CSFRFXAV CSFRLSAV CSFRTOAV CSFRAVAV
CSFRHIAV CSFRLOAV CSFRMEAV ESFRSRAV ESFRWLAV ESFRHSAV
ESFRLSAV ESFRTOAV ESFRAVAV ESFRHIAV ESFRLOAV ESFRMEAV
Thanks to Peter Smith, SEMA, ENGLAND.
Change 18.344 Some duplicate steps were not removed by PROC SORT NODUP
VMAC30 because the BY list did not force adjacency if there was
Feb 1, 2001 a real step and a flushed step with the same TERMTIME.
Variable INITTIME was needed at the end of the BY list
defined in MACRO _BTY30U4.
Thanks to Michael Oujesky, MBNA, USA.
Change 18.343 MXG 18.12 only. Typo in label had *' instead of * in
VMACIAM one label in this (fortunately) seldom-used code; typo
Jan 31, 2001 was made incorrectly after final QA.
Change 18.342 Variables CSFRLSAV and ESFRLSAV were incorrect; parens
VMAC71 were missing. The correct equations are:
Jan 31, 2001 CSFRLSAV=CSTORE-(CSFRTOAV-CSFRFXAV);
ESFRLSAV=ESTORE-(ESFRTOAV-ESFRHSAV);
Thanks to Peter Smith, Sema plc, ENGLAND.
======Changes thru 18.341 were in MXG 18.12 dated Jan 30, 2001======
Change 18.341 A short first record in the Catalog Export's output file
VMACCTLG caused notes on the log, but no error. The record is now
Jan 30, 2001 decoded and the time stamp text string is printed on log.
Thanks to Len Rugen, State of Missouri Department of Education, USA.
Change 18.340 BETA93 variable JESNR was missing for JOB/TSU/STC. Add
VMACBETA ELSE DO;
Jan 29, 2001 JESNR=INPUT(SUBSTR,JCTJOBID,4,5), ?? 5.);
END;
in two places so JESNR will be populated.
Thanks to Klaus Messer, COMLAB GmbH, GERMANY.
Change 18.339 Divide by zero protected in two places in this analysis
ANALCACH example.
Jan 29, 2001
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 18.338 New MXG enhancement defines new MACRO _Vdddddd that
_Vdddddd lets you use this simple and straightforward syntax:
Jan 28, 2001 %LET MACKEEP= MACRO _Vdddddd KEEP= A B C % ;
(or you can put that MACRO _Vdddddd in member IMACKEEP)
to KEEP only those variables want kept in an MXG dataset!
The original design of the _Kdddddd macro will still
be supported (documented in DOCMXG), but that syntax
still requires you to list those variables that you do
not want to keep, using a DROP= statement; kludgy!
This change moves the text of the KEEP= and its list from
inside the _VARxxxx macro into a new _Vdddddd for each
MXG dataset, and the syntax of the _VARxxxx definition
was changed to use that new _Vdddddd token:
_Wddddddt (LABEL='THE*LABEL*FOR*THE*DATASET'
_Vdddddd _Kdddddd )
While being easy to use, the new _Vdddddd will also truly
keep only what you want; using _Kdddddd to DROP variables
only drops variables you listed; all new MXG variables
(a new release of CICS?) will be kept in your output data
set until you edited your DROP= list.
You can put the MACRO _Vdddddd definitions in IMACKEEP
if you ALWAYS want only those variables kept in that data
set, or you can tailor a job in its //SYSIN "instream",
so the macro changes only what's created by that job.
Using the CICSTRAN dataset as an example, you look up the
"dddddd" dataset-suffix name in the IMACxxxx member for
the TYPExxxx product, so IMAC110 tabulates the dddddd for
each MXG dataset built from the type 110 SMF record. The
IMAC110 member show you that "CICTRN" is the dddddd name
for the "CICSTRAN" dataset, so this instream tailoring
creates CICSTRAN.CICSTRAN with only three variables kept:
//SYSIN DD *
%LET MACKEEP=
MACRO _VCICTRN KEEP= APPLID TRANNAME TASCPUTM% ;
;
%INCLUDE SOURCLIB(TYPE110);
This is an internal text change inside VMAC members, and
it should be transparent to your existing tailoring.
Since datasets with lots of variables are the ones most
likely to need KEEP= tailoring, datasets with the most
variables were revised first; most have been enhanced but
not all MXG members were finished when 18.18 was ready.
These members that already defined an _Vxxxxxx macro were
set aside to be examined later:
TYPEAXC,TYPECMA,TYPEFTP,TYPEICE,TYPEIMS1,TYPEOMCI,
TYPEPW,TYPEQACS,TYPEQAPM,TYPEQTRT,TYPETUX,TYPEVMXA,
TYPEXAM,TYPE102,TYPE28,TYPE79,TYPE84
Change 18.337 Support for CA's UNICENTER TNG performance cubes data for
EXTAI001- AIX, CISCO, WIN-NT, and SOLARIS platforms creating these:
EXTAI005 MXG
EXTC2001- Platform Object Max Max Max DATASET
EXTC2002 Instance Vars Rows NAME
EXTC7011 AIX411: BUFFER 1 8 95 AI001
EXTNT001- CPU 1 5 95 AI002
EXTNT020 PAGING 1 4 95 AI003
EXTSO001- QUEUES 1 4 95 AI004
EXTSO015 SWAPPING 1 1 95 AI005
FORMATS CIS2500: CISCO 7 130 76 C2001
IMACTNG MIB-2 34 89 76 C2002
VMACTNG CIS7500: CISCO 24 166 76 C7001
TYPETNG NTS400I: BROWSER 1 20 95 NT001
TYPSTNG CACHE 1 27 95 NT002
UTILTNGO ICMP 1 27 95 NT003
VMXGINIT IP 1 17 95 NT004
Jan 28, 2001 LOGICALDISK 5 21 95 NT005
MEMORY 1 27 140 NT006
NBT CONNECTION 8 3 95 NT007
NETBEUI 2 39 71 NT008
NETBEUI RESOURCE 13 3 71 NT009
NETWORK INTERFACE 3 17 140 NT010
OBJECTS 1 6 95 NT011
PAGING FILE 2 2 140 NT012
PHYSICALDISK 3 19 140 NT013
PROCESSOR 2 10 95 NT014
REDIRECTOR 1 37 95 NT015
SERVER 1 26 140 NT016
SERVER WORK QUEUES3 17 140 NT017
SYSTEM 1 25 140 NT018
TCP 1 9 95 NT019
UDP 1 5 95 NT020
SOL240S: BUFFER 1 8 12 SO001
CPU 1 5 12 SO002
DISK 3 6 12 SO003
FILE-ACCESS 1 3 12 SO004
FILESYSTEM 2 3 12 SO005
IPC 1 2 12 SO006
KERNEL MEMORY ALLOC1 8 12 SO007
MEMORY 1 2 12 SO008
NETWORK 5 5 12 SO009
PAGING 1 11 12 SO010
QUEUES 1 4 12 SO011
SWAPPING 1 5 12 SO012
SYSTEM-CALLS 1 7 12 SO013
TABLES 1 7 12 SO014
TERMINAL 1 6 12 SO015
The dataset names in this implementation are structured:
Dataset Name: PPOOO
WHERE PP= Platform Type 2-Character Abbreviation:
AI=AIX411 C2=CIS2500 C7=CIS7500
NT=NTS400I SO=SOL240S
OOO= Object Number within Platform (see above)
Variable Name: PPOOOVVV
VVV= Variable (metric) number within object.
The Label for each MXG dataset is the Object Name; the
Label for each MXG variable is the Metric Name. Use the
PROC CONTENTS DATA=PDB._ALL_ DETAILS; to display what is
what in the AInnn,C2nnn,C7nnn,NTnnn and SOnnn datasets.
This is a departure from MXG variable naming. Most MXG
names are abbreviations for what it is, but these names
are all cryptic, except for the common BY variables of
PLATFORM SYSTEM INSTANCE and STARTIME. If it turns out
that having "real MXG variable names" is needed, perhaps
to match existing variables from other data sources, an
optional rename with PROC DATASETS will be developed.
New metrics/platforms/objects are easy to add; MXG notes
new objects and metrics on the log, telling you to run
UTILTNGO program, and email me the report and the OBJECTS
dataset. I can create the needed code from those files.
The next major enhancement to TNG support (2nd Quarter?)
will make the processing of TNG data completely dynamic:
I will only create datasets for those objects that had
data in the input file, and will only keep variables for
metrics that were found in the input file. That will
minimize the space required and remove the clutter of the
un-measured variables, and the completely new algorithms
in this support were designed with that intention.
Standard MXG PDB:
You will continue to have the option of building the
standard all-variable all-datasets PDB library from TNG
data, so your PDB libraries are consistent, with missing
values in variables that were not measured, and with
zero observations in datasets for objects that were not
found in today's data.
Dynamic MXG PDB:
You can tell MXG to construct the datasets and variables
that were found in today's input data stream, using only
the amount of storage and processing to be determined by
the data stream.
This architecture is extendable to other data sources
that have one row of raw data describing the object and
the metric followed by that one column of data values.
-Over a year ago, Roman Jost tried to convince me that
TNG was a find source of data, and sent me code that
read the TNG data, but it took me a year to finally
realize how I could write supportable code. This
development was actually triggered by a phone call
after CMG from the mid-west insurance company that had
written a C-program to "decode the performance cube
data". I had all along assumed that some API-issuing C
program or a vendor-provided utility was needed to read
the data, but when I realized this C program read a
flat file and wrote a flat file, and then actually
looked at a faxed dump of three records, I saw that the
raw data could be processed with SAS.
-My first pass took two days, and I read each record to
create one dataset for each variable, outputting an obs
for each data value, and then merged those datasets
together to create a dataset per object. I tested the
prototype with an NT cube with four objects and twenty
metrics, and the logic performed as designed.
-Then I wrote a SAS utility to generate all of the SAS
statements I would need to create a dataset for all of
the other objects and variables in all cubes for five
platforms, executed the generated code, and it worked.
However, with a small performance cube (64KB in size),
the program used 330 MegaBytes of disk storage and 10
minutes to create those 800+ datasets!
-Examining the structure of these data, I realized that
with fairly limited numbers of observations and limited
numbers of objects in one single input cube, arrays to
store a single performance cube was all that was needed
and that generated names for variables and datasets was
the best solution for this type of data structure; at
the end of each input cube, one dataset per object is
created, containing all of that object's metrics, so
there are 44 datasets created, one per object.
-The final run with multiple input of 24 daily cubes, at
15 minute intervals, 10,000 records, 6.6MB of raw data,
now took 25 seconds (12 to read and create datasets,
and 13 seconds to sort them into the PDB), used 17MB of
disk work space, with less than 6MB virtual storage for
all arrays, so the algorithm should scale well as new
objects and metrics are added in the future. The MXG
output PDB library was 6MB of disk for 24 days data,
using COMPRESS=YES under Win98 on a 500MHz Pentium III.
COMPRESS=NO took 2 seconds longer, needed 37MB for
work space and created a 12MB PDB on disk; I've
previously reported that COMPRESS=YES saves time and
disk space on Pentium architecture.
Change 18.336 -Device Number variables STC13DID/STC14DID are character
VMACSTC variables formatted with $HEX4., which do not translate
Jan 24, 2001 correctly between EBCDIC and ASCII platforms. New DEVNR
variable is created as numeric and formatted HEX4., so it
matches DEVNR in other MXG datasets like TYPE74.
See Newsletter "Executing SAS on PCs and Workstations"
-STC does not store anything into the channel interface
name field, variable STC11INM, so we will now store the
channel interface number as a character in STC11INM with:
IF STC11INM LE ' ' THEN STC11INM=PUT(_I_,8.);
so that if they change their mind and store a value in
the future, you'll get it, but for now, we need to sort
by STC11INM. (The LE ' ' catches both blanks and hex
zeros).
Thanks to Chuck Hopf, MBNA, USA.
Change 18.335 Testing statement PUT RTYPE= $HEX2.; should have been
VMACNAF deleted, and now it is. Only impact was a large SASLOG.
Jan 24, 2001
Thanks to Robert A. Brown, Arthur Anderson, USA.
Change 18.334 XRC dataset TYPE42XR had trash; the INPUT was misaligned.
VMAC42 The following INPUT statement was inserted before the
Jan 23, 2001 existing DO statement in member VMAC42:
INPUT @S42XRSSO @;
DO _I_=1 TO S42XRSSN;
Thanks to John Nalesnik, The Prudential, USA.
Thanks to Brenda Rabinowitz, The Prudential, USA.
Change 18.333 New "Header" exit IHDR110S for the CICS 110 Statistics
IHDR110S STID segments allows you to skip unwanted subsubtypes
VMAC110 and thereby save CPU time for the INPUT statements, if
Jan 22, 2001 you only want to output one or a few STID's (like STID=25
a year's CICSLDR observations). See IHDR110S comments;
you simply set variable STIDWANT to 1 or zero, using:
IF STID =25 THEN STIDWANT=1;
ELSE STIDWANT=0;
or
IF STID IN (1,5,9, ..) THEN STIDWANT=1;
ELSE STIDWANT=0;
to skip unwanted STID segments, you should also throw
away the unwanted subtype 1 transaction record and other
unwanted statistics subtypes using the MACFILE tailoring:
%LET MACFILE= %QUOTE (
IF ID=110 ;
IF SUBTYPE=2;
);
so only (in this case) subtype 2 records, which contain
subsubtype 25 records, are input past the SMF header.
Note these mappings of subtypes to STID's:
0 - Journal
1 - Transaction, Exception, Dictionary
2 - Statistics - all other STIDs
3 - Statistics - STIDs 121,122,123
4 - Statistics - STIDs 126, 127, 128, 129
5 - Statistics - STIDs 124, 125
Change 18.332 Support for Solve SMF subtypes 1 and 2 create new dataset
EXTYSOL1 TYPESOL1 for FTS File Send/Receive.
FORMATS
IMACSOLV
VMACSOLV
VMXGINIT
Jan 20, 2001
Thanks to Aubrey Tang, Westpac Banking Corporation, AUSTRALIA.
Change 18.331 Validation of Shadow SMF subtype 6 changed variable
VMACSHDW SM06SQSR from numeric to variable length 32000 if under
Jan 19, 2001 V8 with COMPRESS=YES, or will be broken down into 100
byte pieces and output in multiple records (with resource
counts set to missing values in the SM06SEGN=2nd and
subsequent observations). All test records had SQL text
truncated at byte 255, with the rest of the SM06SQLN
bytes filled with hex zeroes. That may be an error or
an installation choice; it is under investigation, but
MXG prints one instance if found.
Thanks to Chris Morgan, IBM Integrated Technology Services, ENGLAND.
Change 18.330 Character strings (SQL text) greater than 100 bytes long
VMAC102 were truncated to 100 bytes if run under SAS V8 without
Jan 19, 2001 COMPRESS=YES. The tests to decide to break the long text
into 100 byte chunks was IF &SASVER GE 7 THEN DO; but
that was changed to IF &SASCHRLN LE 100 THEN DO; because
the &SASCHRLN length is set greater than 100 only if both
SAS V8 is being used AND COMPRESS=YES is used.
Change 18.329 The DB2 Accounting Summary report is enhanced to match
ANALDB2R the DB2 Version 6 DB2PM reports.
Jan 18, 2001
Jan 30, 2001
Change 18.328 The MQIN view/dataset was not deleted at the end of the
VMXGUOW program, causing no error, but inconsistent with MXG's
Jan 17, 2001 deleting of temporary datasets from the work file.
Thanks to Chris Weston, SAS Institute ITSV, USA.
Change 18.327 IBM Domino WebServer logs are readable with TYPEWWW code,
TYPEWWW but the statement FULLURL=SUBSTR(FULLURL,1,LOC-1); was
Jan 16, 2001 changed to FULLURL=SUBSTR(FULLURL,1,LOC-10). Without the
change, variable FULLURL contained the URL plus the
variable HTTPCLVS.
Thanks to Greg Meyer, Isuzu Motors, USA.
Change 18.326 Interval specification of MINUTE are now supported in the
ANALCNCR VMXGSUM, VMXGDUR, and ANALCNCR functions, if you need the
ASUMTALO minute details. Hardcode INTERVAL=HOUR and divides by
VMXGDUR 3600 were replaced with _TALOINT and _TALOSECS macros
VMXGSUM that can be changed to MINUTE and 60 to get minutes.
Jan 15, 2001
Thanks to Luc Mattheus, DEXIA Bank, BELGIUM.
Change 18.325 Variables CSA, ECSA, SQA, and ESQA are now calculated in
VMACRMFV the RMF Monitor III dataset ZRBASI to track the sizes of
Jan 15, 2001 those memory areas allocated to each ASID/JOB, and the
variables GEICSAAS and GEISQAAS are divided by samples.
Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.
Change 18.324 Invalid data for RMGTSHTR (CICS Statistics) is because
VMAC110 the MSEC8. format still does not support values greater
VMACTMDB than 24 hours. I thought I had replaced all uses of the
Jan 12, 2001 MSEC8. informat with &PIB.8.6 and a divide by 4096, back
in Change 12.030, a few MSEC8 crept back in the IBM CICS
and the Landmark DB2 code. All have been replaced.
Thanks to Roman Jost, Gjensidige, NORWAY.
Change 18.323 Variable TIC_UTIL is now created in the NSPYTIC3 dataset.
VMACNSPY
Jan 11, 2001
Thanks to Tom Neurauter, Fidelity Investments, USA.
Change 18.322 Support for DFSMSRMM 1.5 changes (COMPATIBLE, new fields
EXEDGRK were added at end, new subtype added):
IMACEDGR -Dataset EDGRDEXT (DSN Record) new variables:
VMACEDGR RDVRSSCH='PRIMARY*VRS*SUBCHAIN'
VMXGINIT RD2VJBN ='SECONDARY*VRS*JOBNAME*MASK'
Jan 9, 2001 RD2VNME ='SECONDARY*VRS*NAME*MASK'
RD2VSCH ='SECONDARY*VRS*SUBCHAIN*NAME'
RD2VXDS ='SECONDARY VRS*SUBCHAIN*START DATE'
RDVRSXDS='PRIMARY*VRS*SUBCHAIN*START DATE'
-Dataset EDGRVEXT (VOL Record) new variables:
RVCONTNR='IN*CONTAINER*NAME'
(appears to be updated only for exported tapes).
RVRQPRTY='MOVEMENT*PRIORITY'
-New dataset EDGRKEXT created from new type K record.
RKCOUNT ='VITAL RECORD COUNT'
RKCRDATE='VITAL*RECORD*CREATE*DATE'
RKCRSID ='CREATE*SYSTEM*ID'
RKCRTIME='VITAL*RECORD*CREATE*TIME'
RKCRTJBN='JOBNAME'
RKDELAY ='DAYS*DELAY*BEFORE*SELECTION'
RKDELDAT='DATE VRS*IS TO BE*DELETED*BY RMM'
RKDESC ='DESCRIPTION'
RKDSNAME='DATA*SET*NAME'
RKDSNG ='DATASET*NAME*MASK IS*GDG?Y/P/N?'
RKGENKEY='DSET/VOL*GENERIC*CHARACTERS?'
RKLCDATE''LAST*CHANGE*DATE'
RKLCSID ='LAST*CHANGE*SYSTEM ID'
RKLCTIME''LAST*CHANGE*TIME'
RKLCUID ='LAST*CHANGE*USER ID'
RKLOC ='NAMEAOF LOCATION TO BE STORED'
RKLOCTYP='LOCATION*TYPE?*A/M/S/ '
RKNAME ='VRS*NAME'
RKNEXT ='NAMEAOF NEXT VRS IN THE CHAIN'
RKOWNER ='VITAL*RECORD*OWNER'
RKRETNC ='RETAIN*BASED ON*CYCLES?'
RKRETND ='RETAIN*BASED ON*ELAPSED DAYS?'
RKRETNR ='RETAIN*BASED ON*UNREFERENCED DAYS?'
RKRETNW ='RETAIN*ONLY WHILE*CATALOGED?'
RKRETNX ='RETAIN*UNTIL*EXPIRED?'
RKSTNUM ='STORE KEEP NUMBER'
RKTYPE2 ='VRS*TYPE*V=VOL*D=DSET*N=NAME'
RKVOLSER='VOLUME*SERIAL'
Thanks to Carl Kyonka, Enbridge, CANADA.
Change 18.321 Warning that variable RPRTCLAS was duplicated in an ID
TRND72GO argument was valid, but of no impact. RPRTCLAS was added
Jan 9, 2001 to the SUMBY= by Change 18.189 but should have also been
removed from the ID= argument. Now it is.
Change 18.320 MXG 18.06-MXG 18.10, and only if VMXGSUM was called twice
BLDNTPDB with &DDNAME as an input argument (we found it only in
VMXGSUM BLDNTPDB and only in the LDSK report). Change 18.182
Jan 9, 2001 added a call to new %VMXGENG (to determine the SAS engine
that created the input dataset), but used DDNAME for a
temporary macro, and then changed its value. This change
eliminates the use of DDNAME inside VMXGSUM. There was no
change made to member BLDNTPDB.
Thanks to Terry Heim, ECOLAB, USA.
Change 18.319 The calculation of Standard Deviation was incorrect;
TRNDCICS the logic from TRNDCICX was imported into TRNDCICS.
Jan 9, 2001
Change 18.318 The SORT FIELDS= value in JCLIMSL5 should have been
JCLIMSL5 SORT FIELDS=(1,12,A,35,8,A,29,1,A),FORMAT=BI
Jan 9, 2001 The change was made in JCLIMSL6 but not in L5.
Thanks to Roman Jost, Gjensidige Gruppen, NORWAY.
Change 18.317 Support for z/OS R1.1 (COMPATIBLE).
VMAC7072 TYPE70: New z/OS metrics for this CPU/SYSTEM:
VMXGRMFI CPUADJCH='PHYSICAL*CPU*ADJ FACTOR*CHANGED?'
Jan 5, 2001 Changed only by Capacity Upgrade on Demand.
Jan 20, 2001 SUAVAICH='SU*AVAILABLE*CHANGED?'
SMF70CPA='SU_SEC*OF THE*PHYSICAL*CEC'
SMF70LAC='IBM*4-HR*AVERAGE*HOURLY MSU'
SMF70WLA='Defined*Capacity*SU*Available'
TYPE70PR: New z/OS metrics for each LPAR segment:
LPARCLND='CAPACITY*LIMIT*NOT*DEFINED?'
LPARDCLC='DEFINED*CAPACITY*LIMIT*CHANGED?'
LPARWLMG='WLM*MANAGEMENT*OF THIS*LPAR?'
LPARWTFD='WAIT*TIME*FIELD*DEFINED?'
SMF70MSU='DEFINED*CAPACITY*LIMIT*IN MSU'
SMF70NSA='PCT WHEN*AT MAXIMUM*PARTITION*WEIGHT'
SMF70NSI='PCT WHEN*AT MINIMUM*PARTITION*WEIGHT'
SMF70NSW='PCT WHEN*LPAR WAS CAPPED*BY WLM'
SMF70ONT='LPAR*ONLINE*TIME'
SMF70PMA='AVERAGE*IRD*ADJUSTED*PARTITION*WEIGHT'
SMF70WST='LPAR*WAIT*TIME'
RMFINTRV: Variables from TYPE70 now maxed into RMFINTRV:
SMF70LAC='IBM*4-HR*AVERAGE*HOURLY MSU'
SMF70WLA='MAX SU*AVAILABLE*TO MVS*IMAGE'
Additional z/OS changes:
New TYPE74 Subtype 7 FICON Director - await test data,
will be supported ASAP, new MXG dataset(s) to be.
New TYPE99 Subtype 8 LPAR CPU Management - no data.
Similar to subtype 2, will decode upon request.
New TYPE99 Subtype 9 Dynamic Channel Path Management.
Have data, will decode upon request.
Type 78.1 documentation was removed.
Type 79.13 documentation was removed.
MXG support is based on pre-GA documentation, and there
may be differences in the GA level of the product.
Change 18.316 The null macro _NSHDW was incorrect and if you tried to
VMACSHDW use it, you got a strange "180" error about "WORK".
Jan 4, 2001
Thanks to Wayne Schumack, Blue Cross Blue Shield of Minnesota, USA.
======Changes thru 18.315 were in MXG 18.11 dated Jan 3, 2001======
Change 18.315 Documentation of the Internal Logic of the MXG PDB. This
DOCPDB was presented as a 3-hour Workshop prior to CMG 2000.
Jan 3, 2001
Change 18.314 Support for CICS TS for z/OS Version 2.1 (INCOMPAT):
EXCICEJR As usual, while there's some interesting new metrics that
EXCICIIR IBM added to the CICSTRAN record, they inserted those new
EXCICSJF fields (instead of adding them at the end of the segment)
EXCICSOG so you MUST install this change to process 2.1 records.
EXCICSOR -Dataset CICSTRAN - New variables inserted:
IMACCICS JVMITICN='CICS JVM*INITIALIZE*ELAPSED*COUNT'
VMAC110 JVMITITM='CICS JVM*INITIALIZE*ELAPSED*TIME'
VMXGINIT JVMRTICN='CICS JVM*RESET*ELAPSED*COUNT'
Jan 3, 2001 JVMRTITM='CICS JVM*RESET*ELAPSED*TIME'
Jan 28, 2001 KY8CPUCN='USER-TASK*KEY 8*TCB CPU*COUNT'
KY8CPUTM='USER-TASK*KEY 8*TCB CPU*TIME'
KY8DISCN='USER-TASK*KEY 8*TCB DISPATCH*COUNT'
NETID ='NETWORK*QUALIFIED*NAME*NETWORK ID'
OTSINDCN='OTS*INDOUBT*WAIT*COUNT'
OTSINDTM='OTS*INDOUBT*WAIT*TIME'
OTSTID ='OTS*TRANSACTION*ID*(TID)'
PORTNUM ='TCP/IP*SERVICE*PORT*NUMBER'
RLUNAME ='NETWORK*QUALIFIED*NAME*NETWORK*NAME'
RQPWAICN='REQUEST*PROCESSOR*WAIT*COUNT'
RQPWAITM='REQUEST*PROCESSOR*WAIT*TIME'
RQRWAICN='REQUEST*RECEIVER*WAIT*COUNT'
RQRWAITM='REQUEST*RECEIVER*WAIT*TIME'
SOCHRIN ='SOCKET*CHARACTERS*RECEIVED'
SOCHROUT='SOCKET*CHARACTERS*SENT'
SOCNPSCT='CREATE*NON-PERSISTENT*SOCKET*REQUEST'
SOCPSCT ='CREATE*PERSISTENT*SOCKET*REQUEST*COUNT'
SOEXTRCT='SOCKET*EXTRACT*REQUEST*COUNT'
SONPSHWM='NON-PERSISTENT*SOCKET*HIGH-WATER-MARK'
SOOIOWCN='OUTBOUND*SOCKET*I/O*WAIT*COUNT'
SOOIOWTM='OUTBOUND*SOCKET*I/O*WAIT*TIME'
SOPSHWM ='PERSISTENT*SOCKET*HIGH-WATER-MARK'
SORCVCT ='SOCKET*RECEIVE*REQUEST*COUNT'
SOSENDCT='SOCKET*SEND*REQUEST*COUNT'
SOTOTCT ='SOCKET*TOTAL*REQUEST*COUNT'
TCPSRVCE='TCP/IP*SERVICE*NAME'
WBBRWCT ='WEB BROWSE*REQUEST*COUNT'
WBEXTRCT='WEB EXTRACT*REQUEST*COUNT'
WBREADCT='WEB READ*REQUEST*COUNT'
WBWRITCT='WEB WRITE*REQUEST*COUNT'
-New CICS Statistics STIDs create new MXG datasets:
STID Name MXG DSN Description
107 STISOG CICTCPSO TCP/IP Sockets Global
108 STISOR CICTCPIP TCP/IP Services (Sockets)
111 STIIIR CICTCPII TCP/IP II Domain RequestModel
114 STIEJR CICTCPEJ TCP/IP Entrprse Java ObjContainer
117 STISJG CICTCSJG TCP/IP JVMPOOL Statistics
MXG support is based on pre-GA documentation, and there
may be differences in the GA level of the product.
Change 18.313 MXG 18.10 only. Change 18.280 caused CICS/TS 1.3 records
VMAC110 to print error messages about EXCLUDED fields when there
Jan 2, 2001 were no excluded fields, and records were deleted:
***ERROR.TYPE110.CICS TS 1.3. EXCLUDED FIELDS HAVE BEEN DETECTED.
MXG EXPECTED MCTSSDCN=202 AND MCTSSDRL=1260.
RECORD WAS DELETED, CICSTRAN DATA WAS LOST.
SYSTEM=XXXX APPLID=YYYYYYYY SMFPSRVR=53 MCTSSDCN=203 MCTSSDRL=1288
(Disregard the "MXG EXPECTED" text, which was also wrong,
and note that the final line of the error message showing
MCTSSDCN=203 is the correct minimum number of fields.)
The test in line 6977 in VMAC110 was changed from 203 to
204 when it should have remained 203. The correction is
to change that line back to test for LT 203:
6976 ELSE IF SMFPSRVR GE 53.0 THEN DO;
6977 IF MCTSSDCN LT 203 OR MCTSSDRL LT 1288 THEN DO;
If optional fields exist in your type 110 record, this
error does not occur, which is why I missed it in 18.10!
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.312 Variable DATETIME is kept in 169 MXG datasets, but it has
BUILD005 different meanings depending on which dataset it was in,
BUIL3005 and in the PDB.JOBS/STEPS/PRINT/SPUNJOBS datasets, it was
SPUNJOBS not correct. In those four datasets, while labeled as
Jan 2, 2001 "DATETIME OF SHIFT CALCULATION", its value was the time
of the beginning of the shift, rather than the actual
DATETIME value of the job.
Originally, "DATETIME" was a temporary variable that
was used as the input datetime value for your IMACSHFT
definition, to set the value of the character variable
SHIFT. So that summarization with VMXGSUM could
exploit your shift definitions, IMACSHFT changes the
value returned in variable DATETIME, setting its value
back to the time of the start of this shift.
But along the way, DATETIME was accidentally kept in
some datasets, so now it must be corrected where it is
wrong, and documented where it is different.
Now, in the PDB.JOBS/STEPS/PRINT/SPUNJOBS dataset, the
value that is returned in variable DATETIME will be the
original value that was used to calculate the shift:
PDB.JOBS and PDB.SPUNJOBS:
MAX(READTIME,INITTIME,JINITIME,JINLTIME,JSTRTIME);
PDB.STEPS:
MAX(READTIME,INITTIME);
PDB.PRINT:
MAX(READTIME,PRINTIME);
The MAX() is used since some timestamps may be missing,
and the Max/Last datetime value is the logical time of
the job start, step initiate, or print file print time.
In these summary datasets that contain variable DATETIME:
ASUMxxxx CICINTRV CICS JOBSKED MNTHxxxx TRNDxxxx
it is properly labeled 'START OF INTERVAL' and contains
that correct value. In some of those datasets. variable
STARTIME exists and is equal to DATETIME, and where it
exists, STARTIME is better as it is self-describing!
In dataset EREPTIM, DATETIME='DATETIME FOR IPL RECORDS'
and is correct, as IMACSHFT is not invoked in VMACEREP.
In the many OPCxxxxx datasets, DATETIME='EVENT DATETIME',
and is correct, as IMACSHFT is not used here, either.
Thanks to Cendrine Pezier, ABS Technologies, FRANCE.
Change 18.311 Support for DB2 Space Manager 2.1 (INCOMPATIBLE) from SE
FORMATS (Software Engineering). The "current" date/time fields at
VMACSPMG the start of the record were removed, shifting the real
Jan 2, 2001 date/time fields to the left. No error message occurs,
but variable SPMGTIME is missing. FORMATs were updated
to print "Blank:TYPE1" instead of " :TYPE1" (cosmetic).
And variables FARINDRF,NEARINDR,PCTACTIV and PCTDROP are
set missing if they contain all FFx.
Thanks to Anke Mineur, DVG, GERMANY.
Change 18.310 Documentation. Example invocation of the ITSV macros
DOCITSV that are needed to add a new MXG variable into the ITSV
Jan 2, 2001 PDB (in case you need something not yet in ITSV).
Thanks to Chris Weston, SAS ITSV, USA.
Change 18.309 The WorldSecure SMTP Relay object printed UNEXPECTED OBJ
VMACNTSM message; the NRNAMES=NRNAMES-1; statement for that object
Jan 2, 2001 should have been deleted.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.308 Support for APAR OW45788 for NPM corrects the lengths of
VMAC28 several LXETxxxx variables in the X.25 Session dataset
Dec 26, 2000 NPMEVX25 that were originally mis-documented by IBM.
Change 18.307 Variable MSU4HRAV was correct for a uni-processor, but
VMXGRMFI was wrong in magnitude for multi-processors; NRCPUS(II)
Dec 26, 2000 was needed in the numerator of MSU4HRAV calculation.
Variable CECSUSEC is now kept, and the absence of //SPIN
DD statement no longer causes a failure.
Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.
Change 18.306 The Scheduling Environment name, SMF30PFL, and durations
BUILD005 SMF30HQT/JQT/RQT/SQT, are added to the PDB.JOBS dataset
BUIL3005 (JES2 or JES3, BUILDPDB/BUILDPD3. Those five variables
VMAC30 will be of long term importance in job scheduling, and so
Dec 23, 2000 are now automatically in PDB.JOBS. The change in VMAC30
was cosmetic; SMF30PFL was hex zeros when not populated;
now those '00'x will be translated to blanks.
Thanks to Stephen Marksamer, The Hartford, USA.
Change 18.305 The text of Change 18.300, re DB2TCBTM, was revised and
VMACDB2 the MXG equation, changed by this change, is now:
Dec 21, 2000 DB2TCBTM=
Jan 29, 2001 SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);
This change added support for DB2 Version 7.1 (COMPAT):
DB2ACCT new variables:
QBGA2H ='ASYNC*IXLCACHE*FOR SECC GBP'
QBGA2S ='COMPLETION*CHECKS*SUSPENDED'
QBGA2W ='CHANGED PAGE*WRITES TO*SEC GBP '
QBGAEX ='*EXPLICIT*XI-S'
QBGAHS ='ASYNCH*IXLCACHE*FOR PRI GBP'
QBGAGG ='GET PAGES*FOR GBP*DEP PAGES'
QWACARLG='TRACE EVENT*FOR WAITS*FOR LOG WRITE*I/O'
QWACARNK='CHILD L-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNM='OTHER L-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNN='PAGESET P-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNO='PAGE P-LOCKS*GLBL CONTENTION*EVENTS'
QWACARNQ='OTHER P-LOCKS*GLBL CONTENTION*EVENTS'
QWACAWLG='WAIT TIME*FOR LOG WRITE*I/O'
QWACAWTK='WAIT TIME*GLBL CONTENT*CHILD L-LOCKS'
QWACAWTM='WAIT TIME*GLBL CONTENT*OTHER L-LOCKS'
QWACAWTN='WAIT TIME*GLBL CONTENT*PAGESET P-LOCKS'
QWACAWTO='WAIT TIME*GLBL CONTENT*PAGE P-LOCKS'
QWACAWTQ='WAIT TIME*GLBL CONTENT*OTHER P-LOCKS'
QWACRBSV='ROLLBACK TO*SAVEPOINT*REQUESTS'
QWACRLSV='RELEASE*SAVEPOINT*REQUESTS'
QWACSVPT='SAVEPOINT*REQUESTS'
QWAXAWFC='WAIT TIME*FOR FORCE*AT COMMIT'
QWAXFCCT='WAITS FOR*FORCE*AT COMMIT'
QWAXIXLE='EVENTS FOR*ASYNC*IXLCACHE*IXLFCOMP'
QWAXIXLT='WAIT TIME*FOR IXLCACHE*IXLFCOMP'
QXDCLGTT='DECLARE*GLOBAL*TEMP TABLE*STMTS'
QXDEGDTT='PARALLEL*GROUPS*DECLARED*TEMP TABLE'
QXSETCPR='SET*CURRENT*PRECISION*STATEMENTS'
DB2ACCTP new variables:
QPACARNK='CHILD L-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNM='OTHER L-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNN='PAGESET P-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNO='PAGE P-LOCKS*GLBL CONTENTION*EVENTS'
QPACARNQ='OTHER P-LOCKS*GLBL CONTENTION*EVENTS'
QPACAWTK='WAIT TIME*GLBL CONTENT*CHILD L-LOCKS'
QPACAWTM='WAIT TIME*GLBL CONTENT*OTHER L-LOCKS'
QPACAWTN='WAIT TIME*GLBL CONTENT*PAGESET P-LOCKS'
QPACAWTO='WAIT TIME*GLBL CONTENT*PAGE P-LOCKS'
QPACAWTQ='WAIT TIME*GLBL CONTENT*OTHER P-LOCKS'
DB2ACCTG new variables:
QBGA2H ='ASYNC*IXLCACHE*FOR SECC GBP'
QBGA2S ='COMPLETION*CHECKS*SUSPENDED'
QBGA2W ='CHANGED PAGE*WRITES TO*SEC GBP '
QBGAEX ='*EXPLICIT*XI-S'
QBGAGG ='GET PAGES*FOR GBP*DEP PAGES'
QBGAHS ='ASYNCH*IXLCACHE*FOR PRI GBP'
DB2STATS new variables:
(DB2STAT0)
Q9STCTRZ='DISPLAY*FUNCGION*COMMANDS'
Q9STCTX0='START*FUNCTION*COMMANDS'
Q9STCTX1='STOP*FUNCTION*COMMANDS'
Q9STCTX2='SET*LOG*COMMANDS'
Q9STCTX3='DISPLAY*LOG*COMMANDS'
Q9STCTX4='SET*SYSPARM*COMMANDS'
QDSTCIN2='CURRENT*TYPE 2*INACTIVE*THREADS'
QDSTMADS='MAXIMUM*ACTIVE DBAT SLOTS NOT INUSE'
QDSTMIN2='MAXIMUM*TYPE 2*INACTIVE*THREADS'
QDSTMQR2='MAXIMUM*TYPE 2*QUEUED*REQUESTS'
QDSTNADS='CURRENT*ACTIVE DBAT SLOTS NOT INUSE'
QDSTNDBA='REQUESTS*REQUIRING*DBAT'
QDSTNITC='CONNECTIONS*TERMINATED*MAX TYPE 1'
QDSTNQR2='CURRENT*TYPE 2*QUEUED*REQUESTS'
QDSTPOOL='REQUESTS*SATISFIED*BY POOL THREAD'
QDSTQIN2='QUEUED*RECEIVE*REQUESTS*FOR TYPE 2'
QJSTBPAG='LOG-WRITE*BUFFER*PAGE INS'
QJSTCIWR='LOG*CI-S*WRITTEN'
QJSTLOGW='LOG WRITE*I/O*REQUESTS'
QJSTLSUS='SUSPENDS*FOR LOG WRITE'
QJSTSERW='SERIAL*LOG WRITE*REQUESTS* FOR REWRITE'
QJSTTHRW='TIMES*LOG WRITE*THRESHOLD*WAS REACHED'
(DB2STAT1)
QISEDFAL='FAIL*DUE TO*DATASPACE FULL'
QISEDFRE='FREE PAGES*IN DATASPACE*FREE CH'
QISEDPGE='PAGES*IN EDM*DATASPACE'
QTRACAUT='SUCCESS*AUTH CHECKS*FOR ROUTINES'
QTRACNAC='DB2 UNABLE*TO ADD ENTRY*TO AUTH CACHE'
QTRACNOT='ROUTINE*AUTH CHECKS*NON USE*AUTH CACHE'
QTRACOW1='DB2 OVERWROTE*AUTHID IN*AUTH CACHE'
QTRACOW2='DB2 OVERWROTE*ENTRY IN*AUTH CACHE'
QTRACPUB='SUCCESS*AUTH CHECKS*HELD BY*PUBLIC'
QXDCLGTT='DECLARE*GLOBAL*TEMP TABLE*STMTS'
QXDEGDTT='PARALLEL*GROUPS*DECLARED*TEMP TABLE'
QXSETCPR='SET*CURRENT*PRECISION*STATEMENTS'
DB2STAT2 new variables:
QDBPPGST='PGSTEAL*ATTRIBUTE'
QDBPSLA ='QDBPSLA*SERVICEABILITY'
QDBPVDQB='POOL*VERTICAL*WRITE*THRESHOLD'
QDBPVPTY='VPTYPE*ATTRIBUTE'
T102S006 new variables:
QW0006PG QW0006FG
T102S016 new variables:
QW0016WT
T102S017 new variables:
QW0017TY
T102S022 new variables:
QW0022AS QW0022CC QW0022CE QW0022FG QW0022QO QW0022RS
QW0022CY QW0022F2 QW0022NP QW0022PA QW0022TT
T102S022 new variables:
QW0023R1
-Additional T102Snnn subtypes will be decoded upon request
MXG support is based on pre-GA documentation, and there
may be differences in the GA level of the product.
======Changes thru 18.304 were in MXG 18.10 dated Dec 20, 2000======
Change 18.304 First MXG 18.10 only. Cosmetic. Label was truncated for
ASUMCICS variable SYSTEM and CPUTM had no label, because the equal
Dec 20, 2000 sign after CPUTM was missing.
======Changes thru 18.303 were in MXG 18.10 dated Dec 20, 2000======
Change 18.303 Cosmetic, in that the statement was never executed, but
VMXGCICI %ELSE INTRVSEC=0; should have been %ELSE %LET INTRVSEC=0;
Dec 19, 2000
Thanks to Russell Dewar, National Australian Bank, AUSTRALIA
Change 18.302 Support for APARs OW44845 and OW47050 adds a new report,
ANAL103 the HTTP Server Report, from SMF 103 records!
ANALRMFR MXG parameter overrides:
Dec 19, 2000 MXG HTTP Server Summary Report
%ANALRMFR(REPORT=HTTP);
DEFAULT is to create:
Interval of DATE and Report is HTTPSUM.
To create another Interval other than Date.
%ANALRMFR(REPORT=HTTP,RPTOPT=HTTPSUM,
INTERVAL=HOUR);
Create MXG HTTP Server Detail Report
%ANALRMFR(REPORT=HTTP,RPTOPT=HTTPDTA);
Values have not been verified, see comments within
ANALRMFR for more detail of overrides.
A DDNAME of PDB is now required anytime ANALRMFR is
invoked, whether it is a TEMPORARY SAS library
//PDB DD UNIT=SYSDA,SPACE=(CYL,(5,5))
or a CATALOGED SAS library:
//PDB DD DSN=MXG.PDB,DISP=(,CATLG),
// DCB=RECFM=FS,
// UNIT=SYSDA,SPACE=(CYL,(5,3))
New member ANAL103(HTTP), documentation only, how to
create the associated Post-processor RMF reports.
Change 18.301 Validated reports with FICON data records. REPORT=CHAN,
ANALRMFR columns READ(MB/SEC) and WRITE(MB/SEC) values were output
Dec 19, 2000 even if they were missing. Values were corrected to
match IBM RMF report. APAR OW42945 updated the Partition
Data Report to now include two TOTAL lines, one for all
CP partitions and one for all ICF partitions.
Thanks to Trevor Holland IBM/GSA Australia
Change 18.300 MXG 17.17 thru MXG 18.09 only. Variable DB2TCBTM in data
VMACDB2 set DB2ACCT included CPU time in Stored Procedure Address
Dec 07, 2000 Spaces twice. Both variables QWACSPCP and QWACSPTT were
Dec 18, 2000 added by MXG Change 17.382 to the DB2TCBTM formula,
Dec 21, 2000 DB2TCBTM=SUM((QWACEJST-QWACBJST),QWACSPCP,QWACSPTT);
because I read "not recorded" in IBM DB2 V6.1 DSNWMSGS:
QWACSPCP ACCUMULATED TCB TIME SPENT PROCESSING SQL CALL STATEMENTS
QWACSPCP IN THE DB2 STORED PROCEDURES ADDRESS SPACE OR A WLM
QWACSPCP ADDRESS SPACE. THIS TIME IS CALCULATED ONLY IF
QWACSPCP ACCOUNTING CLASS 1 IS ACTIVE.
QWACSPCP FOR A THREAD THAT USES RRSAF TO CONNECT TO DB2 AND
QWACSPCP IS SWITCHED AMONG TASKS, THIS VALUE IS 0.
QWACSPTT ACCUMULATED TCB TIME SPENT IN DB2 PROCESSING SQL
QWACSPTT STATEMENTS ISSUED BY STORED PROCEDURES. THIS IS <===
QWACSPTT THE TIME NOT RECORDED IN QWACSPCP. THIS TIME IS
QWACSPTT CALCULATED ONLY IF ACCOUNTING CLASS 2 IS ACTIVE.
and so I concluded that both SPCP and SPTT must be added,
and made Change 17.282 in January, 2000. But when data
had large and nearly equal values in both SPCP and SPTT,
we queried IBM DB2 support, who investigated and replied
that internal documentation showed that SPTT was included
in SPCP, and DSNWMSGS was wrong and would be corrected.
IBM DB2 support also confirmed that the additional CPU
time field for the execution of triggers under enclaves,
variable QWACTRTE, is also not included in EJST-BJST and
it must also be added to get the Total DB2 TCB CPU time
in DB2ACCT. So the final (Dec 21) equation is:
DB2TCBTM=
SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);
The SPAS accounting error surfaced when one user saw the
daily DB2 CPU time for his AUTHID jump from 20.17 seconds
when only EJST-BJST was charged, to 137.57 seconds when
SPCP=58.76 and SPTT = 58.60 were both added by MXG; the
user's bill increased by a factor of six!
His real cost without the double accounting was 78.93,
so his bill should increase by a factor of only four.
For this one AUTHID, SPAS CPU time was significant, and
because the SPTT time recorded was also large, the MXG
double accounting was significant. But that may not be
the general case; overall, SPTT seems to be quite small,
even when SPCP is large. Looking at the daily totals
from two sites shows that including SPCP can be
significant, but the CPU time in SPTT was insignificant:
One site Other site
EJST-BJST 166,612 1,095,220.92
QWACSPCP 205,839 389.34
QWACTRTE 0 0
DB2TCBTM 372,451 1,095,610.26
QWACSPTT 2,902 388.00
You should run a PROC MEANS SUM DATA=PDB.DB2ACCT;
to determine the impact of including SPTT at your site.
Dec 21 update: Today I looked at the DSNDQWAC DSECT, and
it was right all along, as it documents that:
QWACSPTT THE ACCUMULATED TCB TIME CONSUMED IN DB2 PROCESSING SQL
STATEMENTS ISSUED BY STORED PROCEDURE(S)
AND INCLUDED IN QWACSPCP <<===== !!!!!
It's all about knowing which documentation to believe!
Thank to Steve Colio, CIGNA, USA.
Thanks to Jane S. Huang, CIGNA, USA
Thanks to Curt Cotner, IBM, USA.
Change 18.299 Support for SMF 120 record for Websphere Application
EXT120CA Server Enterprise Edition OS/390 Component Broker
EXT120CC Version 3.02, added by APAR OW44456.
EXT120CI There are four subtypes, described by IBM as:
EXT120CM
EXT120SA Subtype=1: Server Activity Record:
EXT120SC Created for each activity that is running inside a
EXT120SI Websphere Application Server. This record can be used to
FORMATS perform basic charge back accounting as well as profiling
IMAC120 of customer written applications to determine in detail
TYPE120 what is happening inside the Websphere Application
VMAC120 Server. MXG dataset TY120SA
VMXGINIT
Dec 16, 2000 Subtype=2: Container Activity Record
Created for each activity that runs inside a container
located in a Websphere Application Server. This record
can be used to perform basic charge back accounting,
application profiling, problem determination, and
capacity planning. MXG Datasets TYP120CA/TYP120CC and
TYPE102CM.
Subtype=3: Server Interval Record
Created for each server instance that has interval
recording active during the interval. The purpose of this
record subtype is to record activity that is running
inside a Websphere Application Server. This record is
produced at regular intervals and is an aggregation of
the work that has run inside the server instance during
the interval. MXG Dataset TYP120SI.
Subtype=4: Container Interval Record
Created for each active container located in a Websphere
Application Server. This interval record provides a
snapshot view of the activity running inside the
container. This record can be used to perform application
profiling, problem determination, and capacity planning.
MXG Dataset TYP120CI.
And IBM APAR OW44456 requires the following doc changes:
Periodically, IBM refreshes documentation on our Web
site, so the changes might have been made before you
read this text. To access the latest on-line
documentation, go to the product library page at:
www.ibm.com/software/webservers/appserv/library_390.html
And support provides a new edition:
Document Name: WebSphere Application Server Enterprise
Edition for OS/390 Operations and Administration
Document Number: GA22-7328-01
The new edition contains a chapter (Chapter 9) that
explains how to set up and use the new SMF recording
support and an appendix (Appendix A) that describes
the new SMF record type 120.
To get the new edition, go to our Web site at:
www.ibm.com/software/webservers/appserv/library_390.html
IBM support also requires changes to existing doc:
Document Name: WebSphere Application Server Enterprise
Edition for OS/390 Component Broker Planning and
Installation Guide
Document Number: GA22-7325-00
See revisions in the APAR OW44456 text.
This support has not been tested with 120 SMF records.
Change 18.298 Support for the z/OS License Manager's new LPAR capacity
VMXGRMFI measurement: "Four-Hour Running Average MSU", with MSU in
TRNDRMFI "Million Service Units per Hour", based on the raw SU_SEC
Dec 12, 2000 of the physical platform. New MXG variable MSU4HRAV is
Dec 18, 2000 now created in the PDB.RMFINTRV dataset, and it is that
Feb 10, 2001 value that z/OS will pass to the License Manager, which
is compared with the licensed MSU for that LPAR (which
you chose in your software License Certificate for that
LPAR). WLM measures the MSU consumed by the LPAR every
five (may be changed) minutes, and if the licensed MSU is
exceeded, WLM will cap the LPAR to that licensed MSU for
the next interval.
So this new License Manager can save you lots on software
license costs, if you don't need an entire machine for an
LPAR; you can even license only part of an engine.
BUT to save that money, you will need to know your peak
MSU4HRAV for the month, in advance, so you can purchase a
correct size license, and you will need to track when
that peak MSU4HRAV consumption occurs, perhaps so you can
time-shift work to reduce that peak MSU consumed. Since
each month's charge is likely to be based on the maximum
peak running average during each calendar month, tracking
closely at near-month-end may be needed!
When WLM capping is invoked (because the LPAR exceeded
its licensed MSU4HRAV), response times may be elongated,
and it remains to be seen what feedback will be available
to alert you that dynamic capping was applied, but with
this new variable now, you can at least estimate the size
of each of your Systems to see how you will be able to
take advantage of License Manager product pricing.
The MSU4HRAV variable is created in PDB.RMFINTRV when
you run BUILDPDB/BUILDPD3, or if you run RMFINTRV or
invoke %VMXGRMFI in your own program. The algorithm
also creates the new SPIN.SPINRMFI dataset, which holds
the last four hours of the previous day, and is read by
the next day's BUILDPDB so that continuous four-hour
means are calculated. Variable CECSUSEC, the SU_SEC of
the physical CEC, is also created in PDB.RMFINTRV.
New variable MSU4HRMX in TRNDRMFI is the maximum value
of the MSU4HRAV during each trended interval.
You can add the new variables MSU4HRAV and CECSUSEC to
existing PDB.RMFINTRV datasets (without re-reading the
SMF data), by using the PDB=ADDMSU option in %VMXGRMFI to
read each existing PDB.RMFINTRV dataset and write back a
replacement, enhanced PDB.RMFINTRV dataset, as shown:
//PDB DD DSN=YOUR.EXISTING.PDB,DISP=OLD
//SYSIN DD *
%VMXGRMFI(PDB=ADDMSU);
If you add a //SPIN DD to that example, and start your
re-creation from the oldest to the newest, MSU4HRAV
will exist in all observations (except for the first
four hours of the oldest PDB):
//WEEKOLD EXEC MXGSAS
//PDB DD DSN=YOUR.WEEKOLD.PDB,DISP=OLD
//SPIN DD DSN=YOUR.SPIN,DISP=OLD
//SYSIN DD *
%VMXGRMFI(PDB=ADDMSU);
... one step per week ...
//WEEKNEW EXEC MXGSAS
//PDB DD DSN=YOUR.WEEKNEW.PDB,DISP=OLD
//SPIN DD DSN=YOUR.SPIN,DISP=OLD
//SYSIN DD *
%VMXGRMFI(PDB=ADDMSU);
If you use the first example, without SPIN, the first
four hour's observations in each output PDB.RMFINTRV
dataset will have missing value for the new variables.
Definitions and description of the algorithm:
"MSU" is Millions of Service Units per Hour, and it is
calculated from the raw (un-weighted) Service Unit Per
Second value (MXG's SU_SEC variable from TYPE72). The
equation to calculate the hourly MSU capacity is:
MSU= 3600*SU_SEC*NRCPUS/1000000 = 336 MSU (per hr)
(e.g.: 10 engine, SU_SEC=9334.8828, a z900 2064-110)
- But SU_SEC value in PDB.RMFINTRV and TYPE72 data is an
LPAR value, and is based on the number of CPU engines
that you gave to that LPAR for this system; increasing
the number of engines decreases the SU_SEC value, due
to the Multi-Processor effect that causes the recorded
CPU time to increase with the number of engines:
Spin loops for access to serialized storage is seen
as CPU time, and the recorded CPU time increases as
the number of engines increases, so to get constant
Service Units, we must multiply by a smaller factor.
An example of the 9021-711 family's MP Factors
CPUs 1 2 3 4 5 6 7 8 9 10
Pct: 100 95 92 88 85 81 79 77 75 72
So instead of using the SU_SEC value for each LPAR,
which varies with the number of engines in each LPAR,
the MSU capacity measurement in z/OS is based on the
new CECSUSEC variable, which is the SU_SEC for all
engines, the "SU_SEC" of the physical "box" or "CEC"
CEC, was Central Electronics Complex,
CPC, now Central Processing Complex,
and CECSUSEC is constant from LPAR to LPAR in a box.
CECSUSEC did not exist in the RMF records, and it has now
been added in z/OS as SMF70CPA, but MXG creates it now so
we can calculate MSU capacity even before you're at z/OS.
a. The original (18.11) algorithm to calculate CECSUSEC
and MSU from pre-z/OS records (replaced, below):
In OS/390 RMF TYPE72 records, we only have the SU_SEC
of this LPAR, but we could calculate the CECSUSEC from
the LPAR SU_SEC and and the "table of MP factors",
above, given the engines in the LPAR and in the box:
CECSUSEC=SU_SEC*MP(PARTNCPU)/MP(NRCPUS);
where
MP(n) is the MP factor for n engines, above, and
PARTNCPU=engines in the physical CEC, and
NRCPUS =engines in this LPAR.
A numerical example:
An LPAR with an SU_SEC = 1000
with NRCPU = 2 (2 engines for this LPAR), and
on a 6-way CEC (PARTNCPU=6) would have a
CECSUSEC = 1000 *(81)/(95) = CECSUSEC = 852
At 100% busy that 2-CPU LPAR has MSU capacity of:
MSU = 3600sec*852SU_sec*2engines/1000000=6.1 MSU
b. The present (18.18) algorithm to get IBM MSU capacity
(pre-z/OS) using table lookup of IBM published values:
The original code worked fine for that one set of MP
factors, but the factors vary with CPU families, and
IBM does not publish a table of MP factors; instead
IBM publishs the MSU capacity of each CPU, and with
the help of Alan Sherkow, the new $MG070CP format is
created as a look-up table that returns the capacity
in MSU and the CECSUSEC, given the CPUTYPE, CPUVERSN,
and (for 2064's) the CPCMODEL.
Alan also noted that the MSU capacity calculated from
CECSUSEC does not exactly match IBM's MSU table value,
even though we thought it should; differences of up to
10% were observed on some particular machines.
c. When you're running under z/OS with License Manager,
the needed fields are added by IBM to the type 70 RMF
record and are kept in PDB.RMFINTRV dataset:
MXG Variable z/OS Variable Description
CECSUSEC SMF70CPA SU_SEC of n-way CPC
MSU4HRAV SMF70LAC 4-hour Average MSU
MSUINTRV n/a Interval MSU count
temp SMF70WLA Defined MSU Capacity
While IBM will provide the SMF70LAC field in z/OS, MXG
now calculates MSU4HRAV from RMF Interval records, going
back four hours, and uses the actual interval durations
so it supports different interval sizes. The last four
hours of each system is written out to SPIN.SPINRMFI so
they can be re-introduced tomorrow so that the four-hour
is continuous in RMFINTRV. (If you're using ADDMSU with
a large PDB.RMFINTRV, default array sizes of 9999 permit
three month's worth of 15 minute intervals.)
This is new territory, and we'll know a lot more about
MSU4HRAV when the License Manager product is released,
but at least now you can begin to measure your LPARs in
these IBM units that will certainly be important in the
future of capacity measurement.
Please do not confuse the License Manager measurements
with Usage Based Pricing, because they are not related.
Under the License Manager, it will be the size of the
LPAR that you define that sets the price you pay for
Software that runs in that LPAR, and it is the total
work in that LPAR (and not the usage of any software
product) that is measured and compared with the LPARs
defined capacity in MSU. There is no measurement of
product's software usage under License Manager, and it
is all work in the LPAR that will be capped if the
MSU4HRAV/SMF70LAC exceeds the SMF70WLA capacity.
Change 18.297 Cosmetic. The test IF NUMTRANS GT 0 for the calculation
ASUMCICX of SQRTARG is redundant so it was removed.
Dec 8, 2000
Thanks to Ian Mackay, Royal Bank of Scotland, SCOTLAND.
Change 18.296 Variable SYSTEM and CPUTM are kept/summed respectively
ASUMCICS from input CICSTRAN/MONITASK data into the PDB.CICS
Dec 8, 2000 summary dataset. CPUTM=TASCPUTM+CPURLSTM in CICSTRAN.
Thanks to Aubrey Tang, Westpac Banking Corporation, AUSTRALIA.
Change 18.295 Support for APAR OWxxxxx which adds a flag bit to type 79
VMAC79 subtype 2.
Dec 8, 2000
Change 18.294 QBGLGG now decoded and kept, although the counters in the
VMACDB2 QBGL section are suspect and under investigation.
Dec 7, 2000
Thanks to Don Deese, Computer Management Sciences, USA.
Change 18.293 SPINCNT=SPINCNT+1; changed to SPINCNT=SUM(SPINCNT,1); so
IMACUOW that SPINCNT would actually be retained and incremented
Dec 7, 2000 and the SPIN library actually used.
Change 18.292 Support for MQ Series V5.2 SMF 115/116.
EXTY1152 -INCOMPATIBLE because subtype is now a two-byte binary at
EXTY1161 @19, having been corrected by IBM from the non-standard
EXTY116Q one-byte @19 (and that VMACSMF had catered for, and now
FORMATS had to be revised to cover both old and new 115/116 SMF).
VMAC115 -Reading new records with old MXG versions will create
VMAC116 zero observations from the new records.
VMACSMF -Type 115 Subtype 1, dataset MQMLOG has 7 new variables:
VMXGINIT QJSTBPAG QJSTCIWR QJSTLLCP QJSTLOGW QJSTLSUS QJSTSERW
Dec 8, 2000 QJSTTHRW
Dec 18, 2000 -Type 115 Subtype 2, new Q5ST DB2 manager statistics adds
70 new variables to existing dataset MQMMSGDM:
ABNDCNT ACTTASK CONNCNT DEADCNT DELECNT DELESCUW
DELESMXW DELETCUW DELETMXW DHIGMAX DISCCNT LISTCNT
LISTSCUW LISTSMXW LISTTCUW LISTTMXW NUMTASK READCNT
READSCUW READSMXW READTCUW READTMXW REQUCNT SCSBFTS
SCSDEL SCSDSCUW SCSDSMXW SCSDTCUW SCSDTMXW SCSINS
SCSISCUW SCSISMXW SCSITCUW SCSITMXW SCSMAXR SCSSEL
SCSSSCUW SCSSSMXW SCSSTCUW SCSSTMXW SCSUPD SCSUSCUW
SCSUSMXW SCSUTCUW SCSUTMXW SSKDEL SSKDSCUW SSKDSMXW
SSKDTCUW SSKDTMXW SSKINS SSKISCUW SSKISMXW SSKITCUW
SSKITMXW SSKSEL SSKSSCUW SSKSSMXW SSKSTCUW SSKSTMXW
UPDTCNT UPDTSCUW UPDTSMXW UPDTTCUW UPDTTMXW WRITCNT
WRITSCUW WRITSMXW WRITTCUW WRITTMXW
-Type 115 Subtype 2, new QEST Coupling Facility statistics
segment, MXG creates new MQMCFMGR dataset, one obs for
each structure (if QESTSTR structure name is non-blank:
IBM writes an array of 64 possible structures but MXG
outputs only the entries with data). MXG also calculates
the average duration of IXLLSTE and IXLLSTM calls in new
new variables QESTAVGE and QESTAVBM.
Updates to elements in the CF can be made one at a
time with IXLLSTE, or requests to update multiple
elements, a group of changes that have to be made
together, are done with IXLLSTM.
The other IBM variables created in MQMCFMGR dataset:
QESTCMEC QESTCSEC QESTMLUS QESTMNUS QESTMSTC QESTRMEC
QESTRSEC QESTSFUL QESTSSTC QESTSTR QESTSTRN
-Type 116: FORMAT MG116TY updated for '7:RRS BATCH' type
of attachment type.
-Type 116 subtype 0 creates old MQMACCT Message Manager
accounting; this was the only data set created from SMF
116 record prior to Version 5.2.
-Type 116 subtype 1 creates new MQMACCTQ Queue Level
Accounting dataset with WTIDxxxx and WTASxxxx variables.
This is the important, task-level, dataset, with elapsed
and CPU times per verb for commit and back out requests,
and has task identification, including Job, User ID,
Transaction Name if applicable, and Channel Name (TCP/IP
address or APPC LU).
-Type 116 subtype 1 or subtype 2 creates new MQMQUEUE
Queue Detail with WTIDxxxx and WQxxxx variables. This
data set has an observation for each QUEUE used by the
task, including number/elapsed/CPU times for MQOPEN,
MQCLOSE,MQPUT,MQPUT1,MQGET,MQINP and MQSET calls, and
the WTIDxxxx task identifiers.
Change 18.292 Cosmetic. Comment corrected and labels for Mount Wait
ASUMTMNT bucket variables MNTBKTn changed from 'PCT JOBS' to
Dec 6, 2000 the more accurate 'PCT MOUNTS*MOUNT WAIT*LESS THAN....'.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.291 Cosmetic. Labels added for DOMTRESP/DOMTWAIT/DOMTRTYP/
VMAC103 DOMTRNUM variables in VMAC108, and dataset labels in the
VMAC108 VMAC103 are now "HTTP Web Sphere Server" instead of the
Dec 6, 2000 Lotus Domino no-longer-used name.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 18.290 TMON for MVS 2.0 NQ records were not correct; Landmark
VMACTMV2 inserted data between 1.3 and 2.0, but no one noticed!
Dec 5, 2000 Both record formats are now supported, and new variables
are now created in dataset TMONNQ.
Thanks to Lindsay Robertson, GMAC Insurance, USA.
Change 18.289 Using IMACJBCK exit for DB2ACCT selection saves CPU time!
IMACJBCK The IMACJBCK exit (or MACJBCK= macro) is invoked in every
VMACDB2H SMF record that contains JOB name. For the DB2 SMF 101
Dec 5, 2000 Account records, using it instead of the EXDB2ACC/ACB/ACP
exit member to delete unwanted records can save lots of
CPU time, because it is invoked earlier in the processing
code, after the QWHS (Standard) and QWHC (Correlation)
Headers have been input, and before INPUTing all of the
other variables in all of the segments in the rest of the
accounting record, and then invoking the EXDB2ACx exit.
These QWHSxxxx and QWHCxxxx variables exist when IMACJBCK
exit is taken, and can be used to delete SMF 101 records
early, fully decoding only the selected records and then
taking EXDB2ACx exit before output into DB2ACCT/ACCTB/P:
SMFTIME ='TIME WHEN*SMF RECORD*WAS WRITTEN'
QWHSSTCK='STORE CLOCK*VALUE FOR*HEADER'
QWHSSSID='SUBSYSTEM NAME'
QWHCAID ='AUTHORIZATION ID '
QWHCCV ='CORRELATION ID '
QWHCCN ='CONNECTION NAME '
QWHCPLAN='PLAN NAME '
QWHCOPID='ORIGINAL OPERATOR ID'
QWHSRELN='RELEASE INDICATOR'
JOB ='JOB NAME*OR*TSO USER'
QWHSLUNM='LUNAME'
NETSNAME='ORIGINATING*SYSTEM*NET-NAME'
QWHCEUTX='END USERS*TRANSACTION*NAME'
QWHCEUID='END USERS*USERID*AT WORKSTATION'
QWHCEUWN='END USERS*WORKSTATION*NAME'
QWHCATYP='CONNECTING*SYSTEM TYPE*CODE'
Numeric values and their meaning:
0='0:UTILITY'
1='1:TSO'
2='2:DB2 CALL ATTACH'
3='3:DL/I BATCH'
4='4:CICS ATTACH'
5='5:IMS ATTACH BMP'
6='6:IMS ATTACH MPP'
7='7:DISTRIBUTED UOW'
8='8:REMOTE UOW'
9='9:IMS CONTROL REGION'
0AX='AX:IMS TRANSACTION BMP'
0BX='BX:UTILITY JOBS'
In your logic in IMACJBCK, you must DELETE unwanted SMF
records, so you must use NOT logic to select wanted:
//SYSIN DD *
%LET MACJBCK= %QUOTE(
IF ID=101 THEN DO;
IF QWHSSIID NE 'DB2SYS1' THEN DELETE;
IF NOT (JOB='MINE' AND QWHCPLAN='PLAN1') THEN DELETE;
END;
);
%ANALDB2R(PDB=SMF);
This change is minor: it moved the %INCLUDE of IMACJBCK
in member VMACDB2H to the end of the Correlation Header,
so all QWHCxxxx variables exist when at IMACJBCK. Added
are QWHCATYP/NETSNAME and new-in-6.1 QWHCEUID/EUTX/EUWN.
(There was no change to IMACJBCK; it just listed here so
you'll find this change when searching for that string!).
Savings: Reading 4.3GB of SMF 101 records to create all
these obs on an SU_SEC=2700 engine took 1426 CPU seconds.
Data Set Observations MegaBytes
DB2ACCT 1,842,166 1500
DB2ACCTG 1,289,146 800
DB2ACCTB 3,915,350 1430
DB2ACCTP 2,700,571 920
Total Output 4650
Deleting all obs in the _EDB2ACx exit took 1257 secs. The
delta of 1426-1257 = 169 seconds is the CPU cost for SAS
write out the 4.5 GB of output, about 27 MB/CPU second.
Using MACJBCK to delete all obs took 318 CPU seconds, so
the delta of 1257-318 = 939 seconds (deleting in _E exit)
is the CPU cost for SAS to execute the INPUT statements
for the 4.3 GB of SMF or about 4.6MB/CPU second.
The 318 seconds is the CPU cost just to read in all 4.3GB
of SMF, because the Headers are actually at the physical
end of each SMF record, so SAS reads SMF records at about
13.8 MB/CPU second.
Case Study:
Read 4.3GB Execute Write 4.5GB
SMF Data Input SAS Output Total
Output all: 318 secs 939 secs 169 secs 1426 secs
Output half:
_EDB1ACx 318 939 85 1342
IMACJBCK 318 470 85 873
Using IMACJBCK to select half of the obs saves 470 secs.
With this much possible saving, we will enhance ANALDB2R
in the near future so that any selection we can do in the
IMACJBCK exit will be done there if you use PDB=SMF for
your DB2PM-like reports, but you can exploit this exit
right now using the above example.
Thanks to Ron Alterman, Charles Schwab & Co., Inc., USA.
Change 18.288 The JCL in the TESTOTHR step of JCLTEST8 did not have the
JCLTEST8 //TMDCIN DD DUMMY and //TMDVTIN // DD DUMMY statements.
Dec 4, 2000 Member TESTOTHR had been updated to test the new support
and JCLTEST6 was updated, but JCLTEST8 was overlooked.
Thanks to Peter Herden, TUI (Touristik Union) Hannover, GERMANY
Change 18.287 Assembly error IEC293I FIRST DCB IN CLOSE NOT ACCESSIBLE
ASMIMSL6 because CLOSE (R3) must be CLOSE ((R3)) in line 1333.
Dec 1, 2000 Many MXG users have seen this error when they assembled
that program, but being ASM experts, they fixed it and
never told me about it! Since R3 is an address in reg 3
the parens tell the ASM that R3 is not a ddname!
Thanks to Alan Green, Zurich Financial Services, ENGLAND.
Thanks to Trevor Ede, EDS, NEW ZEALAND.
Change 18.286 The four new duration variables for initiator delays:
VMAC30 SMF30JQT /*JOB*PREPARATION*TIME*/
Nov 30, 2000 SMF30RQT /*INELIGIBLE*FOR*EXECUTION*TIME*/
SMF30HQT /*JOB*HOLD*TIME*/
SMF30SQT /*ELIGIBLE*FOR*EXECUTION*TIME*/
were multiplied by 1.024, but should have been multiplied
by 1024, as they are in 1024-microsecond units.
May 22, 2004: APAR OA07041 corrected SMF30SQT.
Thanks to Steve Simon, ALLTEL, USA.
Change 18.285 Cosmetic. Label for QWACARNG was corrected to be
VMACDB2 QWACARNG='WAITS FOR*SEND MSGS*DATA SHARING'.
Nov 30, 2000
Thanks to Allan J. Winston, MBNA, USA.
Change 18.284 JES 3 only. The WEEKBLD/WEEKBLDT/MONTHBLD members all
WEEKBL3 referenced dataset NJEPURGE which is JES2 only. These
WEEKBL3T three members can be used for JES3 sites; the only change
MONTHBL3 is that DJEPURGE instead of NJEPURGE is processed, and
Nov 29, 2000 the TYPE25 (also JES3-only) processing is added.
Nov 29, 2000
Thanks to Robert Sample, Atlanta Journal-Constitution, USA.
Change 18.283 IMS 6.1 only; variable MSGSZOUT is a constant and wrong
TYPEIMSB value in IMSTRAN dataset; the PUT "SUBQ6 $EBCDIC12." was
Nov 29, 2000 corrected to "SUBQ6 $EBCDIC4." to prevent the overlay.
My apologies to Pete Gain who's correct fix I typoed!
Thanks to Alan Green, Zurich Financial Services, ENGLAND.
Change 18.282 Invalid length ILKA record subtype 20 is protected now,
VMACILKA but the record is still invalid. The length of data in
Nov 29, 2000 SMFACDLN is 11,640, but the record is only 4092 bytes,
and the number of subpools expected is 256, but there is
room only for the first 98 subpool segments. This change
detects the bad record, prints a message on the log, and
outputs only the found subpool segments, while awaiting
a correction from the vendor. Only ILKAST20 dataset is
affected by this error.
Thanks to Frank d'Hoine, Nationale Bank van Belgie, BELGIUM
Change 18.281 Three logic errors in VMXGUOW were corrected:
VMXGUOW -IRESPTM was being summed from all MRO transactions, due
Nov 24, 2000 to the mis-location of the code that sets IRESPTM to the
single internal response time of the "TOR" transaction
(i.e.: now, IRESPTM is the response of the transaction
used for TRANNAME and TERMID).
-Counters were being summed as: HOLDX=HOLDX+X; but that
results in a missing value in the PDB.ASUMUOW output data
set if any counter was missing for any observation in the
input. Instead, the more robust HOLDX=SUM(HOLDX,X);
statement is used in VMXGUOW, so that only if all values
of a variable is missing in all input observations will
that variable have missing value in PDB.ASUMUOW output.
-The INCODE= segments (intended to allow tailoring things
like normalize CPU times across different processors, or
to add new variables) was mis-located after the code that
added the new variables, so new variables were missing.
Thanks to Chuck Hopf, MBNA, USA.
Change 18.280 Cosmetic, only affected MXG processing under ASCII SAS.
VMAC110 The variables RTYPE and RRTYPE should have been INPUT as
Nov 24, 2000 $EBCDIC1. instead of $CHAR1., so that they were converted
into ASCII characters for printing and MG110RT format.
See Change 18.313.
Change 18.279 NPM Type 28 Subtype 'DC'x (VTAM CSM Buffer Pool data) had
VMAC28 INPUT STATEMENT EXCEEDED INPUT RECORD error because I
Nov 24, 2000 mis-read the documentation. The four fields input at the
Nov 27, 2000 end of the sub-subtype VCSVDTYP=1 record (VCSMAXFS thru
VCSCUREC) exist in the VCSDTYPE=2 record, where they are
properly input. The four lines in the VCSVDTYP=1 INPUT
statement were replaced by +4 (to skip over the four
undocumented bytes at the end of the 176 byte segment).
Nov 27: Variable NRTDTYPE now kept with other NRT vars.
Thanks to Bruno Peeters, Dexia Bank Belgium, BELGIUM.
Change 18.278 -Summarization of CICS Statistics into CICINTRV for "EOD"
ADOCCICI (sum all "INT" and "End-of-Day" shutdown records into one
VMXGCICI total observation for each execution of a CICS region)
Nov 23, 2000 did not work properly: INTERVAL=EOD was never defined in
VMXGSUM/VMXGDUR, causing missing COLLTIME and STARTIME,
and multiple executions were lumped together. Since EOD
is defined only for CICS "EOD" in CICINTRV (set by adding
MACRO _CICINTV EOD % in your IMACKEEP or IMACCICS),
VMXGCICI was revised if EOD was requested and now passes
INTERVAL=MYTIME, and MYTIME= DATETIME=COLLTIME;, values.
The end result is that you get one observation for each