COPYRIGHT (C) 1984-2023 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG CHANGES 27.27
=========================member=CHANGE27================================
/* COPYRIGHT (C) 1984-2010 MERRILL CONSULTANTS DALLAS TEXAS USA */
MXG Version 27.27 is dated Jan 20, 2010, thru Change 27.361
MXG Version 27.27 is the 2010 "Annual Version".
MXG Newsletter FIFTY-FIVE is dated Jan 20, 2010
MXG Version 27.11 is dated Dec 31, 2009, thru Change 27.337
MXG Version 27.10 is dated Dec 6, 2009, thru Change 27.325
MXG Version 27.09 was dated Oct 14, 2009, thru Change 27.283
MXG Version 27.08 was dated Sep 1, 2009, thru Change 27.229
MXG Version 27.07 was dated Aug 11, 2009, thru Change 27.195
MXG Newsletter FIFTY-FOUR is dated Aug 10, 2009
MXG Version 27.06 was dated Jul 20, 2009, thru Change 27.167
MXG Version 27.05 was dated Jun 29, 2009, thru Change 27.145
MXG Version 27.04 was dated May 27, 2009, thru Change 27.107
MXG Version 27.03 was dated May 4, 2009, thru Change 27.083
MXG Version 27.02 was dated Apr 13, 2009, thru Change 27.066
MXG Version 27.01 was dated Mar 17, 2009, thru Change 27.042
MXG Version 26.26 was dated Feb 12, 2009, thru Change 26.326
MXG Version 26.26 was the 2009 "Annual Version".
MXG Newsletter FIFTY-THREE was dated Feb 3, 2009
Instructions for ftp download can be requested by using this form:
http://www.mxg.com/ship_current_version
Your download instructions will be sent via return email.
Contents of member CHANGES:
I. Current MXG Software Version 27.27 is available upon request.
II. SAS Version requirement information.
III. WPS Version requirement information.
IV. MXG Version Required for Hardware, Operating System Release, etc.
V. Incompatibilities and Installation of MXG 27.27.
VI. Online Documentation of MXG Software.
VII. Changes Log
Member NEWSLTRS contains Technical Notes, especially APARs of interest
and is updated with new notes frequently. All Newsletters are online
at http://www.mxg.com in the "Newsletters" frame.
Member CHANGES contains the changes made in the current MXG version.
Member CHANGESS contains all changes that have ever been made to MXG.
All MXG changes are also online at http://www.mxg.com, in "Changes".
=======================================================================
I. MXG Version 27.27 dated Jan 20, 2010, thru Change 27.361.
MXG Version 27.27 is the "Annual Version" for 2010.
Major enhancements added in MXG 27.27, dated Jan 20, 2010
VMXGCNFG 27.356 The standard SAS JCL Proc can be used for MXG.
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
TYPE112 27.358 Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X
TYPEEDGR 27.349 Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.
TYPEEDGR 27.349 Support for RMM APAR OA24025 RDDESKEY.
TYPEEDGR 27.339 RVTxERR RVPxERR variables now numeric, incompatible.
TYPE1415 27.361 MXG 27.06-27.11. BUFNO always zero due to typo.
TYPESRMH 27.340 SRM Thales Security PTF SL24010 INCOMPATIBLE support.
VGETDDS 27.359 WAIT=N option protects for DSNAME already in use.
VGETDDS 27.330 New DATEJUL= correctly generates julian dsnames.
VMXGALOC 27.355 NOWAIT added, create/allocates are now conditional.
READDB2 27.351 READDB2 didn't always invoke its EXdddddd members.
TYPE80A 27.357 TYPE8066 dataset enhanced.
TYPETMVT 27.347 TMON/VTAM "SI" record Interval variables now INPUT.
ANAL307X 27.346 Analysis compares Hourly CPU in 70, 72, 30 interval.
JCLCIDB2 27.345 UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.
ASUM70PR 27.344 Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.
VMXGSET 27.343 VMXGSET permits multiple datasets with APPEND=YES.
VMACSMF 27.341 WARNING: SUBTYPE GT 255 message now not defaulted.
TYPEIMSA 27.354 MXGNOTE now prints the value of _IMSVERS on the log.
Major enhancements added in MXG 27.11, dated Dec 31, 2009
EXPDBINC 27.334 MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.
(Must remove &EPDBINC from EXPDBINC if you used the
%UTILBLDP to create your BUILDPDB source SYSIN code.)
TYPETMNT 27.336 SYSLOG message text size increased to 32384 bytes.
ANALRMFR 27.333 RMF Summary Report (REPORT=SMRY) was incorrect.
ANALJOBE 27.332 Analysis of Job Events revised, JESNR test removed.
TYPE80A 27.331 Protection for unknown TOKDANAM eliminates STOPOVER.
TYPE82 27.330 SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.
TYPE110 27.329 MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used.
ASUMMIPS 27.327 DUR70 created with actual vs expected DURATM.
TYPEDB2 27.326 Variable QDSTQCIT now not deaccumulated.
Major enhancements added in MXG 27.10, dated Dec 6, 2009
TYPE0 27.325 Updated Support for z/OS 1.11, ID=0 now supported.
TYPECDC 27.324 Support for IBM's InfoSphere Change Data Capture CDC
TYPEDB2 27.319 Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).
TYPE7072 27.317 Support for APAR OA28670 RMF 70 Crypto Express3
VMACORAL 27.306 Support for restructured ORACLE SMF records.
TYPESYNC 27.289 Support for CPUZIPTM added in SYNCSORT SMF records.
READDB2 27.322 IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc)
MRGDB2 27.321 MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY
JCL40GIG 27.316 JCL example to split/parallelize BUILDPDB job.
VGETDDS 27.310 New DATEJUL= created DSNAMES with Julian YYYDDD.
VMXGDUR 23.308 SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.
ASUMMIPS 27.305 ASUMMIPS now inflates MSU by system CAPTURE RATIO.
TYPE110 27.303 CICS Total I/O and Total Other Wait updates.
ALOCGOVO 27.299 Allocate GDG's with GOOVOO to minimize DSENQUEUE.
TYPETIMS 27.298 Expensive algorithm to uncompress ASG/Landmark data.
TYPENTSM 27.312 MXG 27.09 only. NTSMF Processing failed, RECFM.
DAILYDSx 27.287 MXG 27.09 only. TMC= should have been TAPEDATA=.
TYPE74 27.287 MXG 27.09 only. DEBUGGING PUT statement removed.
CONFIGxx 27.294 MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
TYPEPROS 27.295 PRO/SMS SMF record misalignment corrected.
ASUM70PR 27.294 IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed.
ASUM70PR 27.292 First LPAR had missing values in LPSHAR/TOTSHARE.
TYPE42 27.291 Variable S42DSRDD incorrect by factor of 10**6.
ASMTAPEE 27.300 ASMTAPE ML-45 enhancements to TMNTnnnn messages.
Major enhancements added in MXG 27.09, dated Oct 14, 2009
TYPE110 27.260 TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!
This means you do NOT have to assemble and install
the EXITCICS "infile" exit.
HOWEVER: VERY EXPENSIVE COMPARED TO EXITCICS.
SEE THE TEXT OF THE UPDATED CHANGE.
MANY 27.277 Support for USER=DDNAME, "WORK" now "&MXGWORK".
TYPE110 27.274 SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed.
CICINTRV 27.274 CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.
READDB2 27.272 READDB2 support for WANTONLY now works.
TYPE110 27.270 CICS STID=115 should not exist.
ASUM70GO 27.268 Example summarizes PDB.TYPE72GO, changing interval.
TYPEVMXA 27.264 z/VM MONWRITE example processes only USER domain.
TYPE74 27.263 R744FNAM not in TYPE74DU, ITRM sites need update.
ASUMMIPS 27.262 MSU/MIPS for zIIPs and zAAPs added to CPs summary.
TYPE120 27.255 WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.
RMFINTRV 27.252 Format missing for many duration variables, fixed.
TYPEEDGR 27.251 RMM Dates - American/Euro/ISO/Julian - all supported.
TYPETMDB 27.259 Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.
TYPEACF2 27.258 Support for Subtype 'O' OPENEDITION record.
TYPEQACS 27.256 Support for QACSLPAR dataset.
TYPE120 27.255 SM1209 RETAINED, SM1209FI/EV corrected.
RMFINTRV 27.252 Formats for durations added.
TYPEEDGR 27.251 Support for all four RMM Date Formats
TYPE80A 27.250 Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.
TYPE74 27.249 R747PAVG AVERGAGE FRAME PACING matches RMF report.
VGETDDS 27.248 Logic revised when DDNAMES= syntax is used.
TYPEHBUF 27.247 FLAG1 tests for HyperBuf optional segments revised.
DAILYDSN 27.246 Variables DSN DSNBACTV STPNAME had UNINIT messages.
GRAFWRKX 27.245 zIIPs and zAAPs added to SAS/GRAPH hourly workloads.
TYPE110 27.245 OTRANNUM right with IMACEXCL, wrong in VMAC110.
FORMATS 27.243 OPTIONS NOCHARCODE reset at end of FORMATS.
TYPE80A 27.241 RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.
WPS 27.239 WPS 2.4 GA has been tested, requires MXG 27.09.
ANALDB2R 27.238 AUDIT report revisions, reduced processing time.
VGETOBS 27.237 Enhancement if no DDNAME argument.
TYPE116 27.235 Six datetimes are now converted to LOCAL, were GMT.
VMXGSUM 27.234 Revision to eliminate OUTCODE= argument sometimes.
TYPEDB2 27.232 TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.
TYPECIMS 27.230 Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT.
Major enhancements added in MXG 27.08, dated Sep 1, 2009
Several 27.229 Support for z/OS 1.11, COMPATIBLE, except for ID=0.
TYPE110 27.200 Support for CICS/TS 4.1 GA additions, new stats.
BUILDPDB 27.213 HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.
TYPENDM 27.222 Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.
TYPEOSEM 27.221 Support for zOSEM Operating System Environment Mgr.
TYPE16 27.211 Support for new z/OS 1.10 DFSORT variables.
ANALDB2T 27.223 New "Top" DB2 Report ranks resource for corr,auth id.
ANALCNCR 27.220 MXG 27.06-27.07. Failed if multiple INDATA= datasets.
ANALCNCR 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
ASUMTALO 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
RMFINTRV 27.218 SMF70LAC was maximum value rather than average.
RMFINTRV 27.214 RMFINTRV STARTIME could be early by an interval unit.
ASUM70PR 27.214 ASUM70PR STARTIME could be early by an interval unit.
TYPE7072 27.217 Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline.
TYPEXAM 27.216 Variable SYTLPNAM restored kept in XAMSYT dataset.
TYPETMO2 27.215 TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record.
TYPEDCOL 27.212 Support for APAR OA30006, 8-byte DCOLDSET fields.
TYPETMDB 27.209 TMON/DB2 BF record SQL text BF0142RL corrected.
TYPEDB2 27.207 MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.
TYPE92 27.204 Change 27.154 did not correct missing path section.
ANALRMFR 27.198 ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.
TYPE85 27.196 Heuristic in Change 27.138 did not correct EXCEEDED.
VMXGDUR 27.214 New FLORCEIL=FLOOR/CEIL argument for begin/end calc.
VMXGDUR 27.214 SYNC59=YES default with FLOOR, always safe.
BUILDPDB 27.220 MSOUNITS,SERVICE corrected to always be LENGTH 8.
Major enhancements added in MXG 27.07, dated Aug 11, 2009
TYPEIOO 27.189 Support for Serena's StarTool IOO Product SMF.
TYPENTSM 27.184 Support for 13 VMWARE objects captured by NTSMF.
READDB2 27.169 MXG 27.04-27.06. T102Snnn datasets had zero obs.
ASUMTAPE 27.181 Support for VOLSER='SCRTCH' from MXGTMNT monitor.
TYPENMON 27.180 Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects.
TYPEITRF 27.177 Variable RECTOK was truncated to 12 bytes.
TYPECIMS 27.176 Support for IMF 4.4 was incorrect for TRNxxxxx vars.
TYPECIMS 27.176 BMC PTF BQI0695 corrects overlaid DBD segments.
TYPEDB2 27.17x Corrected, misspelled DB2 variables.
ANALDB2R 27.172 Many tests IF x NE 0 replaced with IF x GT 0.
ASUM70PR 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
RMFINTRV 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
Major enhancements added in MXG 27.06, dated Jul 20, 2009
TYPE102 27.162 Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x
TYPEDB2 27.158 Support for UIFCIDS=YES, all "%U" DB2 fields revised.
TYPEVMXA 27.156 Support for z/VM 6.1.0 in MXG 27.01+; no new data.
TYPE1415 27.148 Support for APAR OA29428, identifies who closed file.
TYPE7072 27.149 Labels for Counts of ZIP, IFA, CPs, clarified.
TYPE42 27.155 Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
TYPE92 27.154 Variable SMF92PPN blank in TYPE9201, was not INPUT.
TYPE119 27.153 Variable NTBTRNBE input now as count and not a time.
ANALZPCR 27.147 SCP too short for z/OS 1.10, wrong if multiple SCPs.
TYPEDCOL 27.152 MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.
TYPEXAM 27.151 XAM TCP record INPUT STATEMENT EXCEEDED error.
Major enhancements added in MXG 27.05, dated Jun 29, 2009
TYPE30 27.122 Support for APAR OA26832 expands Service Unit fields.
TYPERMVF 27.120 RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).
MXGSASxx 27.108 &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL.
ANALDB2R 27.131 DB2PM-like STATISTICS LONG report MAJOR updates.
ANALZIPU 27.137 Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.
TYPETMMQ 27.145 Support for TMON for MQ record 'QA' (APPLICATION).
TYPEQACS 27.134 More updates for IBM i, i5/OS, iSeries a/k/a AS400.
TYPECTLL 27.129 Updates for CONTROL-D TYPE C User SMF record.
JCLDAYDS 27.127 Support for CONTROL-T for "daily dataset billing".
VMXGOPTR 27.124 Macro %TRIM() function removed from VMXGOPTR.
ASUM70PR 27.132 Revisions for missing values if IFL is last LPARNUM.
TYPE1415 27.116 Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.
TYPETMS5 27.111 New TMSLIB variable, support for multiple TMS cats.
MXGWPSV2 27.110 Circumventions support MXG execution under WPS 2.3.5.
COMPALL 27.109 Comparison of COMPALL under SAS and WPS.
Major enhancements added in MXG 27.04, dated May 27, 2009
This Version updates lots of DB2 stuff; the IFCID=225 variables are
now added to PDB.DB2STATS, so that one dataset now has all of the
DB2 Statistics variables from DB2STAT0, DB2STAT1, and DB2STAT4, and
for DB2 V8 sites, you can also tell MXG to add the T102S225 variables
to the PDB.DB2STATS dataset. See Change 27.097 text.
And READDB2 was revised to match its documentation, and to read only
the records that are needed for the IFCIDS= selection.
READDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
TYPEDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
TYPEDB2 27.086 Some DB2STATS QISE variables incorrectly deaccum'd.
IMACICOB 27.099 Optional Omegamon DB2 CICS/TS 3.2 times were wrong.
TYPE119 27.106 Support for z/OS 1.10 storage metrics in SMF 119.
TYPECIMS 27.107 Support for BMC'S IMF 4.4 (COMPATIBLE).
TYPEACF2 27.105 ACF2VR dataset enhanced, DB2 activity identification.
TYPE7072 27.089 Support for TYPE 72 Resource Delay Type Names R723RNx
TYPEBVIR 27.088 Support for TS7700/BVIR Microcode 1.5.
TYPEBVIR 27.104 BVIR TS7700 GMT times can be user-changed to LOCAL.
VMXGDUR 27.103 New INTERVAL=THREEMIN or TWOMIN are supported.
TYPE70PR 27.102 27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
TYPERMFV 27.100 RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
TYPENMON 27.096 Nigel's Monitor MEM Object supported.
TYPETPMX 27.093 TYPETPMX variable JESNR now 7-digits, was 5 digits.
VMXGOPTR 27.092 SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB
VMXGOPTR 27.092 SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.
TYPETMO2 27.091 ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.
TYPENMON 27.087 NMONBBBP blank values and wrong labels corrected.
TYPEOMCI 27.085 ONDV datasets from subtype 203 had blanks for xTRAN.
VGETDDS 27.083 Concatenate PDB libs, dynamically allocate them.
Major enhancements added in MXG 27.03, dated May 4, 2009
ASUM70PR 27.076 ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus.
ASUM70PR 27.074 Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
TYPE83 27.067 Support for LDAP Auditing ID=83 Subtype=3 SMF record.
TYPEIMS7 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMSA 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMFL 27.078 Support for IMF+IMS 45X Interval Statistics record.
TYPEDCOL 27.082 Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
TYPE113 27.081 Support for APAR OA27623, CPU Speed, SM1132SP, added.
TYPENMON 27.080 Protection for inconsistent NMON data counters.
TYPEBVIR 27.077 BVIR variable GLIBSEQN can be ASCII or EBCDIC.
TYPESTC 27.072 VTCS subtypes of STC/STK USER SMF record updated.
VMXGSUM 27.071 VMXGSUM-using programs support DROPed variables.
TYPEXAM 27.070 Variable DESCR truncated in XMHSTMEM, changed.
TYPEULTM 27.069 Serena's Ultimizer user MV moved subtype location.
IMACICDU 27.068 Optional USERCHAR in CICSTRAN was limited to 200.
TYPE77 27.066 "Owner" variables incorrectly labeled as "Current".
Major enhancements added in MXG 27.02, dated Apr 13, 2009
Errors (Only in MXG 27.01) corrected in 27.02:
TYPEDCOL 27.057 MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor.
TYPE42 27.054 MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.
Enhancements:
TYPE42 27.062 VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559.
TYPEEDGR 27.046 Major updates for RMM/EDGHSKP D,V,X records.
TYPEDCOL 27.047 Support for EAV (large volumes) final correction.
TYPECTCD 27.056 Support for Control-D "Decollating" SMF record.
TYPE102 27.059 Some SMF 102 IFCID=108 variables were not INPUT.
VMACSMF 27.058 SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.
TYPEHURN 27.055 OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
TYPE110 27.053 CICS SMF 110 Statistics STID=108 skipped data.
ANALDB2R 27.052 PMACC01 had blank values; time formats match DB2PM.
VMXGOPTR 27.051 %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
VGETSYSI 27.049 New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
VMACDB2 27.045 DB2STATS QISTWFxx variables were incorrectly deaccum.
TYPEMWAI 27.043 HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.
Major enhancements added in MXG 27.01, dated Mar 17, 2009
These two changes were delivered in re-dated MXG 26.26 of Feb 12:
READDB2 27.002 READDB2 might not create all datasets, in Feb refresh
RMFINTRV 27.001 Negative PCTCPUBY, corrected in Feb 12 refresh.
TYPE110 27.032 Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).
TYPE111 27.011 Support for CTG V7.2 (INCOMPAT, new RECID=7 error).
TYPE113 27.004 Support for SMF 113 Hardware Instrumentation Svc HIS.
TYPEDCOL 27.034 Support for EAV, Extended Address Volume devices.
TYPENTSM 27.038 Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!).
TYPE114 27.003 Support for Tivoli Automation SMF 114 record.
TYPEULOP 27.029 Support for BMC's Ultra Op Product's User SMF record.
TYPETMO2 27.042 Support for ASG TMON for CICS V3.2 native records.
ANAL119 27.031 Sample TCP/IP analysis from IBM SMF ID=119 records.
TYPEVMXA 27.008 z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.
BUILDPDB 27.005 PDB.SMFRECNT created to audit SMF record counts.
WEEKxxxx 27.005 Weekly logic enhanced to support nonexistent dataset.
MONTHxxx 27.005 Month logic enhanced to support nonexistent dataset.
ANALDB2R 27.012 DB2PM-like report selection by DATABASE enhancement.
UDB2GTF 27.015 Revised Support for processing DB2 GTF records.
TYPEDB2 27.018 DB2 V9 variables added by IBM or overlooked, added.
ANALDB2R 27.024 NOT SORTED ERROR if only PMACC04 was requested.
TYPE42 27.016 Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.
TYPE42 27.027 TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
TYPENMON 27.028 NMON record 'VM' support for both z/VM, and Intel.
TYPENMON 27.028 IHDRNMON exit permits NMON record selection.
TYPE88 27.026 SMF88LTD timestamp wrong as GMT offset misapplied.
MANY 27.014 SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.
JCLIMSL6 27.033 Setting MACRO _IMSVERS externalized to JCL example.
TYPEXAM 27.030 Only the last MDISK was kept in XAMDEV.
Please read CHANGESS for the complete list of major enhancements.
See member NEWSLTRS or the Newsletters frame at http://www.mxg.com for
current MXG Technical Notes.
All of these enhancements are described in the Change Log, below.
II. SAS Version requirement information:
MXG 27.27 executes best with SAS V9.2, or with SAS V9.1.3 with
Service Pack 4, on any supported SAS platform.
SAS Hot Fix for SAS Note 37166 is required to use a VIEW with
the MXG EXITCICS/CICSFIUE CICS Decompression Infile Exit.
And, only for z/OS 1.10 with SAS V9.1.3 with ANY version of MXG,
the SAS Hot Fix for SN-35332 is REQUIRED (to be completely safe).
Without this Hot Fix, "LIBREF XXXXXXXX IS NOT ASSIGNED" errors
can occur even though //XXXXXXXX DD is a valid SAS Data Library.
This error ONLY occurs with z/OS 1.10 and SAS V9.1.3; it does
NOT occur with SAS V9.2 nor with z/OS 1.9. It can be
circumvented by adding a LIBNAME statement that specifies the
ENGINE name. See the Technical Note in Newsletters for SN-35332.
Old MXG code may continue to execute with SAS V8.2, but V8 is now
"Level B" support from SAS Institute, and there are known errors
in V8.2 that are only fixed in SAS V9. PLEASE INSTALL V9.2 ASAP,
FOR BOTH OF US, TO AVOID FIXED PROBLEMS. MXG Software has not
executed under SAS V6 in many years.
The "PDB" libraries (i.e., SAS data libraries) must be created by
one of those listed SAS versions, but any of those data libraries
can be read or updated by any of those versions.
For SAS Version V9.2 (TS1M0):
Big Picture: SAS Version V9.2 is COMPATIBLE with MXG Software.
On z/OS, SAS changed the DSNAMES for some of the SAS libraries,
so you do need to use the new MXGSAS92 JCL Procedure for MXG.
SAS Data Libraries are compatible for V8.2, V9.1.3, and V9.2.
V9.2-created "PDBs" can be read/written by SAS V8.2 or V9.1.3,
and vice versa.
MXG Versions 26.03+ execute with SAS V9.2 with NO (new) WARNINGS
and with NO ERRORS reported.
Pre-MXG 26.03, SAS Hot Fix F9BA07 was required to suppress a
new SAS V9.2 WARNING, that on z/OS, set CC=4 (condition/return
code). That warning is harmless (to MXG code) and all MXG
created SAS datasets were correct, even with that warning.
The ONLY exposure was ONLY on z/OS, and ONLY if condition code
tests are used in your MXG jobstreams.
For SAS V9.1.3 on z/OS with Service Pack 4:
On z/OS 1.10, Hot Fix SN-35332 is REQUIRED.
CONFIGV9 now specifies V9SEQ instead of V6SEQ. As V6SEQ does
not support long length character variables, it can't be used.
SAS V9.1.3 with current Service Pack 4 is STRONGLY RECOMMENDED.
For (back-level!) SAS V9.1 or V9.1.2 on z/OS:
SN-013514 is REQUIRED to be able to read datasets that were
created by V6SEQ (tape) engine.
SN-012437 is REQUIRED to prevent creation of corrupt/unreadable
datasets with tape engines V7SEQ, V8SEQ, or V9SEQ.
Both fixes ARE included in SAS V9.1.3, but V9.1 or 9.1.2 is NOT
SAFE without those two hot fixes, and if you do NOT have those
two fixes on 9.1 or 9.1.2, you MUST set V6SEQ in CONFIGV9.
With MXG 23.02 or later, V9SEQ is the default sequential engine
specified in CONFIGV9, but if you are back at SAS V9.1 or V9.1.2
you MUST install the two hot fixes listed above.
For SAS Version 8.2, HotFix Bundle 82BX08 (or later) is required
to be completely safe. No earlier Version 8's were supported.
BUT, PLEASE INSTALL V9.x ASAP, FOR BOTH OF US. V8.2 IS ARCHAIC.
Sequential Engine Status:
V9SEQ was fixed in V9.1.3; it has been default in CONFIGV9.
V8SEQ was always safe under SAS V8.2, but it wasted CPU time
by always compressing when writing in tape format.
V6SEQ, if used under V9.1.2, requires SN-013514, but V6SEQ
should no longer be used, as it does not support long
length variables.
MXG QA tests have executed on z/OS with SAS V9.1.3 and V9.2 and
also both V9.1.3 and V9.2 on Windows XP.
(I can no longer run QA tests with "archaic" SAS Version 8.2.)
Prior QA tests have been run with all SAS releases available at
that time on Linux RH8 on Intel, on Solaris v2.8 on a Model V880,
and on HP-UX v11.11 model rp5470, confirming full compatibility.
MXG should execute under SAS V9.1.3 or V9.2 on every possible SAS
platform without errors! Each new MXG version is also tested with
the SAS ITSV/ITRM product by the ITRM developers.
III. WPS Version requirement information:
WPS Version 2.4 requires MXG 27.09 (see Change 27.239).
WPS Version 2.3.5 required MXG 27.05.
See NEWSLETTERS for "MXG Support for WPS Software"
IV. MXG Version Required for Hardware, Operating System Release, etc.
Availability dates for the IBM products and MXG version required for
error-free processing of that product's data records:
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990 8.8
MVS/ESA 4.2 Mar 29, 1991 9.9
MVS/ESA 4.2.2 Aug 15, 1991 9.9
MVS/ESA 4.3 Mar 23, 1993 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30, 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28, 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28, 1997 15.02
OS/390 2.4.0 Sep 28, 1997 15.06
OS/390 2.5.0 Feb 24, 1998 15.06
OS/390 2.6.0 Sep 24, 1998 16.04
OS/390 2.7.0 Mar 26, 1999 16.09
OS/390 2.7.0 APAR OW41318 Mar 31, 2000 18.03
OS/390 2.8.0 Aug 24, 1999 16.09
OS/390 2.8.0 FICON/SHARK Aug 24, 1999 17.08
OS/390 2.8.0 APAR OW41317 Mar 31, 2000 18.03
OS/390 2.9.0 Mar 31, 2000 18.03
OS/390 2.10.0 Sep 15, 2000 18.06
OS/390 PAV Oct 24, 2000 18.09
z/OS 1.1 Mar 30, 2001 18.11
z/OS 1.1 on 2064s Mar 30, 2001 19.01
z/OS 1.1 with correct MSU Mar 30, 2001 19.02
z/OS 1.2 Oct 31, 2001 19.04
z/OS 1.1,1.2 APARs to 78 Oct 31, 2001 19.05
z/OS 1.2+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.3+ APAR OW52227 Apr 26, 2002 20.02
z/OS 1.2 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.3 JESNR Z2 MODE Apr 26, 2002 20.03
z/OS 1.4 Tolerate Sep 27, 2002 20.03
z/OS 1.4 Support Sep 27, 2002 20.06
z/OS 1.4 Over 16 CPUs/LPARs May 29, 2003 21.02
z/OS 1.4 DFSMS/rmm, RACF Aug 29, 2003 21.04
z/OS 1.5 Mar 31, 2004 21.21
z/OS IRD ASUM70PR/ASUMCEC Sep 22, 2003 *24.10
z/OS IRD TYPE70PR Mar 11, 2004 *24.10
z/OS IRD TYPE70,RMFINTRV Mar 22, 2002 *24.10
z/OS 1.6 - No IFAs Sep 30, 2004 *22.09
z/OS 1.6 - With IFAs Sep 30, 2004 *22.11
z/OS 1.7 (COMPATIBLE CHANGES) Sep 30, 2005 *24.10
z/OS 1.7 (SPLIT70 CORRECTION) Sep 30, 2005 *24.10
z/OS IFA data in RMF 79s Sep 30, 2005 23.10
z/OS 1.8 - ASMTAPEE assembly Sep 30, 2005 *25.03
z/OS 1.8 - SMF 119 INCOMPAT Sep 30, 2005 *25.06
z/OS More than 32 LPARs Jan 30, 2006 *24.24
z/OS SPLIT RMF 70 records Jan 30, 2006 *24.24
z/OS Dupe SYSTEMs in a SYSPLEX Jan 30, 2006 *24.02
z/OS IRD errors corrected May 15, 2006 24.03
z/OS ASUMCEC errors corrected May 15, 2006 *24.24
z/OS ASUM70LP errors corrected Jun 13, 2006 *24.24
z/OS zIIP Processor Support Jun 22, 2006 *24.24
z/OS Dedicated zIIP Support Mar 8, 2008 *26.01
z/OS Dedicated zAAP Support Mar 8, 2008 26.01
z/OS 1.8 (COMPATIBLE CHANGES) Sep 20, 2006 *24.24
z/OS 1.9 (INCOMPAT, 54 CPs) Sep 27, 2007 25.10
z/OS 1.9 MXGTMNT at ML-39 reASM Sep 27, 2007 25.10
z/OS new z10 variables Mar 5, 2008 26.01
z/OS 1.8 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.9 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 (INCOMPAT, MXG code) Sep 15, 2008 26.07
z/OS 1.10 With HiperDispatch Sep 15, 2008 *26.10
z/OS 1.10 RMF III, SMF 119 Jul 20, 2009 27.05
z/OS 1.11 Sep 2, 2009 27.08
z/OS 1.11 TYPE 0 Correction Dec 3, 2009 *27.10
z990 CPUs - CPUTYPE '2084'x Aug 25, 2003 21.04
z890 CPUs - CPUTYPE '2086'x Jun 24, 2004 22.07
z9 CPUs - CPUTYPE '2094'x Jul 20, 2005 *24.24
z9EC CPUs - CPUTYPE '2094'x:
with 64-bit z/OS - no change required *24.24
with 32-bit z/OS only: Aug 26, 2006 24.06
z9BC CPUs - CPUTYPE '2096'x:
with 64-bit z/OS - no change required 24.01
with 32-bit z/OS only: Jul 27, 2006 *24.24
z10 CPUs - CPUTYPE '2097'x Dec 7, 2008 25.11
z10 HiperDispatch/Parked Time Mar 3, 2008 *26.10
CICS/ESA 3.2 Jun 28, 1991 9.9
CICS/ESA 3.3 Mar 28, 1992 10.01
CICS/ESA 4.1 Oct 27, 1994 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 CICS/TS 1.2 Oct 27, 1997 15.06
CICS-TS V1R3 CICS/TS 1.3 Mar 15, 1999 17.04
CICS-TS V2R2 CICS/TS 2.2 Feb 9, 2002 19.19
CICS-TS V2R3 CICS/TS 2.3 Aug 13, 2004 22.04
CICS-TS V3R1 CICS/TS 3.1 Jan 18, 2005 22.22
CICS-TS V3R2 CICS/TS 3.2 Dec 6, 2007 25.11
CICS-TS for Z/OS Version 2.1 Mar 15, 2001 18.11
CICS-TS for Z/OS Version 2.2 Jan 25, 2002 19.19
CICSTRAN subtype 1 support only *19.19
CICSTRAN subtype 2 completed *19.08
CICS-TS for Z/OS Version 2.3 Dec 19, 2003
Using UTILEXCL to create IMACEXCL: 21.04
Reading un-Excluded CICS with TYPE110, no IMACEXCL:*22.04
CICS-TS for Z/OS Version 3.1 Mar 15, 2005
Using UTILEXCL to create IMACEXCL: 22.13
Reading un-Excluded CICS with TYPE110, no IMACEXCL: 22.22
CICS-TS for Z/OS Version 3.2 Jun 29, 2007 25.03
CICS-TS/3.2 Compressed Records Nov 3, 2007 25.11
CICS-TS/4.1 (CICSTRAN INCOMPAT) Mar 13, 2009 27.01
CICS-TS/4.1 (STATISTICS ST=2) Sep 18, 2009 27.08
DB2 2.3.0 Oct 28, 1991 10.01
DB2 3.1.0 Dec 17, 1993 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DB2 6.1.0 initial support Mar 15, 1999 16.09
DB2 6.1.0 all buffer pools Mar 15, 1999 18.01
DB2 6.1.0 parallel DB2 Mar 15, 1999 19.19
DB2 7.1.0 parallel DB2 Mar 31, 2001 19.19
DB2 7.1.0 corrections Mar 31, 2001 20.06
DB2 8.1 Tolerate, no packages Mar 31, 2004 20.20
DB2 8.1 New Data Packages wrong Mar 31, 2004 21.08
DB2 8.1 Support with Packages Mar 31, 2004 23.09*
DB2 8.1 with all zIIP Variables Sep 30, 2006 24.08
DB2 8.1 +PK47659 Sep 12, 2008 26.08
DB2 9.1 See Change 25.265. Dec 7, 2007 25.11
DB2 9.1 Full Support +PK/56356 Sep 12, 2008 26.08
DFSMS/MVS 1.1 Mar 13, 1993 11.11
DFSMS/MVS 1.2 Jun 24, 1994 12.02
DFSMS/MVS 1.3 Dec 29, 1995 13.09
DFSMS/MVS 1.4 Sep 28, 1997 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998 16.04
DFSMS/MVS 1.5 ??? ??, 1999 16.04
DFSORT SMF V1R5 Mar 1, 2006 24.02
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996 14.02
MQ Series 1.2.0 May 26, 1998 16.02
MQ Series 2.1.0 Oct 2, 1999 17.07
MQ Series 5.2 Dec 16, 2000 18.10
MQ Series 5.3 Dec 16, 2002 21.05
MQ Series 6.0 Feb 14, 2006 23.23
MQ Series 7.0 (No Changes) ??? ??, 2009 23.23
NETVIEW 3.1 type 37 ??? ??, 1996 14.03
NPM 2.0 Dec 17, 1993 12.03
NPM 2.2 Aug 29, 1994 12.05
NPM 2.3 ??? ??, 1996 15.08
NPM 2.4 Nov 18, 1998 17.01
NPM 2.5 Feb ??, 2000 18.02
NPM 2.6 Nov ??, 2001 19.06
RMDS 2.1, 2.2 Dec 12, 1995 12.12
RMDS 2.3 Jan 31, 2002 19.11
TCP/IP 3.1 Jun 12, 1995 12.12
TCP/IP 3.4 Sep 22, 1998 16.04
WebSphere 5.0 APAR PQ7463 Aug 19, 2003 21.04
WebSphere 6.0 Feb 18, 2006 23.23
DOS/VSE POWER V6.3.0 Dec 19, 1998 16.08
VM/ESA 2.0 Dec 23, 1992 10.04
VM/ESA 2.1 Jun 27, 1993 12.02
VM/ESA 2.2 Nov 22, 1994 12.06
VM/ESA 2.3 Jun 1, 1998 16.08
VM/ESA 2.4 Mar 1, 2001 19.03
z/VM 3.1 Mar 1, 2001 19.03
z/VM 3.1 DATABYTE=0 May 2, 2002 20.02
z/VM 4.2 ?? May 2, 2002 20.02
z/VM 4.4 Jan 22, 2005 22.22
z/VM 5.1 Jan 22, 2005 22.22
z/VM 5.2 Jan 22, 2006 24.01
z/VM 5.3 TOLERATE Jun 7, 2007 25.05
z/VM 5.3 NEW VARIABLES Sep 12, 2008 26.08
z/VM 5.4 (COMPATIBLE) Sep 12, 2008 27.01*
z/VM 6.1 (NO CHANGES) Jul 7, 2008 27.01
IMS log 4.1 Jul 4, 1994 12.02
IMS log 5.1 Jun 9, 1996 14.05
IMS log 6.1 ??? ?, 199? 20.03
IMS log 7.1 ??? ?, 200? 20.03
IMS log 8.1 May 21, 2003 21.02
IMS log 9.1 Mar 96, 2004 26.01*
IMS log 10.0 Mar 06, 2007 26.01*
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
AS400 4.4.0 Sep 27, 1999 17.07
AS400 4.5.0 Jul 27, 2000 18.07
AS400 5.2.0 - Most records Jul 23, 2003 21.03
AS400 5.2.0 - QAPMMIOP Jul 23, 2003 22.04
AS400 5.3.0 Jan 22, 2005 22.22
AS400 5.4.0 Aug 26, 2006 24.06
AS400 6.1.0 Jun 29, 2008 26.05
Note: Asterisk before the version number means the Version number
was changed (to the MXG version required), after an earlier
MXG version was listed as supporting this product release,
usually because an APAR modified the product's data records.
Or a coding error in MXG could be the reason for the change!
Availability dates for non-IBM products and MXG version required:
MXG Version
Product Name Required
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
NTSMF Version 2.2 16.04
NTSMF Version 2.3 17.10
NTSMF 2.4.4 Aug 9, 2002 20.04
NTSMF 2.4.5 INCOMPAT Apr 1, 2003 21.02
NTSMF 2.4.7 Sep 30, 2004 22.08
NTSMF 3.1.4 Mar 15, 2009 27.01
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 20.04
The Monitor for DB2 Version 4.0 22.10
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for CICS TCE 2.1 - 20.04
The Monitor for CICS TCE 2.2 - 20.335, 21.134 21.04
The Monitor for CICS TCE 2.3 including CICS/TS 3.1 22.08
The Monitor for CICS TCE 3.2 (almost all) 25.11
The Monitor for CICS TCE 3.2 (almost all) 27.01
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
The Monitor for MVS/ESA 3.0 - 19.19
The Monitor for CICS/TS V2.3 for CICS/TS 3.1 22.08
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for CICS V500 User SMF 18.01
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for IMS V550/V560 (ITRF) 25.05
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for VTAM V500 18.08
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
NETSPY 5.3 18.03
NETSPY 6.0 20.10 20.305
NETSPY 7.0 20.10 20.305
SAR/VIEW R11 23.07 23.196
BMC, was Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
IMF 3.2 (for IMS 6.1 only) 15.09
IMF 3.2 (for IMS 5.1 and 6.1+) 16.04
IMF 3.3 (for IMS 7.1 and 8.1) 22.08*
IMF 4.1 (for IMS 9.1) 26.02*
IMF 4.4 (for IMS 9.1) 27.07*
Memorex/Telex
LMS 3.1 12.12A
Oracle V9, V10 24.06
Amdahl
APAF 4.1, 4.3 16.08
Velocity Software
XAMAP 3.4 22.10
XAMAP 3406 24.03
XAMAP 3.7 27.10
V. Incompatibilities and Installation of MXG 27.27.
1. Incompatibilities introduced in MXG 27.27:
a- Changes in MXG architecture made between 27.27 and prior versions
that can introduce known incompatibilities.
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINST9 for
SAS Version 9.1.3 (JCLINST8 for now-archaic SAS Version 8.2).
MXG Definitions with regard to MXG Software Changes:
COMPATIBLE A change in a data record which did not alter either
COMPAT the location or the format of all of the previously-
kept MXG variables is COMPATIBLE, and you can continue
to run the old version of MXG software, which will read
the new records without error, but none of any new data
fields or any new record subtypes will be created/kept
until you install the MXG Version with this change.
INCOMPAT A change in a data record that causes the current MXG
version to fail, visibly or invisibly, with or without
error conditions or messages, and the output datasets
may contain wrong values and incomplete observations,
and/or observations may have been lost.
You MUST install the new MXG Version with this change
to process data records that have been INCOMPATIBLY
changed by their vendor.
TOLERATE In other words, the old MXG Version TOLERATES the new
data records, if they are COMPATIBLY changed.
EXPLOIT Once you use the new MXG Version to read the changed
records, all of the new fields, subtypes, etc, that are
described in this change will be created in the MXG
datasets, so the new MXG Version EXPLOITS the new data,
and you have full support of the new data records.
VI. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
See also member INDEX, but it may be overwhelming.
VII. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The CHANGES selection on our homepage at http://www.MXG.com
is always the most current information on MXG Software status,
and is frequently updated.
Important changes are also posted to the MXG-L ListServer, which is
also described by a selection on the homepage. Please subscribe.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that need be made by users).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes in MXG 27.27 after MXG 26.26:
Dataset/
Member Change Description
ALOCGOVO 27.299 Allocate GDG's with GOOVOO to minimize DSENQUEUE.
ANAL119 27.031 Sample TCP/IP analysis from IBM SMF ID=119 records.
ANAL307X 27.346 Analysis compares Hourly CPU in 70, 72, 30 interval.
ANALCNCR 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
ANALCNCR 27.220 MXG 27.06-27.07. Failed if multiple INDATA= datasets.
ANALDB2R 27.012 DB2PM-like report selection by DATABASE enhancement.
ANALDB2R 27.023 One of several updates to ANALDB2R since 26.26.
ANALDB2R 27.024 NOT SORTED ERROR if only PMACC04 was requested.
ANALDB2R 27.052 PMACC01 had blank values; time formats match DB2PM.
ANALDB2R 27.131 DB2PM-like STATISTICS LONG report updated.
ANALDB2R 27.172 Many tests IF x NE 0 replaced with IF x GT 0.
ANALDB2R 27.238 AUDIT report revisions, reduced processing time.
ANALDB2T 27.223 "Top" DB2 Report ranks resource for corr,auth ids.
ANALJOBE 27.332 Analysis of Job Events revised, JESNR test removed.
ANALRMFR 27.198 ANALRMFR wrote TYPE7xxx to //PDB with PDBOUT= null.
ANALRMFR 27.333 RMF Summary Report (REPORT=SMRY) was incorrect.
ANALZIPU 27.137 Analysis of zIIP used by JOB/PROGRAM/SRVCLASS etc.
ANALZPCR 27.147 SCP too short for z/OS 1.10, wrong if multiple SCPs.
ASMIMSL6 27.121 Assembly error USING introduced in Change 27.078.
ASMTAPEE 27.348 ASMTAPE ML-46 enhancements to optional SYSLOG data.
ASMTAPEE 27.300 ASMTAPE ML-45 enhancements to TMNTnnnn messages.
ASUM70GO 27.268 Example summarizes PDB.TYPE72GO, changing interval.
ASUM70PR 27.074 Group Capacity ASUM70GC/GL wrong if multiple SYSTEMS.
ASUM70PR 27.076 ASUM70PR enhancement adds zIIP, zAAP, and IFLs plus.
ASUM70PR 27.132 Revisions for missing values if IFL is last LPARNUM.
ASUM70PR 27.214 ASUM70PR STARTIME could be early by an interval unit.
ASUM70PR 27.292 First LPAR had missing values in LPSHAR/TOTSHARE.
ASUM70PR 27.294 IFL obs in ASUM70LP/ASUMCELP missing STARTIME fixed.
ASUM70PR 27.344 Variables LPCTBY/PCTLPBY missing for PHYSICAL LPAR.
ASUMMIPS 27.262 MSU/MIPS for zIIPs and zAAPs added to CPs summary.
ASUMMIPS 27.305 ASUMMIPS now inflates MSU by system CAPTURE RATIO.
ASUMMIPS 27.327 DUR70 created with actual vs expected DURATM.
ASUMTALO 27.203 PDB.ASUMTALO had too few obs due to ANALCNCR error.
ASUMTAPE 27.160 EVENTIME dropped from PDB.ASUMTAPE MXG 26.03, fixed.
ASUMTAPE 27.181 Support for VOLSER='SCRTCH' from MXGTMNT monitor.
BLDSMPDB 27.112 SUBSTR() Function Error, allocation revisions.
BUILDPDB 27.001 New PDB.SMFRECNT dataset summarizes WORK.ID.
BUILDPDB 27.005 PDB.SMFRECNT created to audit SMF record counts.
BUILDPDB 27.213 HFS/zFS EXCPS are in EXCPTOTL, new USSEXCPS count.
BUILDPDB 27.220 MSOUNITS,SERVICE corrected to always be LENGTH 8.
CICINTRV 27.274 CICS DISPATCH INTERVAL LARGER THAN INTERVAL fixed.
COMPALL 27.109 Comparison of COMPALL under SAS and WPS.
CONFIGxx 27.294 MXG 27.08-27.09 only. Option MAUTOLOCDISPLAY removed.
DAILYDSN 27.246 Variables DSN DSNBACTV STPNAME had UNINIT messages.
DAILYDSx 27.287 MXG 27.09 only. TMC= should have been TAPEDATA=.
DB2 27.158 Support for UIFCIDS=YES, all "%U" DB2 fields revised.
EXPDBINC 27.334 MXG 27.10 ONLY. %UTILBLDP option USERADD= fails.
FORMATS 27.243 OPTIONS NOCHARCODE reset at end of FORMATS.
GRAFWRKX 27.245 zIIPs and zAAPs added to SAS/GRAPH hourly workloads.
IMACICDU 27.068 Optional USERCHAR in CICSTRAN was limited to 200.
IMACICOB 27.099 Optional Omegamon DB2 CICS/TS 3.2 times were wrong.
IMACICUA 26.019 CICS User fields supported in IMACICUA/UB/UC/UD
JCL40GIG 27.316 JCL example to split/parallelize BUILDPDB job.
JCLCIDB2 27.345 UTILBLDP JCL example for CICS, DB2, and ASUMUOW+.
JCLDAYDS 27.127 Support for CONTROLT for "daily dataset billing".
JCLIMSL6 27.033 Setting MACRO _IMSVERS externalized to JCL example.
MANY 27.014 SAS option TRANSCODE=NO, &MXGNOTRA/&MXGNOTRB added.
MANY 27.277 Support for USER=DDNAME, "WORK" now "&MXGWORK".
MONTHxxx 27.005 Month logic enhanced to support nonexistent dataset.
MRGDB2 27.321 MERGE of PDB.DB2ACCT and PDB.DB2ACCTP for DB2PARTY
MXGSASxx 27.108 &NULLPDS &LOAD &SASAUTOS symbolics REMOVED from JCL.
MXGWPSV2 27.110 Status of testing MXG 27.04 with WPS 2.3.5.
READDB2 27.002 READDB2 might not create all datasets, in Feb refresh
READDB2 27.002 READDB2 might not create all datasets, in Feb refresh
READDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
READDB2 27.150 MXG 27.05. COPYONLY option didn't include 102s.
READDB2 27.169 27.04-27.06, zero obs in all T102Snnn datasets.
READDB2 27.169 MXG 27.04-27.06. T102Snnn datasets not populated.
READDB2 27.272 READDB2 support for WANTONLY now works.
READDB2 27.322 IFCIDS= features (STATS, DB2ACCT, Dataset Name, etc)
READDB2 27.351 READDB2 didn't always invoke its EXdddddd members.
RMFINTRV 27.001 Negative PCTCPUBY, corrected in Feb 12 refresh.
RMFINTRV 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
RMFINTRV 27.214 RMFINTRV STARTIME could be early by an interval unit.
RMFINTRV 27.218 SMF70LAC was maximum value rather than average.
RMFINTRV 27.252 Format missing for many duration variables, fixed.
RMFINTRV 27.252 Formats for durations added.
SPIN 27.119 Doc. Sort Order to import EBCDIC sorted SPIN library.
TIMETABL 27.115 %LET MXGTIM59=YES is no longer required for SYNC59.
TYPE0 27.325 z/OS 1.11 Update: TYPE 0 Corrected.
TYPE102 27.059 Some SMF 102 IFCID=108 variables were not INPUT.
TYPE102 27.131 DB2 T102S106 dataset updates.
TYPE102 27.132 IFCID=22 with truncated names INPUT STATEMENT EXCEED.
TYPE102 27.162 Support BMC APPTUNE SQL SMF 102 IFCIDs 8004x-8136x
TYPE110 27.032 Support for CICS/TS 4.1.0 OPEN BETA (INCOMPATIBLE).
TYPE110 27.053 CICS SMF 110 Statistics STID=108 skipped data.
TYPE110 27.200 Support for CICS/TS 4.1 GA updates/documentation.
TYPE110 27.245 OTRANNUM right with IMACEXCL, wrong in VMAC110.
TYPE110 27.260 TRANSPARENT UNCOMPRESS OF CICS/TS 3.2 RECORDS!!!
TYPE110 27.270 CICS STID=115 should not exist.
TYPE110 27.274 SORT Order for CICFCR changed, A17DSIXP/DTRDS fixed.
TYPE110 27.303 CICS Total I/O and Total Other Wait updates.
TYPE110 27.329 MXG 27.10, CICIDNNR NOT FOUND, only if _S110ST used.
TYPE111 27.011 Support for CTG V7.2 (INCOMPAT, new RECID=7 error).
TYPE112 27.358 Support for OMEGAMON ONDV SMF 112 SUBTYPE 0100X
TYPE113 27.004 Support for SMF 113 Hardware Instrumentation Svc HIS.
TYPE113 27.081 Support for APAR OA27623, CPU Speed, SM1132SP, added.
TYPE114 27.003 Support for Tivoli Automation SMF 114 record.
TYPE116 27.157 WQGETJCE/WQPUTJCE/etc variables not divided by 4096.
TYPE116 27.235 Six datetimes are now converted to LOCAL, were GMT.
TYPE117 27.022 Variables added to S117NODE to match up to S117FLOW.
TYPE119 27.106 Support for z/OS 1.10 storage metrics in SMF 119.
TYPE119 27.153 Variable NTBTRNBE input now as count and not a time.
TYPE120 27.255 SM1209 RETAINED, SM1209FI/EV corrected.
TYPE120 27.255 WAS SMF1209FI/EV (CPU/Elapsed Times) corrected.
TYPE1415 27.116 Non-zero JFCB BLKSIZE set to zero if SMF14LBS=0.
TYPE1415 27.148 Support for APAR OA29428, identifies who closed file.
TYPE1415 27.361 MXG 27.06-27.11. BUFNO always zero due to typo.
TYPE16 27.211 Support for new z/OS 1.10 DFSORT variables.
TYPE30 27.122 Support for APAR OA26832 expands Service Unit fields.
TYPE42 27.016 Subtype 25 OLDMEMNM/NEWMEMNM were misaligned.
TYPE42 27.027 TYPE42DS RESPTIME,MAXRSPTM,MAXSRVTM formats all same.
TYPE42 27.054 MXG 27.01 ONLY. STARTIME/ENDTIME/etc missing value.
TYPE42 27.062 VSAM RLS "ABOVE THE BAR" statistics, & APAR OA25559.
TYPE42 27.155 Type 42-16 STOPOVER, 42-21/24 ICHRUTKN protect, APAR.
TYPE42 27.291 Variable S42DSRDD incorrect by factor of 10**6.
TYPE7072 27.010 SMF70CIX, CPU Pool Number, output in PDB.TYPE70PR.
TYPE7072 27.089 Support for TYPE 72 Resource Delay Type Names R723RNx
TYPE7072 27.149 Labels for Counts of ZIP, IFA, CPs, clarified.
TYPE7072 27.205 Doc only. PDB.TYPE70PR LCPUPDTM GT SMF70ONT happens.
TYPE7072 27.217 Blank SMF70CIN in PDB.TYPE70PR if last LPAR offline.
TYPE7072 27.317 Support for APAR OA28670 RMF 70 Crypto Express3
TYPE70PR 27.102 27.02-27.03. PARTNCPU missing, if last LPAR not z/OS.
TYPE70PR 27.178 Summary STARTIME now exact, based on SMF70GIE-DURATM.
TYPE74 27.249 R747PAVG AVERGAGE FRAME PACING matches RMF report.
TYPE74 27.263 R744FNAM not in TYPE74DU, ITRM sites need update.
TYPE74 27.287 MXG 27.09 only. DEBUGGING PUT statement removed.
TYPE77 27.066 "Owner" variables incorrectly labeled as "Current".
TYPE80A 27.017 Undecoded NOHOME/NOPROGRAM in TOKDANAM supported.
TYPE80A 27.241 RACFEVNT=79 EXTLNTYP=379 INPUT EXCEEDED error.
TYPE80A 27.250 Protection for UNKNOWN TOKDANAM and RDEFINE CFIELD.
TYPE80A 27.331 Protection for unknown TOKDANAM eliminates STOPOVER.
TYPE80A 27.357 TYPE8066 dataset enhanced.
TYPE82 27.330 SMF82PDK, SMF82RKN, SMF82PTA increased, corrected.
TYPE83 27.067 Support for LDAP Auditing ID=83 Subtype=3 SMF record.
TYPE85 27.138 z/OS 1.10 OAM record INPUT EXCEEDED RECORD LENGTH.
TYPE85 27.196 Heuristic in Change 27.138 did not correct EXCEEDED.
TYPE88 27.026 SMF88LTD timestamp wrong as GMT offset misapplied.
TYPE92 27.154 Variable SMF92PPN blank in TYPE9201, was not INPUT.
TYPE92 27.204 Change 27.154 did not correct missing path section.
TYPEACF2 27.105 ACF2VR dataset enhanced, DB2 activity identification.
TYPEACF2 27.258 Support for Subtype 'O' OPENEDITION record.
TYPEBVIR 27.077 BVIR variable GLIBSEQN can be ASCII or EBCDIC.
TYPEBVIR 27.088 Support for TS7700/BVIR Microcode 1.5.
TYPEBVIR 27.104 BVIR TS7700 GMT times can be user-changed to LOCAL.
TYPEBVIR 27.163 BVIR PnCHRD/VDRD/CHRD converted to bytes, MGBYTES.
TYPECDC 27.324 Support for IBM's InfoSphere Change Data Capture CDC
TYPECIMS 27.107 Support for BMC'S IMF 4.4 (COMPATIBLE).
TYPECIMS 27.176 BMC PTF BQI0695 corrects overlaid DBD segments.
TYPECIMS 27.176 Support for IMF 4.4 was incorrect for TRNxxxxx vars.
TYPECIMS 27.230 Variable LASTCLAS in IMF CIMSPROG incorrectly INPUT.
TYPECTCD 27.056 Support for Control-D "Decollating" SMF record.
TYPECTLL 27.129 Updates for CONTROL-D TYPE C User SMF record.
TYPEDB2 27.018 DB2 V9 variables added by IBM or overlooked, added.
TYPEDB2 27.021 QPAC flag variables were not reset.
TYPEDB2 27.045 DB2STATS QISTWFxx variables were incorrectly deaccum.
TYPEDB2 27.086 Some DB2STATS QISE variables incorrectly deaccum'd.
TYPEDB2 27.097 Redesign IFCID=225 (DB2STAT4,T102S225) processing
TYPEDB2 27.161 Incorrect QXPK values in DB2ACCTP, DB2 V9 only.
TYPEDB2 27.17x Corrected, misspelled DB2 variables.
TYPEDB2 27.188 MXG 27.04-27.06 NOT SORTED DB2STAT0/DB2STAT1.
TYPEDB2 27.207 MXG 27.07. QSSTCONT,QSSTCRIT re-de-accumulated.
TYPEDB2 27.232 TMON/DB2 created SMF 101 St 0 OFFQLAC invalid.
TYPEDB2 27.319 Support for QMDAPTYP='JCC' (Type 4 JDBC Driver).
TYPEDB2 27.326 Variable QDSTQCIT now not deaccumulated.
TYPEDCOL 27.034 Support for EAV, Extended Address Volume devices.
TYPEDCOL 27.047 Support for EAV (large volumes) final correction.
TYPEDCOL 27.057 MXG 27.01 ONLY. DCOLVOLS sizes WRONG by 1024 factor.
TYPEDCOL 27.082 Support for z/OS 1.10 DCDOVERA 32-bit already in MXG.
TYPEDCOL 27.152 MXG 27.01-27.05. DCOLLECT UBALLSP is missing value.
TYPEDCOL 27.212 Support for APAR OA30006, 8-byte DCOLDSET fields.
TYPEEDGR 27.046 Major updates for RMM/EDGHSKP D,V,X records.
TYPEEDGR 27.251 RMM Dates - American/Euro/ISO/Julian - all supported.
TYPEEDGR 27.251 Support for all four RMM Date Formats
TYPEEDGR 27.339 RVTxERR RVPxERR variables now numeric, incompatible.
TYPEEDGR 27.349 Support for RMM APAR OA24025 RDDESKEY.
TYPEEDGR 27.349 Support for RMM APAR OA28930, RDBLKCNT/RDTOTAL.
TYPEEREP 27.006 Truncated variables increased, SDWA fully decoded.
TYPEHBUF 27.247 FLAG1 tests for HyperBuf optional segments revised.
TYPEHURN 27.055 OBJECTSTAR Subtype 13 INPUT STATEMENT EXCEEDED error.
TYPEIMFL 27.078 Support for IMF+Log 45X Interval Statistics record.
TYPEIMS7 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMSA 27.078 Support for IMS Log 45X Interval Statistics record.
TYPEIMSA 27.354 MXGNOTE now prints the value of _IMSVERS on the log.
TYPEIOO 27.189 Support for Serena's StarTool IOO Product SMF.
TYPEITRF 27.177 Variable RECTOK was truncated to 12 bytes.
TYPEMWAI 27.043 HP OpenView on AIX RELEASE/SOFTWARE/SYSID wrong.
TYPENDM 27.022 NDMRTYPE='IK' record is now output in NDMDT dataset.
TYPENDM 27.222 Support for NDM-CDI NDMRTYPE 'SC' and 'S2' subtype.
TYPENMON 27.028 IHDRNMON exit permits NMON record selection.
TYPENMON 27.028 NMON record 'VM' support for both z/VM, and Intel.
TYPENMON 27.080 Protection for inconsistent NMON data counters.
TYPENMON 27.087 NMONBBBP blank values and wrong labels corrected.
TYPENMON 27.096 Nigel's Monitor MEM Object supported.
TYPENMON 27.110 COUNTW() now used only with SAS V9, DO Loop for V8.
TYPENMON 27.180 Support for CPU_PHYSICAL,CPU_ENTITLED TOPAS objects.
TYPENTSM 27.038 Support for NTSMF/Performance Sentry 3.1.4 (MAJOR!).
TYPENTSM 27.184 Support for 13 VMWARE objects captured by NTSMF.
TYPENTSM 27.312 MXG 27.09 only. NTSMF Processing failed, RECFM.
TYPEOMCI 27.085 ONDV datasets from subtype 203 had blanks for xTRAN.
TYPEOMCI 27.113 OMCI INTR Subtype 200 RECSUBTYP 4 INPUT EXCEEDED.
TYPEOSEM 27.221 Support for zOSEM Operating System Environment Mgr.
TYPEPROS 27.295 PRO/SMS SMF record misalignment corrected.
TYPEQACS 27.134 More updates for IBM i, i5/OS, iSeries a/k/a AS400.
TYPEQACS 27.256 Support for QACSLPAR dataset.
TYPERMFV 27.100 RMF III ZRBLCP dataset "trashed" with z/OS 1.10 data.
TYPERMVF 27.120 RMF III z/OS 1.10 new ASI fields (INCOMPATIBLE).
TYPESRMH 27.340 SRM Thales Security PTF SL24010 INCOMPATIBLE support.
TYPESTC 27.072 VTCS subtypes of STC/STK record updated.
TYPESYNC 27.289 Support for CPUZIPTM added in SYNCSORT SMF records.
TYPETIMS 27.298 Expensive algorithm to uncompress ASG/Landmark data.
TYPETMDB 27.209 TMON/DB2 BF record SQL text BF0142RL corrected.
TYPETMDB 27.259 Support for TMON for DB2 BA/BJ/BK/BL/BM subtypes.
TYPETMMQ 27.145 Support for TMON for MQ record 'QA' (APPLICATION).
TYPETMNT 27.009 MSGID IEF233D supported, no DSNAME in SYSLOG doc'd.
TYPETMNT 27.336 SYSLOG message text size increased to 32384 bytes.
TYPETMO2 27.042 Support for ASG TMON for CICS V3.2.
TYPETMO2 27.091 ASG TMON/CICS variables WTSCWTTM,WTSCWTCN reversed.
TYPETMO2 27.215 TMON/CICS Version 3.1 INPUT EXCEEDED on 'TI' record.
TYPETMS5 27.111 New TMSLIB variable, support for multiple TMS cats.
TYPETMS5 27.168 MXG 27.05-27.06. _KTMSTMS dropped, impacts ITRM.
TYPETMS5 27.190 TMS.TMS DEVTYPE blank for 3590 and 3592 devices.
TYPETMVT 27.347 TMON/VTAM "SI" record Interval variables now INPUT.
TYPETPMX 27.093 TYPETPMX variable JESNR now 7-digits, was 5 digits.
TYPEULOP 27.029 Support for BMC's Ultra Op Product's User SMF record.
TYPEULTM 27.069 Serena's Ultimizer user MV moved subtype location.
TYPEVMXA 27.008 z/VM 5.2 RECORD ERROR SYTSYP/STORSP/STOSXP/PRCPRP.
TYPEVMXA 27.156 Support for z/VM 6.1.0 in MXG 27.01+; no new data.
TYPEVMXA 27.156 z/VM 6.1 support is in MXG 27.01 or later.
TYPEVMXA 27.264 z/VM MONWRITE example processes only USER domain.
TYPEXAM 27.030 Only the last MDISK was kept in XAMDEV.
TYPEXAM 27.070 Variable DESCR truncated in XMHSTMEM, changed.
TYPEXAM 27.151 XAM TCP record INPUT STATEMENT EXCEEDED error.
TYPEXAM 27.216 Variable SYTLPNAM restored kept in XAMSYT dataset.
TYPEXAM 27.281 Updates/corrections/ for XAM Version 3.7.
UDB2GTF 27.015 Revised Support for processing DB2 GTF records.
VGETDDS 27.083 Concatenate PDB libs, dynamically allocate them.
VGETDDS 27.248 Logic revised when DDNAMES= syntax is used.
VGETDDS 27.310 New DATEJUL= created DSNAMES with Julian YYYDDD.
VGETDDS 27.330 New DATEJUL= correctly generates julian dsnames.
VGETDDS 27.359 WAIT=N option protects for DSNAME already in use.
VGETOBS 27.237 Enhancement if no DDNAME argument.
VGETSYSI 27.049 New %VGETSYSI gets (z/OS only) SYSTEM, SU_SEC values.
VMACDB2 27.131 DB2STATS DIF() or no-DIF() corrections.
VMACEDGR 27.128 Syntax error after Change 27.046 (GT. GT.).
VMACORAL 27.306 Support for restructured ORACLE SMF records.
VMACSMF 27.058 SMF SUBTYPE GT 255 for BMC CICS subtype 2818/47874.
VMACSMF 27.341 WARNING: SUBTYPE GT 255 message now not defaulted.
VMXGALOC 27.355 NOWAIT added, create/allocates are now conditional.
VMXGCNFG 27.356 The standard SAS JCL Proc can be used for MXG.
VMXGDUR 27.214 New FLORCEIL=FLOOR/CEIL argument for begin/end calc.
VMXGDUR 27.214 SYNC59=YES now default with FLOOR, always safe.
VMXGDUR 27.308 SYNC59-NO/VMXGDUR/VMXGSUM (final?) enhancements.
VMXGOPTR 27.051 %VMXGOPTR changed, CURRENT vs ORIGINAL value is used.
VMXGOPTR 27.092 SAS V8-ONLY: OVERFLOW HAS OCCURRED after SUMSTATB
VMXGOPTR 27.092 SAS V9.2-ONLY: NO MATCHING %IF FOR %THEN.
VMXGOPTR 27.124 Macro %TRIM() function removed from VMXGOPTR.
VMXGSET 27.343 VMXGSET permits multiple datasets with APPEND=YES.
VMXGSUM 27.071 VMXGSUM-using programs support DROPed variables.
VMXGSUM 27.234 Revision to eliminate OUTCODE= argument sometimes.
VMXGTAPE 27.114 "Tape-aware" programs now support LIBNAME allocation.
WEEKxxxx 27.005 Weekly logic enhanced to support nonexistent dataset.
WPS 27.239 WPS 2.4 GA has been tested, requires MXG 27.09.
See member CHANGESS for all changes ever made to MXG Software.
Inverse chronological list of all Changes:
NEXTCHANGE: Version 27.
====== Changes thru 27.361 were in MXG 27.27 dated Jan 20, 2010========
Change 27.361 MXG 27.06-27.11. Variable BUFNO in TYPE1415 was always
VMAC1415 zero; the label in the comment for SMF14ABD, added by
Jan 19, 2009 Change 27.148, had a / instead of */ at the end of that
line, which swallowed (without error) the IF BUFNO test.
Note that even when fixed, BUFNO=0 occurs frequently for
non QSAM files; for example, TYPE1415 records for SAS
data libraries always have BUFNO=0 (because the access
method for SAS Data Libraries is EXCP Access Method).
Thanks to Tom Parquette, AXA Technology Services, USA.
Thanks to ???, ???, CANADA.
Change 27.360 Fixed in MXG 27.10, but in MXG 27.09, PDB.ASUM70PR could
VMXG70PR have PCTCPUBY much greater than 100%, for systems with
Jan 19, 2009 IFL engines, if the IFL also has the highest LPARNUM.
Similar to Change 27.123, fixed by Change 27.294/325,
but invalid values in PCTCPUBY were not mentioned in
the text of those changes.
This is only change text; no code was changed.
Thanks to Tee Brown, Blue Shield Blue Cross of South Carolina, USA.
Change 27.359 The new WAIT=N argument in %VGETDDS causes allocations to
VGETDDS be WAITed for N minutes if the DSNAME is already in use.
Jan 19, 2009 SAS tests every 15 seconds and if the DSNAME is freed in
those N minutes, the allocation proceeds as normal.
Thanks to George Pandzik, USAA, USA.
Change 27.358 Support for OMEGAMON ONDV SMF 112 SUB-SUBTYPE '0100'X,
EX112USD optional USREVNT1 or User Function clock/count section.
EX112UST dddddd Dataset Description
IMAC112 112USD T112USRD USREVNT1 Detail
VMAC112 112UST T112USRT USREVNT1 Totals
VMXGINIT In Omegamon/CICS modules KC2GLB or KC2GLBOL, in the
Jan 19, 2010 RKANPARU or RKANPARM library, you can define up to 10
Jan 29, 2010 "User Functions" that can populate the 10 clock/counter
pairs in this new segment. You define the Function Names
you plan to use, and CLOCK START MISC and CLOCK STOP MISC
will accumulate the MISC duration and count of starts in
the first pair. Names MISC, Sybase, Tablebase are used
in this first example, so those names are used to label
the first three sets of detail/total count/clocks, and
only the first three sets are kept by default. If you
create more User Function data, you can use the _K112UST
and K112USD macros to keep more than three, and you can
use the EX112UST exit to change the existing three or to
add new labels for the other counters.
Thanks to Henry Steinhauer, Northwestern Mutual, USA.
Change 27.357 -Some (new) TRANSLATE() functions had '00' or '80' where
VMAC80A '00'x or '80'x should have been specified.
Jan 17, 2010 -TYPE8066 dataset is enhanced with variables from RACFTYPE
6, 318, 319, and 320.
Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.
Change 27.356 -The standard SAS JCL procedure can now be used for MXG on
VMXGCNFG z/OS. You do not need a separate MXGSASVn JCL procedure;
MXGNAMES instead, use this JCL example (in member JCLMXG), after
JCLMXG you EDIT the DSNAMES of your MXG Source, MXG "USERID" and
CONFIMXG MXG Formats datasets into your MXGNAMES member in your
Jan 17, 2010 MXG "USERID" tailoring library:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
or you can provide the names in the jobstream, with:
// EXEC SAS,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD *
%LET MXGUSER1=HLQ.MXG.USERID;
%LET MXGSOURC=HLQ.MXG.SOURCLIB;
%LET MXGFORMT=HLQ.MXG.FORMATS;
-In addition, the VMXGCNFG macro that was designed by Rich
allocates the //SOURCLIB with OPEN_ED-1047 encoding; by
doing so, the setting for NLSCOMPATMODE is moot, and by
doing this, all NLS sites running with a locale that is
non-ENGLISH_UNITEDSTATES will never need to worry about
NLSCOMPATMODE, so MXG never has to worry about those SAS
language encoding issues again.
There can NOT be a LIBRARY DD in JCL with CONFIMXG, but
you can have a USER FORMAT library. The CONFIMXG member
%INCLUDEs MXGNAMES and then %INCLUDEs VMXGCNFG from the
&MXGSOURC path and then runs the %VMXGCNFG %macro.
The MXGNAMES member defines MXGFORMT and MXGFORMU and
VMXGCNFG LIBNAME-allocates MXGFORMT to LIBRARY LIBREF and
LIBNAME-allocates MXGFORMU to the USRFORMT LIBREF/DDNAME.
If both MXGFORMT and MXGFORMU are specified in the
MXGNAMES then the SAS system option FMTSEARCH is set:
OPTIONS FMTSEARCH=(USRFORMT LIBRARY)
so the user's format library is searched first.
Member JCLINSTL has the example JCL for ALOCUSID and FORMATS.
Both of those examples use MXGSAS94 JCL Procedure to create FORMATS,
but sites with National Language Support, should consider CONFIMXG
which protects for a future SAS version in which the NLSCOMPATMODE
option will be removed. CONFIMXG uses your standard site's SAS JCL
procedure and options:
// EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
But to create or update your FORMATS library with CONFIMXG:
a. The DSNAME of that format library must be named in MXGNAMES
b. There must be no //LIBRARY DD in the JCL of this job step.
c. You must use this syntax in the SYSIN for a new FORMATS:
// EXEC SAS94,CONFIG='MXG.SOURCLIB(CONFIMXG)'
//MXGNAMES DD DSN=MXG.USERID.SOURCLIB(MXGNAMES),DISP=SHR
//SYSIN DD *
LIBNAME LIBRARY CLEAR;
LIBNAME LIBRARY 'MXGV3603.FORMATS'
DISP=(NEW,CATLG)
SPACE=(CYL(10,3))
UNIT=SYSDA;
or use DISP=OLD to replace your existing formats library.
Thanks to Rich Anderson, SAS Institute Technical Support, USA.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.355 For execution under Windows, the unconditional create of
VMXGALOC existing directories or the delete of non-existent ones
Jan 17, 2010 caused popups that delay jobs until the popup is cleared.
An OPTIONS NOXWAIT was relocated around the TREND dataset
allocations, which will eliminate the popup messages, but
the creations/deletions are also now done in conditional
tests, now that we know these Windows commands exist:
This command tests if a folder exists before trying to
delete its files
If exist "m:\asdf\fdsa" del /q "m:\asdf\fdsa\*.*"
and this command makes sure a folder doesn't exist
before trying to create it:
If not exist "m:\asdf\asdf" md "m:\asdf\asdf"
Thanks to Jim Quigley, ConEd, USA.
Change 27.354 An MXGNOTE now prints the value of _IMSVERS on the log of
IMACIMSA the TYPEIMSA and TYPEIMSB steps of the JCLIMSL6 job. If
JCLIMSL6 IMS V9 records are read with _IMSVERS set to 10, an 08x
TYPEIMSA record is dumped with INVALID YYYY error; in V9, the YYYY
TYPEIMSB is located byte 81, but with _IMSVERS of 10, MXG tries to
Jan 15, 2010 to read the YYYY starting in byte 101. Before MXG 27.01
and Change 27.033, _IMSVERS was set either in IMACIMSA or
in your IMACKEEP, but now its value is set with statement
%LET MACKEEP= MACRO _IMSVERS 10.0 % ;
in the //SYSIN test in JCLIMSL6 (twice), so that you do
NOT have to EDIT IMACIMSA/IMACKEEP to define _IMSVERS.
This change just adds that diagnostic MXGNOTE so you can
see the actual value, if you should also see a hex dump!
Comments were revised to document this change.
Thanks to Douglas G. Wells, First National Bank of Omaha, USA.
Change 27.353 While I expected RMFINTRV would be used to create a small
VMXGRMFI number of "WORKnn" workloads, like 20 or so, for ease in
Jan 15, 2010 consolidation of scores of Service/Reporting Class into
logical workloads, RMFINTRV can now be created with up to
999 sets of "WORKnnn" variables, and also supports up to
9999 Service and Reporting Classes per Workload.
Thanks to Wayne Bell, UniGroup, Inc, USA.
Change 27.352 Variable SMF42JOQ was incorrectly "spelled" with a zero
VMAC42 instead of an "oh".
Jan 12, 2010
Thanks to Ambat Ravi Nair, CitiGroup, SINGAPORE.
Change 27.351 -READDB2 didn't invoke the EXdddddd member when selection
READDB2 generated an _Edddddd macro with only OUTPUT _Wdddddd,
Jan 12, 2010 causing any new variables you created in your tailored
EXdddddd to be not created. READDB2 now always %INCLUDEs
the EXdddddd member in its generated MACRO _Edddddd text.
EXCEPT: The EXPDBACB exit is NEVER called when READDB2
was asked to create DB2ACCTB, because the MXG EXDB2ACB
does NOT output DB2ACCTB (because of potential size), and
if READDB2 calls your tailored EXDB2ACB that did output,
then we would output DB2ACCTB twice.
-Logic for selection with DB2xxxx=AAAA/BBBB/CCCC/DDDDD
was corrected and simplified so it always works as doc'd.
-PROC COPY when PDBOUT= is specified only copies DB2 data
(and not any other datasets that happened to be in WORK).
Thanks to Raff Rushton, IBM Global Services, USA.
Change 27.350 This 1994 example analysis of "bands" of Usage is updated
ANALUSAG to use TYPE72GO instead of TYPE72 and an example JCL was
Jan 12, 2010 added in the comments.
Thanks to R. Wells, American General Finance, USA.
Change 27.349 Support for RMM APAR OA28930 which relocates the fields
VMACEDGR RDBLKCNT and RDTOTAL and expands them to 20 (EBDCIC) NUM
Jan 12, 2010 charaters in the DEXT and XEXT records.
-Support for RMM APAR OA24025 which adds fields RDBESKEY
(DEXT) and XDBESKEY (XEXT) with the CA Tape Encryption
Key value.
Thanks to John Grasing, MetLife, USA.
Change 27.348 The Optional SYSLOG Message Capture in MXGTMNT Tape Mount
ASMTAPEE Monitor program expected a maximum of 255 lines in a
Jan 12, 2010 multi-line Console Message (see Change 27.336 text), but
HASP636 message caused an SVC DUMP "MXG Monitor Extension
Subtask Abend" with its 1541 lines! This update, ML-46,
avoids the SVC Dump by skipping messages with over 255
lines, but is only a circumvention; once we can create a
similar large message on our test system, so we can see
the control block structure, we will create an ML-47
update that will support any multi-line console message.
Thanks to Beau Chavis, Bank of America, USA.
Thanks to Skip Abadie, Bank of America, USA.
Change 27.347 TMON/VTAM "SI" record Interval variables were not all
VMACTMVT input; I apparently had an incorrect DSECT or misread it.
Jan 8, 2010
Thanks to Paul Volpi, UHC, USA.
Change 27.346 Analysis of Hourly CPU Times in MXG TYPE70, TYPE72GO, and
ANAL307X SMFINTRV datasets (or in ITRM XTY70, XTY72GO, & XSMFINT)
Jan 14, 2009 to compare times captured in LPAR Dispatch and Effective,
Feb 22, 2010 captured in Service Classes, and captured in SMF Interval
Address Space records. Two reports, one BY SYSTEM and
one with detail BY SYSTEM SRVCLASS are produced.
The identification of the "Hour" of RMF and SMF Interval
observations is not straightforward; you must start with
the "projected interval end time" SYNCTIME/SMF70GIE and
then subtract from it to get the STARTHOUR, and the value
to subtract is different if you have SYNC(59) specified
in SMFPRMxx instead of the recommended SYNC(0) option.
Note: MXG has ALWAYS recommended SYNC(0) so that RMF
and SMF interval records are written at 00/15/30/45 to
create clean, comparable intervals. But if you still
have MICS, then you are unfortunately stuck with using
SYNC(59) to write at 14/29/44/59 minutes, because MICS
still uses SMFTIME to define its intervals, a (poor)
design that requires records be written early.
Feb 22, 2010: The output datasets created by ANAL307X
now include TYPE30_6 (deaccumulated) interval data and
SMFINTRV, so the subtypes 2/3/6 data is included in
this comparison of 30, 70, and 72 interval CPU times.
Thanks to Dick Cook, North Carolina Dept of Info Technology, USA.
Thanks to Francisco Ojeda, SAS Institute, USA.
Thanks to Joe Piechota, SAS Institute, USA.
Change 27.345 This JCL example uses UTILBLDP to process CICS and DB2
JCLCIDB2 SMF records to create PDB.ASUMUOW and PDB.CICS for
Jan 7, 2010 complete analysis. The output datasets are COMPRESSED
but COMPRESS=NO is used for the intermediate datasets,
to save CPU time (at the cost of doubling WORK space).
Change 27.344 Variables LPCTBY and PCTLPBY were missing in dataset
VMXG70PR PDB.ASUMCELP for the LPARNAME='PHYSICAL'.
Jan 7, 2010
Thanks to Karl Lasecki, Chemical Abstracts, USA.
Change 27.343 %VMXGSET is enhanced to permit multiple datasets to be
VMXGSET read from each data library, and new option APPEND=YES
Jan 6, 2010 removes the semi-colon from the constructed SET statement
so that you can add other dataset(s). This syntax:
%VGETDDS(DDNAMES=PDB);
DATA COMBINE.JOBS;
%VMXGSET(DATASET=JOBS,APPEND=YES) DAY.SPUNJOBS;
will read all of the JOBS datasets in the PDBx DDNAMEs
and the DAY.SPUNJOBS dataset.
Thanks to George Pandzik, USAA, USA.
Change 27.342 XAMSYS records from XAM Release 3.4 had SEGLEN=168, but
VMACXAM MXG code for Release 3.7 expected SEGLEN=220, causing
Jan 5, 2010 an MXG ERROR message for each record. Now, the XAMSYS
record's length is tested and only the old variables are
input for SEGLEN=168.
Thanks to Rodger Foreman, Acxiom, USA.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.341 Change 27.257 added a warning and correction if SUBTYPE
VMACSMF in an SMF record exceeded 255 (because the SMF record
Jan 5, 2010 creator incorrectly stored their subtype in the left byte
instead of the correct location in the right byte).
The correction is ONLY needed when just the SMF header
logic is used (only in MACRO _SMF, or UTILGETM), so
that the real SUBTYPE value is available for reporting
or selection.
Now, the WARNING is NOT printed by default; you can print
the warning with %LET MXGDEBUG=VMACSMF;
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.340 SRM Thales Security PTF SL24010 INCOMPATIBLY changed the
VMACSRMH Summary Record, which caused zero observations to be
Jan 5, 2010 created in datasets SRMHSMAP and SRMHSMDE. New variables
S04DBUSY S04DOVER S04DINTV S04DNCNT S04DUFLG
are now added to SRMHSMDE and the PTF is now supported.
Thanks to Kim Nguyen, National Australia Bank, AUSTRALIA.
Thanks to Shu chun Lai, National Australia Bank, AUSTRALIA
Thanks to Anne Chung, National Australia Bank, AUSTRALIA.
Change 27.339 Change 27.046 (MXG 27.02) changed four error variables
VMACEDGR RVTRERR RVTWERR RVPRERR RVPWERR
Jan 4, 2010 from character to numeric when IBM changed their lengths
from four to five bytes, but that was not documented.
If datasets built with MXG 27.01 or earlier are combined
with datasets built with MXG 27.02 or later, then this
ERROR: VARIABLE RVPERR DEFINED AS BOTH CHAR AND NUMERIC
will result. The only solution is to convert those old
character variables to numeric variables prior to merge
with the new datasets. This can be done with
DATA PDB.EDGRVEXT;
SET PDB.EDGRVEXT
(RENAME=(RVTRERR=XRVTRERR
RVTWERR=XRVTWERR
RVPRERR=XRVPRERR
RVPWERR=XRVPWERR));
RVTRERR=INPUT(XRVTRERR,5.);
RVTWERR=INPUT(XRVTWERR,5.);
RVPRERR=INPUT(XRVPRERR,5.);
RVPWERR=INPUT(XRVPWERR,5.);
DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;
LENGTH DEFAULT=4;
DATA PDB.EDGRXEXT;
SET PDB.EDGRXEXT
(RENAME=(RVTRERR=XRVTRERR
RVTWERR=XRVTWERR
RVPRERR=XRVPRERR
RVPWERR=XRVPWERR));
RVTRERR=INPUT(XRVTRERR,5.);
RVTWERR=INPUT(XRVTWERR,5.);
RVPRERR=INPUT(XRVPRERR,5.);
RVPWERR=INPUT(XRVPWERR,5.);
DROP XRVTRERR XRVTWERR XRVPRERR XRVPWERR;
LENGTH DEFAULT=4;
Thanks to Steve Sombke, American Century, USA.
Change 27.338 -The new DATEJUL= argument to generate dataset\directory
VGETDDS names that contain the Julian Date didn't stop at 2009365
Jan 3, 2010 but tried to create 2009366, 2009367, etc. The arguments
are now validated and if both start and end are Julian,
then the names are built with Julian dates. Otherwise,
if the arguments are numeric, then the names contain just
numeric sequences. When Julian dates are detected, then
SAS Date functions are used, so the names will correctly
roll forward or backward and both year-end AND leap-year
dates are correctly generated as the names.
-The length of the Julian Date argument can be either five
(09360) or seven (2009360) digits, but the directory or
z/OS dataset name must have the same number of digits.
So you can use
%VGETDDS(DATEJUL=h:\mxg\d,start=09360,end=10010);
for directory names h:\mxg\d09365 thru h:\mxg\d10010
or you can use
%VGETDDS(DATEJUL=h:\mxg\d,start=2009360,end=2010010);
for directory names h:\mxg\d2009365 thru h:\mxg\d2010010
Thanks to George Pandzik, USAA, USA.
====== Changes thru 27.337 were in MXG 27.11 dated Dec 31, 2009========
Change 27.337 The sort order for TYPE70PR was wrong in 27.10 MONTHBLD;
MONTHBLD a second MACRO _BYLIST and _MNTHBLD should have been
Dec 30, 2009 removed. The correct sort order is reduced to now be
SYSPLEX SYSTEM SYSNAME STARTIME
to avoid NOT SORTED conditions.
Thanks to Winnie Pang, Hawaii Medical Services Association, USA.
Change 27.336 Variable SYSLTEXT was arbitrarily INPUT as length $1024,
VMACTMNT sufficient for all tape-mount-related SYSLOG text,
Dec 24, 2009 but other SYSLOG records that can be written by MXGTMNT
can be 32384 bytes long; that is the maximum number of
lines in a multi-line WTO SYSLOG message (255) times the
maximum length of each message (126) plus one byte we add
between each message (254). MXGTMNT processes the
segmented records, which is the way the system presents
multi-line WTOs via the console interface. MXGTMNT
concatenates the messages into one block in one subtype 9
as opposed to creating multiple subtype 9s. So MXGTMNT
is covered unless IBM increases the number of lines or
message length which is not very likely but easily
addressed if they do. SYSLTEXT is now 32384.
Thanks to Beau Chavis, Bank of America, USA.
Thanks to Skip Abadie, Bank of America, USA.
Change 27.335 A stray */ at the end of ANALFIOE prevented any other
ANALFIOE subsequent %INCLUDEs to be bypassed. Unmatched comment
Dec 22, 2009 pairs often cause strange/unpredictable results.
Thanks to Brian Harvey, HCL America, USA.
Change 27.334 MXG 27.10 only. Macro variable &EPDBINC was accidentally
EXPDBINC left in the EXPDBINC member, but it is already correctly
Dec 21, 2009 located in BUILPDx, causing a second unwanted invocation
if %LET EPDBINC= was used to tailor BUILDPDB. However,
it should be noted that there is an inconsistency between
the syntax of the EPDBINC macro variable and the EXPDBINC
member, to include VMACxxxx's for BUILDPDB tailoring:
%LET EPDBINC= MEMBER1 MEMBER2 ;
EXPDBINC code: %INCLUDE SOURCLIB(MEMBER1 MEMBER2);
The value of %LET EPDBINC= is one or more MEMBER names to
be %INCLUDEd, while the code to use in the alternative
EXPDBINC member is one or more %INCLUDE statements.
-UTILBLDP sets &EPDBINC if USERADD=xxxx was specified when
it created its output SYSIN file, so this error could
cause a perfectly-running "BUILDPDB" that was built by
%UTILBLDP to fail when 27.10 is 'dropped in'. Copy the
EXPDBINC member into your tailoring library and remove
the &EPDBINC at the bottom, and your job will then run.
(Fortunately, the error is a syntax error at the start of
the BUILDPDB run, so it is fully restartable.)
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.333 The RMF Summary Report (REPORT=SMRY) was incorrect for
ANALRMFR most fields; averages of averages were printed, and the
Dec 20, 2009 CPU Busy included Specialty Engines when it shouldn't.
Dec 31, 2009
Thanks to Lisa L. Lawver, Land's End, USA.
Change 27.332 The Analysis of Job Events selects all SMF records for
ANALJOBE chosen jobs and prints the sequence of events in the life
Dec 18, 2009 of a job. The MACJBCK selection example tested JESNR,
but JESNR doesn't exist in many job-related records that
are read. Comments were revised for selection choices.
-The logic was restructured to eliminate uninitialized and
missing values, and durations of DSENQTM, LOADTM, and the
SELAPSTM are correctly printed with associated events.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.331 -Support for TOKDANAM='AUTOUID' in dataset TYPE80TK, and
VMAC80A protection for unknown TOKDANAM revised to prevent the
Dec 16, 2009 STOPOVER ABEND.
Thanks to David Schumann, Blue Cross Blue Shield of Minnesota, USA.
Change 27.330 -Variable SMF82PDK now input as VARYING4096, vice 256 and
VMAC82 longer length is protected if SMF82PLL is GT 4096.
Dec 16, 2009 -SMF82PTA is input as $EBCDIC8. vice $CHAR8. and no longer
VMAC80A formatted $HEX.
Jan 17, 2009 -SMF82RKN is input as $CHAR64. vice $CHAR16 and format is
updated.
Thanks to Matthew T. Chappell, Queensland Dept. Transport, AUSTRALIA.
Change 27.329 MXG 27.10 only, and ONLY if _S110ST is used to only sort
VMAC110 the statistics dataset. ERROR: CICIDNNR NOT FOUND because
Dec 15, 2009 that variable was not kept in the new CICSIDND data set.
But the two new Identity datasets, CICSIDND and CICSIDNT
should not have been in the _S110ST "sort statistics"
macro; they are from subtype 1, not subtype 2, records,
and they are NOT sorted in _S110, as they can be large
volume datasets. Four other non-statistics dataset from
subtype 1 were also removed from _S110ST sort macro.
These subtype 1 datasets are not sorted by MXG:
/*_SCICRDS - CICSRDS IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICRDS - CICSRDS IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICRDF - CICSRDFI IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICRDQ - CICSRDQU IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICIDN - CICIDNTY IS NOT SORTED, CAN BE HIGH VOLUME*/
/*_SCICIDD - CICIDNDD IS NOT SORTED, CAN BE HIGH VOLUME*/
unless you choose to add their _Sdddddd invocation in the
EXPDBOUT (for BUILDPDB), or after your TYPE110 include.
The Pdddddd/Wdddddd resets were also removed from the
_CICSTAT and _CICSTAS macro definitions for consistency.
Thanks to Glenn Bowman, Wakefern, USA.
====== Changes thru 27.327 were in MXG 27.10 dated Dec 6, 2009========
Change 27.327 -The DURATM variable in PDB.ASUMMIPS is the "expected"
ASUMMIPS interval of your summarization, e.g. 1 Hour, so it does
Dec 6, 2009 not report if there were less than a full hour input
(i.e., the last interval). New variable DUR70 created in
PDB.RMFMSUSE contain the actual duration of the TYPE70
records that were summarized, so you can delete those
short intervals with DUR70 LT DURATM, or use DUR70 to
identify incomplete (or possibly outage) intervals.
-ASUMMIPS now works with &KEEPALL=NO; it created output
obs only if the MXG default &KEEPALL=YES was in effect,
but that was an MXG oversight/error now corrected.
Thanks to Willy Iven, BNP Paribas Fortis, BELGIUM.
Change 27.326 Variable QDSTQCIT should not have been deaccumulated in
VMACDB2 PDB.DB2STATS.
Dec 5, 2009
Thanks to Terry L. Berman, DST Systems, USA.
Change 27.325 z/OS 1.11 ONLY: INVALID TYPE 0 RECORD DETECTED, DELETED
VMAC0 with LENGTH=60 is an MXG error; that new record length is
Dec 3, 2009 correct, and should have been output to TYPE0/IPLS. MXG
Change 27.229 decoded the new z/OS 1.11 field, but I had
forgotten about this (VERY OLD) test for invalid length.
This test exists because it is easy for a SYSPROG to
accidentally create an ID=0 SMF record when trying to
write a "user" SMF record, and there is a very high
cost (or embarrassment) if MXG reports that there was
an IPL when one had not happened!
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.324 Support for IBM's InfoSphere Change Data Capture (CDC)
EXCDCLOG product's user SMF record creates these new datasets:
EXCDCSRC dddddd Dataset Description Contains Segments
EXCDCSYS CDCLOG CDCLOGCA LOG CACHE DLR DCW
EXCDCTGT CDCSRC CDCSOURC SOURCE SCT SDT DSL CDI CDO
FORMATS CDCTGT CDCTARGT TARGET TCT DTC CDI CDO
IMACCDC CDCSYS CDCSYSTM SYSTEM OSC CIT PAL MAA CMO
TYPECDC CLS CVF DSC DCM DLP
TYPSCDC DAL PAA CCI CCO
VMACCDC
VMXGINIT
Dec 3, 2009
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.323 Harmless VARIABLE DURATM UNINITIALIZED note for CPS70PR7
VMXG70PR is eliminated.
Dec 2, 2009
Thanks to Kenneth D. Jones, Bell Aliant, CANADA.
Change 27.322 -New "STATS" value for IFCIDS= in READDB2 creates only the
READDB2 PDB.DB2STATS Interval Statistics Dataset in PDBOUT=PDB,
Dec 3, 2009 an alternative to the value "STATISTICS" that creates ALL
DB2 Statistics Datasets in the PDBOUT. PDB.DB2STATS is
is created from DB2STAT0/DB2STAT1/DB2STAT4 and summarized
DB2STATB, all of which are left in //WORK with "STATS".
The PDB.DB2STATS contains all of DB2STAT0/STAT1/DB2STAT4.
-NOTE APR 2012: SEE CHANGE 30.077, IFCIDS=STATS CHANGED
to create PDB.DB2STATS and PDB.DB2STATB.
-The "ACCOUNT" value creates all DB2ACCTx datasets, but
you can select a subset using the WANTONLY= argument.
You can now just name the wanted DB2ACCTx dataset in your
IFCIDS= argument, in place of ACCOUNT, and only those are
created. Both IFCIDS= and WANTONLY= values can now be an
MXG dataset name (e.g., DB2ACCTP, DB2ACCT), although the
original unique-to-READDB2-token-names (DB2ACTP,DB2ACCT)
that are listed in READDB2 comments are still valid.
So if you only want the three common datasets created,
%READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS,PDBOUT=PDB) will
create PDB.DB2ACCT, PDB.DB2ACCTP, and PDB.DB2STATS from
SMF 100 and 101 records.
-DB2 V8 only: The "DB2STAT4" is an SMF 102 IFCID=225 trace
record; if you have those data, this syntax
%READDB2(IFCIDS=DB2ACCT DB2ACCTP STATS 225,PDBOUT=PDB);
creates T102S225 and use it also to create PDB.DB2STATS.
Change 27.321 -DB2 variable QPACAAFG in DB2ACCTP identifies the type of
FORMATS Package that was executed and decoded by $MGDB2PK format
MRGDB2 with new-in-DB2-V9.1 value of '04:NATIVE SQL' added.
Dec 2, 2009 VALUE $MGDB2PK
' '='BLANK:NOT DEFINED'
'01'='01:STORED PROCEDURE'
'02'='02:USER DEFINED FUNCTION'
'03'='03:TRIGGER EXECUTING'
'04'='04:NATIVE SQL'
-New MRGDB2 member will be renamed or become an example.
-It merges variables from PDB.DB2ACCT with PDB.DB2ACCTP
to create PDB.ENHACCTP for Enhanced Package Accounting.
In this example, variable DB2PARTY is added, so ACCUMACC
Package ROLLUP RECORDS (QWACRINV=1,2,3 DB2PARTY='R') obs
can be identified; ROLLUPs don't have valid values in
these Package (DB2ACCTP) variables, so this example sets
all these variables in PDB.ENHACCTP to blank/missing for
the ROLLUP Package records:
IF DB2PARTY='R' THEN DO;
/* DOCUMENTED INVALID IN PK67870: */
QPACLOCN=' ';
QPACCOLN=' ';
QPACPKID=' ';
/* DOCUMENTED INVALID IN DSNWMSGS: */
QPACAANM=' ';
QPACARNA=.;
QPACASCH=' ';
QPACCANM=.;
QPACCAST=.;
QPACCONT=' ';
QPACEJST=.;
QPACLOCN=' '; /*YES, IN BOTH*/
QPACSCB=.;
QPACSCE=.;
QPACSPNS=.;
QPACSQLC=.;
QPACUDNU=.;
QPACUDST=.;
END;
-The sort order of the new example PDB.ENHACCTP dataset is
BY QWHSSSID QWHCAID QWHCOPID QWHCPLAN QWHSACE
QWHSLUUV DESCENDING QWHSSTCK;
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.320 CICS User fields SRCE,SRCETYPE,SRCEPROG,MSGLEN are
IMACAAAA supported in listed new IMACICxx CICS exit members.
IMACICUF IMACICUF - SRCE
IMACICUG IMACICUG - SRCETYPE
IMACICUH IMACICUH - SRCEPROG
IMACICUI IMACICUI - MSGLEN
UTILEXCL
VMAC110
Nov 26, 2009
Change 27.319 -DB2ACCT obs for Java Universal Type 4 JDBC Driver (JCC)
FORMATS (QMDAPTYP='JCC') did not populate these QMDASQLI fields:
VMACDB2 QMDAPLAT QMDAAPPL QMDAATID QMDASFLN ACCOUNTn
Nov 25, 2009 -Cosmetic: Format $MGDB2PN added JCC for QMDAPTYP.
'ARI'='ARI:DB2 FOR VM,VSE'
'DSN'='DSN:DB2 FOR Z/OS'
'JCC'='JCC:UNIVERSAL JDBC DRIVER'
'QSQ'='QSQ:DB2 FOR I/SERIES'
'SQL'='SQL:DB2 FOR LINUX/UNIX/WIN'
Thanks to Hugh Lapham, Royal Canadian Mounted Police, CANADA.
Change 27.318 Cosmetic; no change if COMPRESS=YES default is unchanged.
VMAC102 Several DB2 text-containing variables were $32000 LENGTH
Nov 24, 2009 because old DSECTS had no clue of their maximum lengths,
but some of these SMF 102 fields are shortened to their
(newly documented, probably unchanged) stored lengths:
QW0059CN $128 QW0061CN $128 QW0063ST $5000
QW0145TX $4000 QW0203PA $128 QW0206MS $256
QW0206MR $256 QW0206HR $64 QW0208MS $256
QW0208MR $256 QW0236MS $256 QW0236MR $256
These text fields are still $32000 stored length:
QW0004MS QW0005MS QW0062ON QW0064CN QW0065CN QW0066CN
QW0090CT QW0092P1 QW0097P1 QW01242T QW0140TX QW0141TX
QW0142TX QW0168ST QW0180DS QW0194DS QW0204TH QW0350SP
Change 27.317 Support for APAR OA28670 RMF 70 Crypto Express3 Feature.
FORMATS -Variables R7023CT and R7024CT, Crypto Processor Type, are
VMAC7072 now decoded by $MGRMFCX format.
Nov 20, 2009 -Dataset TYPE70Y2 new variables created by the APAR:
R702CDLV='ICSF*DATA*LEVEL'
R702AESC='AES*ENCIPHER*CALLS*SENT'
R702AESB='AES*ENCIPHER*BYTES*PROCESSED'
R702AESI='AES*ENCIPHER*OPERATIONS'
R702AEDC='AES*DECIPHER*CALLS*SENT'
R702AEDB='AES*DECIPHER*BYTES*PROCESSED'
R702AEDI='AES*DECIPHER*OPERATIONS'
Change 27.316 This JCL example shows how to split MXG into parallel job
JCL40GIG streams, to reduce run times, or to run parts of MXG more
Nov 19, 2009 than once per day (like multiple CICSTRANs), etc, and is
the example for the DOC40GIG parallelization document.
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.315 New HSMMH and SAFUSER variables are created in TYPETPMX.
VMACTPMX from $HSM_MH and $SAF_US field names in the ThruPut Mgr's
Nov 18, 2009 user SMF record.
-Doc: ThruPut Manager delays:
DCS - Dataset Contention Delays; when TPM detects that a
job needs a dataset that is being held, it holds
the new job.
DBS - Device Busy Delays.
Thanks to Betty Wong, BOA, USA.
Change 27.314 -SMF 82 Crypto dataset TYPE8219 datetime variables were on
VMAC82 GMT, but now SMF82XTD/XTN/XTW are shifted by GMTOFF82 to
Nov 17, 2009 local time.
-New variable SMF82ELP, Elapsed Duration, is now created
in TYPE8219 and TYPE8220 datasets.
-Label for SMF82SSI corrected.
Thanks to Cesar Cocco, Citigroup, USA.
Change 27.313 Analysis of Job Initiator Queue now uses PDB.SPUNJOBS
ANALINIT dataset only if it exists, eliminating NOT FOUND error.
Nov 15, 2009
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.312 MXG 27.09 only. Change 27.254 was incorrect for NTSMF
VMACNTSM processing on ASCII; that change was intended only for
Nov 15, 2009 VBS format data. The RECFM=V is restored for ASCII.
Thanks to Jim Quigley, ConEd, USA.
Change 27.311 Support for CTG 8.0 (COMPATIBLE) fields added to SMF 111
VMAC111 record for TY111GD dataset:
Nov 14, 2009 CTGIXACO='INTERVAL*XA*TRANS*COMPLETED*HA GROUP'
CTGLXACO='LIFETIME*XA*TRANS*COMPLETED*HA GROUP'
Change 27.310 New parameter DATEJUL= creates DSNAMEs with the date in
VGETDDS Julian format, YYYYDDD, as an alternative to DATEBASE=
Nov 17, 2009 which creates the DATE in the DSNAME in DDMONYY format.
The START and END values can be specified with MDY values
or JULIAN values, or even a numeric string.
Thanks to Brian Harvey, HCL America, USA.
Change 27.309 -z/VM dataset VXSYTEPM variable's values were carried from
FORMATS from prior CMG segments (so ESCON variables could be
VMACVMXA populated in FICON observations). Now, the "other" CMG's
Nov 11, 2009 variables are set to missing values.
-New variable CHPIDTYP identifies the type of channel and
is formatted by new $MGVXACH format, which identifies the
type of OSA adapter, and it should be used in your sorts.
-New variables PCTCPCBY and PCTLPABY are calculated from
Work Units (like TYPE73) for CMG=2 (FICON) records.
Thanks to Melanie Hitchings, BT, ENGLAND.
Change 27.308 MXG 27.08-27.09. SYNC59=NO again default VMXGDUR,VMXGSUM.
VMXGDUR
VMXGSUM Caused minor differences in hourly counts in PDB.CICS
Nov 10, 2009 when minute 59 count/resources were shifted to next hour.
ASUMCICX Change 27.214 changed the internal default to SYNC59=YES,
ASUMCICS in these two internal members that summarize everything,
ASUMCICS its text claiming "ALWAYS SAFE"! But that is ONLY true if
ASUMCICT the input data being summarized is "interval" data, i.e.,
ASUMCIMS it already contains the Interval Start/End times, like
ASUMDB2A RMF,SMFINTRV,DB2STATS, or if SYNC59=YES was specified in
ASUMDB2B the ASUM/TRND/etc that invoked %VMXGSUM.
ASUMDB2G
ASUMDB2P Instead, when the input data being summarized is "events"
ASUMDBDS or "transactions", like CICSTRAN,DB2ACCT,ASUMUOW, wherein
ASUMDBSB VMXGSUM creates the Interval Start/End times, my change
ASUMHSM from NO to YES caused differences in hourly counts in the
ASUMIDMS PDB.CICS dataset (created from CICSTRAN by ASUMCICX) as
ASUMJOBS those minute 59 data were being counted in the next hour.
ASUMSTC (There's nothing wrong in using SYNC59=YES in ASUMCICX
ASUMVTVM to shift those minute 59 transactions, if that's what
you know you want because you have SYNC(59) data, but
I should not have changed that global default!).
While not required with the restored default value, the
listed ASUMxxxx members use input event data and create
interval start/end times, so they now all contain the
SYNC59=NO option, mostly for documentation.
Thanks to Paul Naddeo, FISERV, USA.
Change 27.307 Ancient DB2 Version 7.1 records have non-zero offset and
VMACDB2 length for the "truncated" QMDALOCN field, so MXG read in
Nov 6, 2009 that longer text into QMDALOCN, but examination of those
longer text values show they are not valid, and since the
DB2 V7.1 DSNDQMDA doesn't show the "truncated" offsets,
which appear to have been added in DB2 V8.1, the input of
the truncated field is now bypassed for QWHSRELN LE 7.1.
Change 27.306 Oracle SMF records are restructured, which surfaces as
VMACORAC ERROR: ILLEGAL VALUE FOR STARTS messages. This change
Nov 6, 2009 recovers all original values, and creates seven ORACUNNn
numeric unknown variables and two ORACUNCn character
variables observed in the SMF records. These variables
will be named when a DSECT is available.
Change 27.305 The MSU and MIPS calculations in ASUMMIPS for workloads
ASUMMIPS (i.e., the Service Class MSU from TYPE72GO and Address
Nov 6, 2009 Space MSU from SMFINTRV) did NOT take into account the
Capture Ratio. of each of the engine types; only the
Captured CPUTM was used. This change keeps the RMFINTRV
Capture Ratio variables (CAPTURAT CAPIFART CAPZIPRT) for
each Engine type, and the MSUUSED is divided by
(CAPxxxxx/100) to take into account the Interval Capture
Ratio for that SYSTEM for that engine type. This will
cause the xxxUSED values to be estimates of the hardware
utilization, and they will be slightly larger now. If
intervals are summarized, the Interval Capture Ratio is
the weighted average of the input data. The use of
Capture Ratio can be turned off by specifying a 0 instead
of 1 for the _USECAPT macro.
Thanks to Brian Harvey, HCL America, USA.
Change 27.304 The IFA/zAAP and zIIP Capture Ratios are wrong if those
VMXGRMFI Specialty Engines are faster than the CP engines, because
Nov 6, 2009 the IFATM/ZIPTM are normalized values. Now, the factors
Dec 3, 2009 R723NFFI and R723NFFS, respectively, are used in the MXG
calculation of CAPIFART and CAPZIPRT Capture Ratios. The
CPU times are NOT changed back to raw values.
Change 27.303 CICS Total I/O Wait WTTOIOTM & Total Other Wait WTOTIOTM
ADOC110 variables now include all 45 WAIT durations included in
VMAC110 Suspend Time that are in IBM's CICS Performance Guide for
Nov 5, 2009 CICS/TS 4.1; these six wait durations are not separately
Nov 10, 2009 in WTOTIOTM because they are included in RMISIOTM:
IMSWAITM DB2RDYTM DB2CONTM DB2WAITM DSCHMDTM WMQGETTM
-Member ADOC110 is updated with the complete list of which
waits are I/O and which are Other waits, and a schematic
of how these waits are related. The new equations are:
WTTOIOTM=SUM( /*TOTAL I/O WAIT DURATION*/
WTTCIOTM,WTTSIOTM,WTSHIOTM,WTTDIOTM,WTJCIOTM,
WTFCIOTM,WTRLIOTM,CFDTWATM,SOIOWTTM,ISIOWTTM,
SOOIOWTM,WTIRIOTM,LU61IOTM,LU62IOTM,SZWAIOTM);
WTOTIOTM=SUM( /*TOTAL OTHER WAIT DURATION*/
DSPDIOTM,ENQDIOTM,GNQDELTM,WTICIOTM,WTLMIOTM,
WTWEIOTM,WTWCIOTM,RUNTRWTM,SRVSYWTM,RQRWAITM,
RQPWAITM,SYNCDLTM,MAXOTDTM,MAXJTDTM,MAXSTDTM,
MAXXTDTM,RRMSWATM,PTPWAITM,RMISIOTM,JVMSUSTM,
DSTCBMTM,DSMMSCTM,WTDWIOTM);
WTUNIOTM=MAX( /*UNCAPTURED WAIT DURATIOM(/
0,(SUSPNDTM-(WTTOIOTM+WTOTIOTM)));
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Thanks to Dick Arnold, Commerce Bank of Kansas City, USA.
Change 27.302 Variable FTPMEMBR is now kept in TYPETCPC dataset, and
VMACTCP variable FTPUSRMT is now correctly labeled "REMOTE" and
Nov 4, 2009 not "LOCAL".
Thanks to Marybeth Delphia, Texas Comptroller of Public Accounts, USA
Change 27.301 Unused Change Number.
Change 27.300 ASMTAPEE ML-45 provides several enhancements.
ASMTAPEE -Addition of assembly time stamp to initialization message
Nov 1, 2009 TMNT016I. This will help to confirm that the version of
TMNT that is active matches the expected assembly.
TMNT016I MXG Tape Monitor maintenance level 45
initialization complete (2009/10/31-13.15)
-Modification of the TMNT018I initialization message to
include the SMF record number being used:
TMNT018I MXG Tape Monitor interval set to 0.50 seconds
using SMF record number 238
-Added message TMNT011E (in addition to existing TMNT010E)
to more clearly identify, in human terms, the reason why
SMF recording has failed:
TMNT010E SMF write failed - SMFEWTM return code is
00000028
TMNT011E SMF write failed because a buffer shortage
caused the data to be lost
-Added support for BAM (basic access method) use of XTIOTs
(TIOTs resident above the 16mb line). This is only
relevant when the XMEM=YES option is specified.
-Each ML has small performance enhancements to decrease
MXGTMNT overhead; generally this involves taking
advantage of macro options that improve performance
and/or eliminating unnecessary instructions from
performance sensitive code paths. The benefits are small
from ML to ML but the difference between ML45 and ML26,
for instance, is fairly significant.
Change 27.299 %MACRO to minimize GDG Base Enqueue when reading SMF(0),
ALOCGOVO by only opening the GDG Base Name with relative reference
Oct 31, 2009 to get the full "goovoo" dsname, freeing the Base Name,
and then allocating the FILENAME SMF with the "goovoo"
name for the actual SMF processing, so the duration of
the DSNENQUE for the GDB Base Name is very short.
Normally, if you use JCL to allocate SMF(0), your job
will prevent an SMF Dump from running to create (+1),
until your job ends (or, at least until SMF reading is
completed, if you use FREE=CLOSE on your //SMF DD).
The WAIT=20 option is used to open the relative reference
FILENAME SMF "YOUR.SMF(0)" DISP=SHR WAIT=20;
so that if the GDG Base is already in use, SAS will enter
a Detected Wait state for up to 20 minutes, waking every
15 seconds to see if the enqueue has cleared; without the
filename option WAIT=20, SAS would have terminated with
ERROR: FILE IS IN USE, YOUR.SMF(0) message).
The examples show DDNAME=SMF, but that and the options on
the generated FILENAME statement can be changed.
-This ALOCGOVO only works if your REMOVE the static DD
statements from the JCL; otherwise they will still
control the allocation.
Thanks to Christian Hodel, Swisscom IT Services, SWITZERLAND.
Thanks to MP Welch, SPRINT, USA.
Change 27.298 Another Elegant algorithm uncompresses ASG/Landmark data
VMACTIMS records in SAS code, so it works on ASCII systems (which
VMACTMDB do not support INFILE exits). However, it is EXPENSIVE,
VMACTMDC requiring SIX TIMES THE CPU THAT THE EXITMON6 INFILE EXIT
VMACTMMQ REQUIRES: USE EXITMON6 ON z/OS. See Change 27.260.
VMACTMO2 ASG's compression technique is different than IBM's, but
VMACTMTC a similar increase in CPU Time was observed. However,
VMACTMVS since ASCII systems do not support INFILE exits, this SAS
VMACTMVT code algorithm does support processing of compressed data
Nov 5, 2009 on ASCII or with WPS, which might be worth the CPU cost.
Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
Change 27.297 -ANALDB2R - MERGE STATEMENT HAS REPEATED BY VALUES, and
ANALDB2R SUBSTR errors in AUDIT reports were corrected.
READDB2 -ANALDB2R corrected logic to populate the IFCIDs being
Nov 4, 2009 requested with READDB2 is used with PDB=SMF.
Nov 15, 2009 -READDB2 corrected logic that was suppressing the T102S106
Nov 24, 2009 dataset when WANTONLY was not used, even when requested.
-READDB2 ACCOUNT and STATISTICS now work as expected, to
create only those subsets of datasets; examples revised
to show the use of optional DB2ACTB=NO, etc.
Thanks to Jim Kovarik, AEGONUSA, USA.
Change 27.296 Variable CECSER added to datasets RMFMSUSE and SMFMSUSE.
ASUMMIPS
Oct 28, 2009
Thanks to Nicholas Ward, Centrelink, AUSTRALIA
Change 27.295 PRO/SMS SMF records were misaligned after the MSGED text
VMACPROS which was increased from 256 to 292 bytes; the first 42
Oct 27, 2009 are now GWMSGECH $CHAR42 with $HEX84 format, while the
actual text is GWMSGED input now as $EBCDIC250.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 27.294 IFL observations in ASUM70LP and ASUMCELP had STARTIME
VMXG70PR and DURATM were missing values, and IFLCPUS was wrong if
Oct 26, 2009 the summary interval was larger than original DURATM.
Thanks to Kenneth D. Jones, Bell Aliant, CANADA.
Thanks to Bruce Perry, Bell Aliant, CANADA.
Change 27.293 Support for CICS Identity Propagation, new with z/OS 1.11
EXCICIDD CICS/TS 4.1 & APARs PK95579,PK83741,PK98426, creates new
EXCICIDN SMF 110 Subtype 1 MNSEGCL=6 record (if MNIDN=ON in SIT),
FORMATS from which MXG creates two new datasets:
IMAC110 dddddd Dataset Description
VMAC110 CICIDN CICSIDNT IDENTITY Transaction Information
VMXGINIT CICIDD CICSIDND Identity Realm/Distinguished Name
Oct 26, 2009 This new Identity Propagation facility sends a user's
Nov 16, 2009 security identity information (the distributed identity)
from a client system across a network, preserving the
distributed identity for use during CICS authorization
and for subsequent auditing purposes.
Following text was revised Feb 1, 2010:
-The new MNSEGCL=5 record was "supported" by MXG 20.20 but
no records were ever read; this SMF file contained those
records and exposed errors in that MXG code, including a
possible INPUT STATEMENT EXCEEDED RECORD LENGTH error.
-The MNSEGCL=5 subtype record can be compressed by CICS,
but the new MNSEGCL=6 record can not.
Change 27.292 Dataset ASUM70LP had missing values for LPSHARC,LPSHARE
VMXG70PR TOTSHARC and TOTSHARE in the observations for the first
Oct 26, 2009 LPAR (only in the first interval). Setting LPARNUM=. was
changed to LPARNUM=9999 so the descending sort corrected
the missing values.
Thanks to Horst Noerenberg, GaVI Gesellshaft .. Informatik, GERMANY.
Change 27.291 Variable S42DSRDD was incorrect by a factor of 10**6; the
VMAC42 calculation should have multiplied by 1000 to convert to
Oct 23, 2009 milliseconds, but it instead divided by 1000. The right
statement for all three instances now is
S42DSRDD=128*S42DSRDD*1000;
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to Sridher Nelliyappan Manivel, Lowe's Companies, USA.
Change 27.290 ASUMUOWT (ASUMUOW with ASG TMON MONITASK vice CICSTRAN)
VMXGUOWT had not been updated in four years, suggesting not much
Oct 23, 2009 usage, but now it is updated to match ASUMUOW.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 27.289 Support for CPUZIPTM in SYNCSORT records; additionally,
VMACSYNC the new 4-byte fields in the SORTWORK extension are used
Oct 22, 2009 for the primary and secondary track allocations and the
Nov 18, 2009 primary tracks released.
Syncsort acknowledges that not all sorts can use a zIIP:
-Eligible sorts (not Merge or copies) are seeing 50 to 60
percent use of the zIIP eligible algorithms which result
in a 4 to 10 percent improvement in CPU time.
-Sorting jobs which employ the following features are
currently not eligible for zIIP processing:
SUM
Exit routines other than E15 or E35
Using SORTIN with an E15 exit
OUTREC with CONVERT
Relative length greater than 32756
VBS truncation
TSO invoked sorts
SVC=0
VB INCLUDE/OMIT
OUTFIL INCLUDE
TRUNCATION OF KEYS
SYNCSORT TPF SY66820 enables use of:
INCLUDE/OMIT with STOPAFT
-Although these limitations are being reviewed by SYNCSORT
development staff, there is no schedule nor time frame
if or when any of these will become eligible for zIIP
processing.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.288 New format $MGCICCN is created for variable CMQCNSTA in
FORMATS CICS Statistics dataset CICIMQ dataset to identify if the
VMAC110 Queue is connected or not.
Oct 22, 2009
Thanks to Dale Slaughter, Aegonusa, USA.
Change 27.287 MXG 27.09 errors corrected:
DAILYDSC -ERROR: New DAILYDSC, DAILYDSN, and DAILYDSR.
DAILYDSN The new VMXGDSN's argument was changed to TAPEDATA= from
DAILYDSR TMC= during testing, but the three DAILYDSx members still
VMAC74 had the original TMC= argument in their VMXGDSN calls.
CONFIGV9 If you have an old, tailored DAILYDSx member, it is NOT
Oct 21, 2009 impacted by this new design that uses VMXGDSN.
VMXGDSN -COSMETIC: VMAC74.
Nov 13, 2009 DEBUGGING PUT statement was not removed.
-COSMETIC: CONFIGV9
Option NOMAUTOSOURCEDISPLAY replaces MAUTOSOURCEDISPLAY.
Many lines printed on log, no impact. See Change 27.284.
Option was changed in 27.08.
-Nov 13: VMXGDSN typo PDN corrected to PDB.
Thanks to Paul Naddeo, FISERV, USA.
Thanks to Robert Hamilton, Fifth Third Bank, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
Change 27.286 PRISMA dataset PRPR1620, variable "UNKNOWN" is now INPUT
VMACPRPR as OFFSETS, and new variable INTERPOS is INPUT and KEPT.
Oct 18, 2009
Thanks to Nik Marien, KBC Global Services NV, BELGIUM.
Change 27.285 Label, formats, and spelling corrections:
TYPEIMSA TYPEIMSA:
VMACNTSM variable ELAPSTM formatted TIME12.2
VMACQACS VMACNTSM:
VMACVMXA labels added
Oct 17, 2009 MLMDINST='MLMD*INSTANCE*NAME'
VMAC71 MLLOINST='MLLO*INSTANCE*NAME'
VMACTMNT QLBLINST='QLBL*INSTANCE*NAME'
Oct 20, 2009 labels changed
SQBTATWB='AVG*TIME TO*WRITE*BATCH'
QLBLATWB='AVG*TIME TO*WRITE*BATCH'
QLBLTBBA='AVG*TIME*BETWEEN*BATCHES'
SQBTTBBA='AVG*TIME*BETWEEN*BATCHES'
formatted
QLBLTBBA QLBLATWB TIME13.3
by list changes
VMWGURES dataset, VWGRINST inserted
VMWHODIS dataset, VMWHINST inserted
MLCONS dataset, MLCOINST inserted
VMACVMXA:
label corrected
VIMXCD20='DEVTYPE 20*MAXIMUM*VIRTUAL*CPU TIME*ACB'
variable name spelling corrections in DIF() logic:
ASCHLRC ASCHLLC spelling was wrong: ASCCHLRC/ASCCHLLC
VMACQACS:
labels added
SYSIUL='USER*AUTHORIZATIONS*AVAILABLE'
SYSCIU='USER*AUTHORIZATIONS*NEEDED'
VMAC71: Dataset TYPE71.
Variable SMF71GIE was added to the keep list for TYPE71
by Change 27.178 but the change was not documented. Now
it is labeled and formatted.
VMACTMNT: Dataset TYPESYMT.
Variables SYSLENCR, SYSLBLKS labeled.
VMXGRMFI: Dataset RMFINTRV.
Variable NRINTRV now labeled.
Variables IFATM, ZIPTM are now TIME12.2 formatted.
VMXG70PR:
Variables IFAACTTM, ZIPACTTM labeled and TIME12.2'd.
All LnnPAT variables are formatted TIME12.2
All LnnIFKTM and LPnILWTM in ASUM70PR TIME12.2'd.
VMAC30: Variable ASID label corrected.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 27.284 The SAS Option MAUTOLOCDISPLAY was added to the CONFIGV9
CONFIGxx member in MXG 27.08, but not documented. That option
Oct 16, 2009 prints a message when an autocall %MACRO is invoked, to
identifies the source member that was autocalled. That
option is very useful for MXG Technical Support: having
a back-level member in your tailoring library causes most
errors, and so we can diagnose directly from your log,
without requesting a second run to enable diagnostics.
However, the message is NOT printed for each compile of
an autocalled %MACRO, but instead is printed for each
invocation of an autocall, which causes lots of messages,
so I have now changed CONFIGV9 to NOT set that option.
You can reset the option with an OPTIONS= parameter:
// EXEC MXGSAS,OPTIONS='NOMAUTOLOCDISPLAY'
====== Changes thru 27.283 were in MXG 27.09 dated Oct 14, 2009========
Change 27.283 CPU Activity Report updates.
ANALRMFR
Oct 14, 2009
Thanks to Kim Westcott, New York State Office of Technology, USA.
Change 27.282 -TMON for VTAM 'SE' record average values are no longer
VMACTMVT contained in the record, causing an INPUT EXCEEDED error.
Oct 12, 2009 These variables are now calculated rather than INPUT:
SEHRTA SENRTA SEINA SEOTA.
-Some 'SE' records are compressed, while most are not, in
the test file, so MXG now skips the compressed records,
printing a message for the first five, but outputting the
non compressed records.
Thanks to Paul Volpi, UHC, USA.
Change 27.281 -New XAM datasets are created for PRCAPM, PRCIOP, IODVSW,
EXXAMAPM and STOASI. Those segments can be repeated in XAMSYS
EXXAMASI records, and thus must be output in separate datasets.
EXXAMIOP -New XMMTRPAG dataset created from MTRPAG segment in the
EXXAMPAG XAMDEV file, which is quite different than the MTRPAG
EXXAMVSW segment in the XAMSYS file. Variables PGS1-PGS3,CALCYLPA,
IMACXAM CALCYLPR and CALCYLSP that were previously kept in XAMDEV
VMACXAM are no longer kept in that dataset as they exist only in
VMXGINIT the MTRPAG segment in XAMSYS.
Oct 13, 2009 -IMACXAM is updated with the new datasets.
EXXAMSEK -MANY new variables in release 3.7 that were previously
Oct 17, 2009 overlooked are now output; the KEEP= list for each of
Oct 20, 2009 those datasets lists this Change Number before the list
of new variables.
-Additional MXG corrections for alignment corrected these
dataset's variables:
XAMSYS SYSBUSY
XAMUSR IDLETIME; variable VMTRUSR was removed.
XMFALACB INDEX
-Variable LASTCHNG (a TODSTAMP) is sometimes populated
with 8-bytes of blanks, which cause a datetime value of
'27OCT1935:08:26:40.59'. Now, blanks set it to missing.
-Additional problems with data values that are observed:
-Variable SMOOTHTM in XMSUBNET, XMTCPAPP, XMTCPCON has
many (not all) instances of negative values.
-Variables PVMAJTFA in datasets XMVSISFT and XMVSINAP
and variable PVMINTFA in dataset XMVSISFT are sometimes
negative values.
-Variable RSASXRPM in XAMSYS dataset can be negative.
-Variable PTYPE in XMVSISFT is numeric, usually 0 or 4,
but it contains blanks; four blank ('40'x) input as
PIB4 is the decimal value 1077952576.
-Variable PPATH in XMVSISFT should contain path name in
EBCDIC, but values starting with 'init ' have hex value
'BAF3BB'x in the last three bytes.
-Variable PERFNICE in XMVSISFT can be negative.
-Oct 17 updates after Barton updated his PL/1 Declares:
-XAMDEV dataset
variables PAGUSED SCMWORK SPLUSED no longer exist.
variables CALSPOOL CALPAGE RDEVDRAN are added.
MDISK segment, length 92, 8+4+16+16+8+16=68 documented
CONFIG - corrected
USEACT - corrected
-XAMSYS dataset
RLEASE - corrected
SUBSUM - corrected
MONITR - corrected
MTRMEM - corrected
MTRSYS - corrected
-XAM TCP record
FALCPU - updated.
TCP - updated.
HSTSFT - updated.
VSINAP - updated.
VSIUSR - updated.
-Oct 20 status: updates pending documentation
DEV - IODQDS - Segment not documented.
DEV - MDISK - Extra data not documented.
DEV - SEKSEK - Decoded, but disagrees with Declare.
USR - SERVRS - Segment not documented.
Thanks to Chris Morgan, CITIBANK, ENGLAND.
Change 27.280 New DCOLLECT variables added by z/OS 1.11 dataset DCOLDC:
VMACDCOL DDCSPECC='DDCSPECC*ADDITIONAL*SPECIFICATION*FLAGS'
Oct 9, 2009 DDCFATTR='EATTR*SPECIFIED?'
DDCSPECD='DDCSPECD*ADDITIONAL*SPECIFICATION*FLAGS'
DDCVBYT1='VSAM*EXTENSION'
DDCEX255='OVER 255*EXTENTS*ALLOWED?'
DDCEATTR='EXTENDED*ATTRIBUTE'
Variable DDCSFLG was incorrectly located in z/OS 1.10 IBM
documentation in Access Method Services for Catalogs; the
+3 preceding it was really only +2. These new variables
are decoded from DDCSFLG:
DDCOVRD ='BWO*SPECIFIED?'
DDCSDB ='SPHERE*RECOVERABILITY*SPECIFIED?'
Thanks to Mike Blocker, Fidelity Investments, USA.
Change 27.279 IBM has documented when Subtype 24 and 25 records are
VMAC42 created in APAR OA30503:
Oct 8, 2009 Only those applications which issue STOW and DESERV
calls for PDS or PDSE directory processing will
generate Subtype25 records. Some applications, such as
IEBCOPY, do not issue a STOW or DESERV issue STOW when
updating the directory.
Change 27.278 Errors that %TRIM macro was not resolved are discussed in
CONFIGxx Change 27.124, but that error can also occur if you have
Oct 8, 2009 changed the S2=0 option in MXG's CONFIGV9 to S2=72.
Change 27.277 -Support for USER=DDNAME was erratic because WORK text was
VMAC42 used in many places, where &MXGWORK macro variable should
VMAC80A have been the text.
Oct 8, 2009 -Variables W2RCHGAG and W2RINSAG in dataset CICW2R are now
Oct 9, 2009 formatted MG110AG.
-Variable SMFA2GZ2 label corrected to "SMS" versus "SMF"
in dataset TYPE42D3.
-Variable SMFA2NRS label in TYPE42X3/X4 to match SMF42NRS.
-Variables TOKCHARV, TOKLDAP, TOKNUMRV, TOK80FLG, TOK80LN2
in dataset TYPE80TK are now labeled.
Thanks to Chris Weston, SAS ITRM Development, USA.
Change 27.276 Support for z/VM support of 3390-A a/k/a EAV volumes with
VMACVMXA more than 65K tracks; four larger fields are added at the
Oct 7, 2009 end of the SEKSEK record, and are input by this change
into the four existing MXG variables.
Change 27.275 Variable PCTIOPBY='IOP/SAP*PERCENT*BUSY' is created and
VMAC78 kept in TYPE78IO.
Oct 6, 2009
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.274 -ERROR: CICDS DISPATCH INTERVAL LARGER THAN INTERVAL can
VMXGCICI occur when creating PDB.CICINTRV Statistics Summary if
VMAC110 a region was Shutdown (creating an EOD record) and then
Oct 7, 2009 restarted, and the first INT record is created such that
Oct 21, 2009 both the EOD and INT records have the same Summary
(recalculated) COLLTIME. For example, with an requested
INTERVAL=THREEHR summary:
INTERVAL START ACTUAL SUMMARY
EVENT CICSSTCK COLLTIME COLLTIME
EOD 00:00 01:26 03:00
INT 02:00 03:00 03:00
the two events with the same Summary COLLTIME were NOT
combined, because variables CICSSTCK and COLLTIME were
both in the BY list for summarization. CICSSTCK has been
removed from both BY and KEEPs; only COLLTIME is correct.
-Variables A17DSIXP/A17DTRDS were incorrectly deaccumed,
causing negative values for them in PDB.CICINTRV.
-The SORT order for CICFCR (A17 variables) was corrected
to insert A17FNAM ahead of A17DSNAM in both VMAC110 and
in VMXGCICI. While I hate changing the SORT ORDER, this
change is required for duplicate removal.
-Oct 21: CICSSTCK added in KEEPIN= for all steps that have
CICSSTCH in the BY statement in their INCODE=, so that
KEEPALL=NO can be used if needed.
Thanks to Lynn Hong, UCLA, USA.
Change 27.273 -Cleaned up the WTD logic and modified so that if you are
BLDSMPDB using AUTOALOC (which create output directory names that
DAILYDSC contain todays date), it ignores ROLLWEEK (copying of the
DAILYDSN week4-week5 etc) since AUTALOC takes care of that.
DAILYDSR -New REROUTE= argument let's you change the destination
IMACZDAT directories of individual PDB datasets.
VMXGALOC -New macro variable &MXGZDATE created in IMACZDAT so that
VMXGDSN ZDATE can be set for rerun without hard EDIT of IMACZDAT.
VMXGDSN -New macro VMXGDSN reads DCOLLECT, TMC, RMM and CONTROLT
VMXGINIT data files for "Daily Dataset Billing", but separates
Oct 14, 2009 reading of the raw data files from the creation of the
Oct 21, 2009 "DATASETS" dataset, so those phases can be separately
Nov 19, 2009 executed by BLDSMPDB. Members DAILYDSN, DAILYDSC,
DAILYDSR members now invoke VMXGDSN.
-Some confusing WTD/WEEK & MTD/MONTH messages eliminated.
Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.
Change 27.272 READDB2 support for WANTONLY is enhanced (i.e., now it
READDB2 works, and with new options!).
Sep 28, 2009 When WANTONLY is used, the datasets that are NOT listed
in the WANTONLY= argument that would be created by other
arguments (e.g., ACCOUNT) will be created with zero obs.
Example 1:
IFCIDS=ACCOUNT,WANTONLY=DB2ACCT
IFCIDS=ACCOUNT,DB2ACCT=YES//keep/x y z
Only the DB2ACCT dataset will be populated; all other
DB2ACCTx datasets will be created, but with zero obs,
and no other datasets are created.
Example 2:
%READDB2(PDBOUT=PDBOUT,DB2ACTB=NO);
If you do NOT want a dataset to be created, then you
can use NO as the value of the Dataset Name Argument
and the dataset will NOT exist. For example, will
suppress the creation of DB2ACCTB.
Thanks to Alyona Bertneski, JPMorgan, USA.
Change 27.271 DB2 IFCID=173 support is updated to detect "truncated"
VMAC102 names, and supports UNICODE text data.
Sep 28, 2009
Thanks to Ervin Claxon, IBM Global Services, USA.
Change 27.270 CICS Statistics STID=115 record is not supposed to exist,
VMAC110 so when it did, MXG didn't handle it's non-non-existence
Sep 28, 2009 correctly.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 27.269 Change 27.158 still caused QWHDRQNM and QWHDSVNM to be
VMACDB2H incorrect, if SMF data was read on ASCII platforms, due
Sep 25, 2009 to spelling QWHDxxxx as QWHSxxxx.
Thanks to Bill McDonald, Kimberly-Clark, USA.
Change 27.268 Example to summarize PDB.TYPE72GO Service/Report dataset,
ASUM72GO creating 10 minute output intervals in PDB.ASUM72GO from
Sep 25, 2009 5 minute input intervals. Using DURATM=INTERVAL forces
the output DURATM value to be the INTERVAL=TENMIN value,
even if the Service Class was only active during one of
the two 5-minute original intervals.
-Originally, the DURATM from the first "period" was kept
in this INCODE logic:
INCODE =
PROC SORT DATA=MXGSUM1 OUT=MXGSUM1A;
BY SYSTEM STARTIME SRVCLASS RPRTCLAS;
DATA MXGSUM1; SET MXGSUM1A;
BY SYSTEM STARTIME SRVCLASS RPRTCLAS;
IF NOT FIRST.RPRTCLAS THEN DURATM=.; ,
but that not only cost the sort and extra data pass,
it also removed the /VIEW. And, perhaps worst, the value
of DURATM in the output dataset was not always the 10 min
desired - if a Service Class was only used for one 5 min
period that interval had DURATM of 5 minutes with INCODE.
-Originally, originally, the INCODE kept PERIOD=1 obs, but
there are PDB.TYPE72GO observations with only PERIOD=2;
MXG only creates observations if the service class was in
active use during an interval.
Thanks to Scott Weiner, Wisconsin Physicians Service, USA.
Change 27.267 -These variables in TYPE42X1 and TYPE42X2 are now MGBYTES.
VMAC42 formatted:
Sep 23, 2009 SMF42JON SMF42JOO SMF42JOP SMF42JOR SMF42JOS SMF42JOT
SMF42JOV SMF42JOW SMF42JOX SMF42JOY SMF42JOZ SMF42JQG
SMF42JQH SMF42JQI SMF42JQJ SMF42JQK SMF42JQL SMF42JQM
SMF42JQN SMF42JRA SMF42JRB SMF42NSZ SMF42SAP SMF42SPR
Dataset Labels for TYPE42Xn now match Change 27.062.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.266 VMXGALOC did not create a new weekly directory when it
VMXGALOC should have, and it did not create the WTD (week to date)
Sep 24, 2009 folder at the beginning of the week, nor did it create
Oct 2, 2009 the MTD (month to date) folder at the beginning of the
month, but now it does.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA
Change 27.265 -ASMRMFV incorrectly issued RMFV005E ERROR INVALID PARM=0
ASMRMFV when sequence numbers were in columns 73-90 of SYSIN.
Sep 22, 2009 -Notes that PARM values are needed only once were added.
Thanks to Doug Medland, IBM Global Services, USA.
Thanks to Jerry Urbaniak, Acxiom, USA.
Change 27.264 -z/VM MONWRITE example to process only the USER Domain
VMACVMXA data, and to create only PDB.VXBYUSR and PDB.VXSUMUSR
VMXGINIT output datasets required updates to VMACVMXA because the
Sep 21, 2009 VXSUMUSR's output MACRO _SVMSUMU wasn't undefined.
-This example can then be used to read only Domain 4 and
create only PDB.VXBYUSR and PDB.VXSUMUSR in //PDB:
//MWINPUT DD DSN=YOUR.MONWRITE.DATA.FILE,DISP=SHR
//PDB DD DSN=YOUR.ZVM.OUTPUT.PDB,DISP=OLD
//SYSIN DD *
%VMXGINIT(DEFAULT=WORK);
%LET PVMBYUS=PDB;
%LET PVMSUMU=PDB;
%LET MACKEEP= MACRO _VMRPT % ;
%LET MACVMXH=
%QUOTE(
IF MRHDRDM NE 4 THEN DO;
INPUT +SKIP @;
SKIP=0;
MRHDRDM=-99;
MRHDRRC=-99;
GOTO MWENDIT;
END;
);
%INCLUDE SOURCLIB(VMACVMXA,IMACKEEP);
_TESTMW;
RUN;
Thanks to Doug Wells, First National Bank of Omaha, USA.
Change 27.263 Variable R744FNAM, the Coupling Facility Name, was not
VMAC74 kept in TYPE74DU (Duplex Coupling Facility). Any ITRM
DOC sites using dataset XTY74DU created by MXG macros need to
Sep 21, 2009 update their ITRM dictionary. Fortunately, MXG's R744FNAM
already exists as ITRM name R744FNA (in XTY74CF,XTY74ST),
and it will be added in ITRM's next dictionary update,
but it can easily be added (with help from ITRM techie!):
Run the below example to execute the ITRM CPDDUTL %macro
(the data dictionary utility) to add the variable to the
table. The example uses the CPCAT macro twice to create
the catalog entry with the necessary control statements
that are input to the cpddutl macro:
%cpcat;
cards4;
SET TABLE NAME=XTY74DU ;
CREATE VARIABLE NAME=R744FNA
EXTNAME=R744FNAM
LABEL='Name of Coupling Facility'
DESCRIPTION='Name of Coupling Facility'
TYPE=CHARACTER
LENGTH=8
INTERPRET=STRING
KEPT=YES ;
;;;;
%cpcat(cat=WORK.ddutl.ddutl.source);
%cpddutl(entrynam=work.ddutl.ddutl.source);
Run the above in a regular ITRM batch job that uses
CPSTART to point to your PDB with DISP=OLD, but do not
include other CMPROCES, CPPROCES or CPREDUCE macros.
Thanks to Yacine Amraoui, Banque Postale, FRANCE.
Change 27.262 ASUMMIPS is enhanced to add MSU and MIPS for zIIPs, zAAPs
ASUMMIPS to the existing CP variables.
Sep 18, 2009
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.261 -Variable QBMCTEXT in T1028005 dataset from TMON/DB2 is in
VMAC102 ASCII text, so the INPUT statement was revised.
Sep 18, 2009 -QW0343xx variables are now INPUT and KEEP in T102S343.
-Additional info on the IFCID 005 (T1028005) - SQL text
and IFCID 307 (T1028133) - SQL Stmt Sum (All Qualifiers).
There is no 1-1 relationship between those two files,
especially for dynamic SQL. All SQL text collected is
found in T1028005. When the same SQL statement is
executed more than once, only one observation is created
in T1028005. In T1028133, for each unique collection key,
there is a separate observation. So when user A, B and C
execute the same SQL-stmt (plan/package/stmt), there will
be 3 T1028133 observations (one for each user), but there
will only be one observation in T1028005
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Thanks to Paul Volpi, UHC, USA.
Thanks to James J. Burnes, UHC, USA.
Change 27.260 This elegant contributed algorithm uncompresses CICS/TS
VMAC110 SMF records using SAS statements in VMAC110 that expands
Sep 21, 2009 the SAS _INFILE_ Buffer, using _INFILE_ Special Variable,
Oct 4, 2009 so this algorithm works on z/OS or on any ASCII Platform,
Nov 4, 2009 since it's just SAS code!
********WARNING INSERTED NOV 5, 2009*******************
Unfortunately, this elegance comes at great CPU expense:
While the original change text did warn that:
But the "instream" algorithm may be more CPU intensive
than EXITCICS, so, if you are processing on z/OS, you
may find the EXITCICS algorithm preferable.
only now, with files of 100% compressed records, has the
cost been measured: TWELVE TIMES MORE CPU TIME than
using the (written in ASM code) EXITCICS Infile Exit.
With the INFILE exit, it has already uncompressed the
record, so the SAS decompression code is not executed.
********WARNING INSERTED NOV 5, 2009*******************
Previously, to read compressed CICS/TS 3.2+ SMF records,
you had to assemble MXG's EXITCICS member to create the
CICS "Infile Exit", which can ONLY execute on z/OS.
This algorithm is both automatic and transparent, and, if
the EXITCICS Infile Exit is installed, it will have
already expanded the record, so this "instream" algorithm
won't be executed.
But the "instream" algorithm may be more CPU intensive
than EXITCICS, so, if you are processing on z/OS, you may
find the EXITCICS algorithm preferable. SEE BELOW.
-The Maximum Record Length printed on the SAS log shows
the uncompressed length with EXITCICS, but shows the
maximum compressed length with this expansion algorithm.
-Compressed 110 SMF records can be processed by WPS 2.04,
which added the _INFILE_ Special Variable.
The authors describe their work:
-The compression algorithm used is a simple RLE (Run
Length Encoding) as follows:-
-All compressed data consists of an INDICATOR/LENGTH byte
that is followed by data byte(s). This combination of
indicator/length byte and data byte(s) is repeated until
the end of the compressed data.
-The INDICATOR byte/bit flags the presence of compressed
data by having the TOP Order bit set on. The remainder
of the byte will indicate the length of the uncompressed
data.
-An indicator byte of '80'x (always the first byte of the
compressed field) indicates Compressed data of length
ZERO. There is NO following data byte!
-An indicator bit of '1nnnnnnn'B is followed by a single
data byte that is to be repeated '0nnnnnnn'B times into
the output buffer.
-An indicator bit of '0nnnnnnn'B indicates that the
following '0nnnnnnn'B bytes are simply copied from the
compressed record to the uncompressed buffer.
-This compression algorithm was determined by a few Google
searches and observations of the compressed data and did
not involve any non public knowledge of IBM's processing.
Thanks to Ian Gibson, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
Thanks to Peter Turner, CPT Global Ltd @ Bendigo & Adelaid Bank, OZ.
the authors, and, for the CPU measurements on z/OS,
Thanks to Scott Chapman, American Electric Power, USA.
Change 27.259 Support for TMON FOR DB2 Records 'BA','BJ','BK','BL','BM'
VMACTMDB now decode the record-specific fields; previously, only
Sep 17, 2009 the headers were decoded for these subtypes.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 27.258 Support for ACF2 SUBTYPE='O' OPENEDITION record creates
EXACFOR new ACFOR dataset.
IMACACF2
VMACACF2
VMXGINIT
Sep 16, 2009
Oct 8, 2009
Thanks to Steven Nelson, IBM Global Services, USA.
Change 27.257 Cosmetic. MXG added ***ERROR. SMF RECORD SUBTYPE GT 255
VMACSMF messages when an impossible value for one-byte SUBTYPE is
VMACMIM found when VMACSMF processes an SMF record with the flag
Sep 16, 2009 that the subtype field is populated, but it is at best
only a WARNING message that MXG has corrected the SUBTYPE
variable to the one-byte in byte 19 instead of byte 20.
This is important if you use IMACFILE or %LET MACFILE=
to select/skip SMF records based on SUBTYPE, or if the
SMF record with invalid subtype actually tests SUBTYPE.
-One WARNING ID=189 was flagged with the message, used
for the MIM SMF record; VMACMIM was examined and since
MXG variable SUBTYPE was not tested in that member, there
was no problem. However, the MIMSUTYP was incorrectly
as a two-byte value, so even though it was also not also,
VMACMIM was corrected, in case it's ever needed.
-I haven't (yet) figured out how to turn the warning off,
or maybe decide I should just remove it.
- it needs to precede IMACFILE, so the true subtype will
be populated in SUBTYPE for testing in that exit.
- some IBM records with fixed ID are already corrected
prior to the IMACFILE exit.
- IMACFILE is where you would expect to turn it off.
Thanks to Robert Blackburn, Dominion Resources Services, Inc, USA.
Change 27.256 The QACSLPAR file has 20 undocumented bytes after LPVRM;
VMACQACS the first eight are the SYSTEM ID, new variable LPSYSTEM,
Sep 14, 2009 and the next 12 bytes are skipped, for iSeries V5.4.0.
Thanks to David Bixler, FISERV, USA.
Change 27.255 -Variable SM1209CY is now RETAINed and KEEP= in all four
VMAC120 TYP1209x datasets, as that Enclave Token is needed to
Sep 14, 2009 combine records.
-Variable SM1209FI is now correctly input as &PIB.8.3 and
the divide by 4096 for SMF1209EV and SMF1209FI were
incorrect and are removed.
Thanks to Steiner Amot, VPS ASA, NORWAY.
Thanks to Bjorn Helgestad, VPS ASA, NORWAY.
Change 27.254 Members that read files with an INFILE statement that had
VMACMRKV only LRECL and BLKSIZE now use a Platform-Specific %MACRO
VMACPRPR to set RECFM=VBS on z/OS and RECFM=S370VBS on ASCII.
VMACTSMA See Change 27.311, which removed this change for NTSMF.
VMACNTSM
Sep 14, 2009
Change 27.253 SMF74NID (a/k/a SMF74DCT) is a 28-character field with
VMAC74 26 $EBCDIC text bytes, and two $HEX bytes at the end.
Sep 13, 2009 The final byte appears to always be '00'x, which doesn't
translate, but the penultimate byte has many different
hex values, which may or may not be changed when INPUT
as $EBCDIC, depending on the hex value of that byte.
This change inputs the first 26 as $EBCDIC26., but the
last two bytes are INPUT as $CHAR2. and then SUBSTRinged
back into SMF74NID, to prevent accidental translation.
Of course, those last two hex values may be unprintable
and could cause other problems if they are imported into
other programs; using FORMAT SMF74NID $HEX56.; would
prevent the unprintables, but the text would not be
readable to the human eye.
Thanks to Peter Enrico, Enterprise Performance Strategies, Inc, USA.
Change 27.252 Formats for many duration variables were not TIMEyy.x;
VMXGRMFI all of the duration variables are how TIME12.2 except for
Sep 13, 2009 BATRESP and TSORESP that are TIME13.3.
Change 27.251 -RMM processing now supports all possible date formats:
IMACEDGR RHDTFORM DESCRIPTION EXAMPLES
VMACEDGR A AMERICAN 12/31/1999 MM/DD/YYYY
Sep 11, 2009 E EUROPEAN 31/12/1999 DD/MM/YYYY
Sep 15, 2009 I ISO 1999/12/31 YYYY/MM/DD
Sep 17, 2009 J JULIAN 1999/365 YYYY/DDD
The original _EDGRDTE macro is no longer used.
-The Retention field RDRETCHR or RVRETCHR can contain text
non-date values of CATRETPD or CYCL/99999 or WHILECATLG.
RDWILCAT/RVWILCAT='Y' already existed for WHILECATLG; new
variables RDCYC999/RVCYC999/RDCATRET/RVCATRET are created
and the DATE variables RDRETDAT/RVRETDAT will be missing
values, if xxRETCHR has any of those 3 text values.
-An Original Expiration Date with 00/00/1999 (or any other
non-date value) is stored in new character variable
RDEXPDCH, and the DATE conversion is protected for '00'.
The value of RDEXPDTO will be a missing numeric date
value if RDEXPDCH contains a non-date value.
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 27.250 Protection for UNKNOWN TOKDANAM printed a message, but it
VMAC80A failed to prevent INPUT STATEMENT EXCEEDED RECORD LENGTH.
Sep 11, 2009 Protection now works.
The RDEFINE CFIELD statement can be used to define custom
fields and their attributes, with locally chosen names;
these new variables in TYPE80TK are populated if found
TOKTYPE ='TYPE'
TOKMAXLE='MAXLENGTH'
TOKFIRST='FIRST'
TOKOTHER='OTHER'
TOKHELP ='HELP'
TOKMIXED='MIXED'
TOKLISTH='LISTHEAD'
TOKURTLA='URTLABEL'
and these observations have TOKSUSBY='CFDEF' to identify
they are locally defined fields.
Thanks to Coen Wessels, IBM SWITZERLAND.
Thanks to Pierra Beda, IBM SWITZERLAND.
Change 27.249 Variable R747PAVG='RMF REPORT*AVERAGE*FRAME*PACING' is
VMAC74 created as R747PAVG=10**6*(R747PFPT/R747PNFT); to match
Sep 10, 2009 the value printed on RMF Reports.
Thanks to Robert Brosnan, Goldman Sachs & Company, USA.
Change 27.248 Change 27.165's insertion of VMXGOPTR cause the I/J vars
VGETDDS that were local to VGETDDs to be overridden by the I/J
VMXGOPTR vars used in VMXGOPTR causing looping and unexpected
Sep 10, 2009 results. Variable names in VMXGOPTR/VGETDDS were changed.
Sep 11, 2009 -Before, if you asked for GOOVOO, or DATEBASE, or GDGs, it
allocated all of them (ensuring they were there) and then
went thru the DDNAMES logic to ensure they were there.
Sort of silly really. Now if you ask for GOOVOO, DATES,
etc., it allocates the datasets and keeps track of them,
so now, the only time it goes thru the DDNAMES logic is
when that argument is used.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 27.247 FLAG1 tests for HyperBuf optional segments overlapped,
FORMATS causing some optional variable to be populated when they
VMACHBUF should have been missing; DATALAS-ESTDBUFS if FLAG1='1.'
Sep 9, 2009 and EXCPIPTH-INDXCISZ if FLAG1='.1'. The three tests are
now '10', '11', and '01' to only appropriately input.
-New $MGHBUFT format decodes FLAG1 to identify the type of
optional segment, if any, in this record.
Thanks to MP Welch, SPRINT, USA.
Change 27.246 Change 27.127 added KEEP= to TAPES, but variables DSN
DAILYDSN DSNBACTV and STPNAME were not kept, causing UNINITIALIZED
Sep 9, 2009 VARIABLE messages.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 27.245 zIIP and zAAPs are added to SAS/GRAPH hourly workload
GRAFWRKX reports, using PDB.RMFINTRV.
Sep 8, 2009
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.244 Variable OTRANNUM in VMAC110 was correctly input &PD.4 if
VMAC110 IMACEXCL was used, but the default INPUT without IMACEXCL
Sep 8, 2009 was incorrectly input as &PIB.4.
Thanks to Scott Barry, SBBWorks Inc, USA.
Change 27.243 Cosmetic, and only for MXG QA. SAS Option CHARCODE is
FORMATS enabled in FORMATS (Change 13.319) so that two-character
Sep 7, 2009 operators ?< and ?> can be used on both EBCDIC and ASCII
in place of Left Squiggly and Right Squiggly Brackets,
where they are needed for valid syntax for OTHER operand.
This change reinstates the default Option NOCHARCODE at
the end of FORMATS. The observed problem was seen only
in the single-step QA job (which begins with FORMATS);
with CHARCODE left enabled, the label of two variables
(TDSL12TY and QW0350SL), that happened to contain ?) text
were changed by CHARCODE to a right squiggly bracket, so
QA labels in DOCVER were NOT the actual variable labels.
These two-character operators are CHARCODE-translated:
Symbol Two-Character Operators
backquote (`) ?:
backslash (\) ?,
left brace ({) ?(
right brace (}) ?)
logical not sign (¬ or ^) ?=
left square bracket ([) ?<
right square bracket (]) ?>
underscore (_) ?-
vertical bar (|) ?/
Change 27.242 -Elimination of Numeric to Character Conversions in tests
ASUMCICS for VGETOBS.
ASUMCICX -If MXGMQADD=NO was specified but the _INMQ macro was not
VMXGUOW nulled, UNINITIALIZED VARIABLE messages were printed for
Sep 8, 2009 all of the MQ variables.
Sep 28, 2009 -If CICSTRAN has zero observations, PDB.ASUMUOW cannot be
populated, but it will be created with zero observations,
and MXGERROR message is printed on the log, and reading
of DB2ACCT/MQ data will not be done.
-Variable MQTRAN created in PDB.ASUMUOW to count MQs.
-Variable CPUMQMTM created in PDB.ASUMUOW as the sum of
QMACCPUT (now zero) WTASOTCT, WTASCMCT, and WTASBACT.
-Variable CPUUOWTM created in PDB.ASUMUOW as the sum of
CPUTM (CICS), DB2TCBTM (DB2) and CPUMQMTM (MQ-Series).
-Variable CPUTM (TASCPUTM+CPURLSTM) is created in PDB.CICS
by either ASUMCICS or ASUMCICX.
-VMXGOPTR stashing/revisions for OBS=0.
Change 27.241 SMF 80 record for RACFEVNT=79 with EXTLNTYP=379 segment
VMAC80A with EXTLNLEN=130 caused INPUT STATEMENT EXCEEDED RECORD
Sep 7, 2009 LENGTH ERROR because MXG only INPUT RACF379 $VARYING128.
The INFORMAT in that INPUT is now $VARYING255.
Thanks to Matthew Chappell, Queensland Transport, AUSTRALIA.
Change 27.240 Cosmetic. Five R745Vxxx variables were added in 2000 to
VMAC74 TYPE74CA dataset, but the "DEVICE LSA SECTION" doesn't
Sep 7, 2009 exist and those variables are always missing or blank.
Their labels were changed, especially R745VSER, to avoid
confusion, and now are:
R745VBYW='R745VBYW*ALWAYS MISSING*DOES NOT EXIST
R745VFLG='R745VFLG*ALWAYS BLANK*DOES NOT EXIST
R745VNTR='R745VNTR*ALWAYS MISSING*DOES NOT EXIST
R745VNUM='R745VNUM*ALWAYS MISSING*DOES NOT EXIST
R745VSER='R745VSER*ALWAYS BLANK*DOES NOT EXIST
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Change 27.239 MXG's full QA stream executes successfully with WPS 2.4
AUTOEXEW under both z/OS 1.9 and Windows/XP; essentially all MXG
MXGWPSV2 programs are now executable under WPS 2.4.
UTILSPAC
VMACEREP These changes are made in WPS 2.4:
VMACSMF -The runtime performance problem with PROC SQL has been
VMXGVTOC corrected, so the testing of the ANALCISH member with
Sep 6, 2009 REPORT=ALL is reinstated in the WPS QA job stream.
Oct 8, 2009 -The PROC PLOT option VPOS is now recognized.
Oct 13, 2009 -The option MAUTOLOCDISPLAY is now recognized.
-The INFILE option CCHHR is supported; circumvention code
that bypassed for QA execution is now revised to test
for &WPSVER GE 2.04 so these programs can now be used on
z/OS: TYPEEREP, VMXGVTOC, and UTILSPAC.
-The _INFILE_ Special Variable is now supported.
-Change 27.110 lists the other MXG programs that cannot
be run as-is with WPS; WPS replicates SAS V8.2, so the
new-in-SAS V9 features are, in general, not supported.
-For z/OS, the MXG JCL procedure MXGWPSV2, the DSNAME for
the WORKMDL='HLP.WPS.SASHELP' replaces WPSDATA because
Model datasets are no longer specified during install.
-The member AUTOEXEW is the example "autoexec" for WPS;
the members AUTOWPS and AUTOEXWP were only for testing
and have been deleted.
-The comments were revised in AUTOEXEW to identify options
that WPS does not currently support; none are required:
WPS 2.4 added supports these OPTIONS
OPTIONS MAUTOLOCDISPLAY;
OPTIONS SORTSEQ=ASCII;
OPTIONS VALIDVARNAME=V7;
-On z/OS, WPS requires a larger REGION size than SAS, with
BUILDPDB needing REGION=230M while SAS used REGION=125MB.
For the full QA job, however, WPS needed a REGION=1200MB,
while SAS V9.2 needed REGION=165MB. WPC will investigate
why that large region was required, but it appears to be
unique to the MXG QA job, which executes over 20,800 DATA
and PROC steps. A large region requirement has not been
reported as an issue by any site running MXG under WPS.
WPS QA took 120 CPU minutes, SAS QA took 53 minutes, on
a z/OS machine with SU_SEC=10000.
-Oct 30: WPS 2.4 supports the FILENAME=variable option on
the INFILE statement, so VMACSMF was revised.
Change 27.238 ERROR: SRCE1 HAS ALREADY BEEN DEFINED AS NUMERIC if some,
ANALDB2R but not all of the AUDIT sub-reports were requested.
VGETOBS The repair led to a MAJOR cleanup of ANALDB2R that also
VMXGSUM significantly reduced the run time (from 5 minutes to
VFMT102 a few seconds for the AUDIT reports).
Sep 6, 2009 Originally:
-Data step creates DB2WORK as union of all input datasets
-Data step creates DB2WORK1 TIMES from DB2WORK
-SORT DB2WORK1 (with MANY variables, long times possible)
-SORT TIMES
-MEAN TIMES into TIMERNGE
-Data step creates PREPRINT merging DB2WORK1 TIMERNGE
-DATA _NULL_ data step does printing
Now
-For each audit type if the data is present and non-zero
OBS View into SORT
-TIME view using datasets created into SORT
-MEANS of TIME into TIMERNGE
-Data step creates view PREPRINT using only the datasets
created in first section and TIMERNGE
-DATA _NULL_ step does printing code for datasets that
does not exist is never generated
-The DATABASE= argument did not select for AUDIT reports.
Note that if the SMF data does NOT include the open event
record (opened before the beginning of this SMF data),
the printed database will be the undecoded hex value,
and won't be the decoded database name in text.
-The VGETOBS, VMXGSUM, VMFT102 members were NOT altered in
this change, but their new updates (Changes 27.237,
27.234, 27.236) are required to support this change to
ANALDB2R.
Thanks to Sam Knutson, GEICO, USA.
Thanks to Henry Boone, GEICO, USA.
Change 27.237 Enhancement. If no DDNAME argument (zero length) then
VGETOBS the DATASET argument is examined and if is x.y, it will
Sep 5, 2009 be split into DDNAME and DATASET so the PROC SQL can be
Sep 28, 2009 invoked. If DATASET contains x.y syntax AND there is a
DDNAME argument present, VGETOBS will fail with message
that that is not allowed.
Change 27.236 Cosmetic corrections to eliminate character to numeric
VFMT102 conversion messages; VFMT102 in ANALDB2R, and ANAL30DD.
ANAL30DD
Sep 5, 2009
Change 27.235 These six variables in MQMQUEUE are now converted to the
VMAC116 local time zone; previously, they were on GMT:
Sep 4, 2009 WQOPENTI WQCLOSTI WQTTTIME WTASSTRT WTASINTS WTASINTE
Oct 12, 2009 The algorithm used to calculate the GMTOFF in the absence
of the actual value in the record now used is:
GMTOFF=3600*FLOOR(100*(FLOOR(SMFTIME/100)
-FLOOR(WTASINTE/100))/3600);
and the correction would then be:
WTASINTE=WTASINTE+GMTOFF; .
Change 27.234 VMXGSUM is revised so an OUTCODE= argument is not needed
VMXGSUM in many cases where it was previously required, so those
Sep 5, 2009 VMXGSUM callers that could be revised to remove OUTCODE=
are changed, thereby eliminating the second DATA step,
and, a full pass of the output dataset.
Previously OUTCODE= arguments were needed to set LENGTH
and FORMATs, but the SAS V8 INHERIT option made the extra
step unnecessary.
-The second data step can be skipped if INTERVAL= NE NONE
and the DATETIME= argument's variable is in the BY list.
-Conditions that will force the second data step:
%IF &NUMNORM NE 0
OR &ERASEOUT NE NO
OR %LENGTH(&OUTCODE) NE 0
OR %LENGTH(&OUTCODE1) NE 0
OR %LENGTH(&OUTCODE2) NE 0
OR %LENGTH(&FREQ) NE 0
OR %LENGTH(&DURATM) NE 0
OR &INTERVAL NE NONE
OR &NEWSHIFT EQ Y
OR &SASVER LT 7
Change 27.233 Debugging PUT statement now commented out.
VMAC117
Sep 4, 2009
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.232 TMON/DB2-created SMF 101 Subtype 0 record has an invalid
VMACDB2 OFFQLAC value, @1875 vs the real @1879 location, and the
Sep 3, 2009 extra 4 bytes were added to make QLACLEN=232 when only
228 bytes are actually present. Unfortunately, QLACLEN
of 232 says the QLACOFF1 offset to a "truncated QLACLOCN
field" exists in two of those last 4 bytes, so MXG INPUT
the QLACOFF1 offset and attempted to INPUT, causing an
INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR. This
(possibly temporary) change detects the record is NOT an
IBM record (because OFFQLAC is GT OFFPROD), adds 4 to
OFFQLAC and subtracts 4 from LENQLAC so MXG can input the
mis-aligned record, and sets TMDBQLAC='Y' flag that this
was done.
-QLACMDWT is a binary value in the TMON/DB2 record, but it
is a floating point value in IBM records, so this change
uses TMDBQLAC if set to INPUT the incorrect informat.
-Support at TMON/DB2 will be contacted and this text will
be updated when they respond.
Thanks to Mary Vollmer, MGIC, USA.
Change 27.231 The four listed ASUMs did not create variable ZDATE/ZTIME
ASUMDB2P while the other thirty-seven ASUMs did.
ASUMDB2S
ASUMDB2G
ASUMDB2S
Sep 3, 2009
Thanks to Denise Willers, InfoCrossing, USA.
Change 27.230 Variable LASTCLAS in IMF dataset CIMSPROG (from 'F9'x)
VMACCIMS was incorrectly INPUT @77 as $CHAR1, but it is now INPUT
Sep 2, 2009 @76 as $CHAR2 and formatted $HEX4.
Thanks to Brian Cummings, Federal Reserve Information Technology USA
Thanks to Fritz Zeigler, Federal Reserve Information Technology, USA
====== Changes thru 27.229 were in MXG 27.08 dated Sep 1, 2009========
Change 27.229 Support for z/OS 1.11, COMPATIBLE.
EXTY8224 -TYPE 0. New variable:
EXTY8225 CVTTZ ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'
EXTY8226 -TYPE1415. NO NEW DATA, but lots of text inserts about
IMAC82 assembling the IFGSMF14 Macro with DSECT=YES, which is
VMAC0 why it is flagged in the SMF Manual as changed.
VMAC82 -TYPE30. NO NEW DATA, only one line of text updated.
VMXGINIT -TYPE82. New subtypes 24, 25, and 26.
May 2, 2009 -TYPE92. Subtype 15 now documented, but MXG supported
Sep 2, 2009 was added in Change 26.277 for APAR OA24208.
-TYPE1415 New variables DCBEEX31 XTIOTYES created from
SMF14FLGS.
-Dec 3, 2009: CHANGE 27.325 is required for z/OS 1.11.
Change 27.228 Support for APAR OA30197, adds SMF30ASI, new MXG variable
VMAC30 ASID in ID Segment of all SMF 30 records. Kept in the
Sep 1, 2009 TYPE30 ASID-level datasets (_1,_4,_5,_V,_6).
Change 27.227 Observations were not output because DO loop logic was
VMACINSY incorrect for the INSYAUID='D' records. Variable INSYATA
Sep 1, 2009 is now converted to EBCDIC text.
Thanks to Mark Cohen, DTS, ITALY.
Change 27.226 Dataset T112DTCO, DATACOM DETAIL, variables were invalid
VMAC112. due to misalignment. Dataset T112MQCT variable MATTACH
Aug 31, 2009 and dataset T112DTCT variable DATTACH were INPUT $CHAR8,
but they are now seen to be TODSTAMP values, so they are
changed from CHAR to NUM and formatted DATETIME25.6, and
are observed to be slightly prior to the UOWTIME.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 27.225 Cosmetic. Long messages (listing all requested reports)
ANALRMFR are split and shifted left for readability, and the list
Aug 31, 2009 of valid INTERVAL= values was updated.
Change 27.224 Eight new IBM fields starting with R7452xxx were named in
VMAC74 MXG as R7451xxx, accidentally, as all of the other fields
Aug 31, 2009 in that segment are IBM-named R7451xxx. But these eight
R7452XTY R7452XFL R7452PRO R7452PWO R7452PBR
R7452PBW R7452PRT R7452PWT
are all a second field name for the same field location,
and apparently IBM decided to note that difference by
naming them with a 2 vs a 1. In any event, to match the
SMF Manual field names in the MXG Variable names, those
eight are now named with a 2 instead of a 1.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 27.223 New "TOP" DB2 Report ranks resource usage by correlation
ANALDB2T id and authid, for these resource metrics:
Aug 30, 2009 CLASS*1 CPU*RANK
CLASS*2 CPU*RANK
ELAPSED*RANK
GET*PAGE*RANK
TOTAL*GET*PAGES
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.222 Support for NDM-CDI NDMRTYPE 'SC' and 'S2' records. The
FORMATS two datasets NDMSC and NDMS2 were already created, but
VMACNDM they only contained the header variables until now.
Aug 30, 2009
Thanks to Robert S. Zimmerman, HMS, USA.
Change 27.221 Support for zOSEM Operating System Environment Manager
EXOSEMCM from Trident Services user SMF record creates 3 datasets:
EXOSEMRE
EXOSEMWT DATASET DATASET DATASET RECORD
FORMATS SUFFIX NAME LABEL SUBTYPE
IMACOSEM
TYPEOSEM OSEMCM OSEMCMD OSEM FEMCNTL CMD 1
TYPSOSEM OSEMWT OSEMWTO OSEM FEMWTO CMD 2
VMACOSEM OSEMRE OSEMRES OSEM JES2 EXIT44 3
VMXGINIT
Aug 30, 2009
Thanks to Larry Stahl, IBM Global Services, USA.
Change 27.220 MXG 27.06-27.07. %ANALCNCR failed if INDATA= specified
ANALCNCR more than one dataset. "Cosmetic" protection was added
BUIL3005 by Change 27.165 to verify that the input dataset exists,
BUILD005 to avoid DATASET NOT FOUND errors, but it only parsed the
MNTH72 1st INDATA (to get DDNAME and DATASET to pass to VGETOBS,
TRND72 as PROC SQL which requires separate arguments). Now,
Aug 29, 2009 each token in the INDATA= argument is parsed & verified.
If all datasets have zero observations, an MXGWARN is
produced at the beginning and if there are zero obs in
the output dataset another MXGWARN will appear.
If all datasets in the INDATA= do not exist, %ANALCNCR
will stop processing, but if one or more do exist, the
output dataset will be created and populated if possible,
but MXGWARN messages will identify which INDATA= datasets
did not exist. Prior to Change 27.165, multiple datasets
were supported because the only INDATA reference was the
SET &INDATA; statement which read all of the input, but
that statement failed if any input dataset did not exist.
-The only MXG member that invokes %ANALCNCR with multiple
INDATA= datasets is ANALHTML, which exposed this error,
with its INDATA=PDB.STEPS SPIN.SPIN30_4, statement.
-In testing the new %ANALCNCR with ANALHTML, SAS printed
warnings that MSOUNITS had different lengths in those two
datasets. Investigation found MSOUNITS & SERVICE weren't
always stored in 8 bytes, so updates were made to members
BUILD005 BUIL3005 MNTH72 and TRND72 so that all instances
of variables MSOUNITS and SERVICE are now LENGTH 8.
-All INTERVAL= arguments that specify an interval token
with a fixed-length interval duration are supported.
TIMER is set to the interval and SYNCINTV=YES is used
(but that could be overridden in your %ANALCNCR).
Thanks to Tony Curry, BMC, USA.
Change 27.219 TYPE11GD dataset variables CTGIAVRS and CTILAVRS were
VMAC111 reversed in their INPUT locations.
Aug 28, 2009
Thanks to Jim Poletti, Edward Jones, USA.
Thanks to Gordon E. Griffith, Edward Jones, USA.
Change 27.218 Variable SMF70LAC in PDB.RMFINTRV was the maximum value
VMXGRMFI during the sub-intervals that were summarized; it is now
Aug 28, 2009 the average value, so it matches PDB.ASUMCELP values.
However, the RMF reports may print that Maximum value of
any inputted sub-interval.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.217 PDB.TYPE70PR with SMF70CIN blank but SMF70ONT nonzero was
VMAC7072 created if the last LPAR was offline (LPARCPUX=0). That
Aug 28, 2009 caused NRCIXGT0 to be a missing value, so the second test
IF NRCIXGT0 GT 0 THEN ... was not executed. That second
test is now redundant, as SMF70CIX always exists now, so
that IF ... END was removed. Error was introduced in
MXG 27.03 by Change 27.075.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 27.216 Change 27.126 accidentally removed SYTLPNAM from the KEEP
VMACXAM list for XAMSYT dataset, and left it in the KEEP list for
Aug 28, 2009 the XAMSYU dataset.
Thanks to Douglas C. Walter, Citigroup, USA.
Thanks to Tony Curry, BMC, USA.
Change 27.215 TMON/CICS Version 3.1 INPUT STATEMENT EXCEEDED RECORD
VMACTMO2 error with 'TI' (Statistics Interval) record; the segment
Aug 26, 2009 of data starting with TIMQSOPC exist in 3.1, but MXG only
input those fields for TMMDVREL GE 3.2; the test before
that INPUT statement was changed from 3.2 to 3.1.
Thanks to Dianne Dunklau, Kohls, USA.
Change 27.214 Summarized RMFINTRV/ASUM70PR output datasets could have
VMXGDUR the STARTIME/SMF70GIE values early by one INTERVAL unit
VMXGRMFI (e.g., data STARTIME midnight, INTERVAL=HALFHOUR caused
VMXG70PR output STARTIME of 23:30) after Change 27.178 used the
Aug 28, 2009 SMF70GIE vice STARTIME (because of unstable STARTIMEs).
Note Jan 21, 2010: "Unstable as in exactly one second
Nov 10, 2009 later than the expected Start of Interval."
ASUM70PR -A new argument FLORCEIL=FLOOR/CEIL is added to VMXGDUR
ASUMCAPT with FLOOR (unchanged) as the default, and the %VMXGDUR
ASUMMIPS calls in VMXGRMFI and VMXG70PR that interval the
ASUMSMFI SMF70GIE/SYNCTIME end times now specify FLORCEIL=CEIL.
No user had reported/noticed this error (yet!).
The rest of this text was REVISED when CHANGE 27.308
reset the SYNC59=NO default back in place in MXG 27.10:
-For summarizing INTERVAL data ONLY (RMFINTRV, SMFINTRV,
CICINTRV, etc datasets with existing interval start/end):
If you still specify SYNC(59) to write Interval data in
minutes 59,14,29,44, the SYNC59=YES parameter can be used
to change the DATETIME to "pretty" 00,15,30,45 startimes.
This is needed when SYNC(59) is in SYS1.PARMLIB members
SMFPRMxx or ERBRMFxx in SYS1.PARMLIB.
Using the FLORCEIL=FLOOR to calculate the interval start,
with SYNC(59) data and INTERVAL=HOUR, for time 19:59:
SYNC59=YES adds one minute to DATETIME, so 19:59 becomes
20:00, and the FLOOR(DATETIME) sets 20:00 as the Start.
This is correct, hour 20 for the 19:59-20:58 interval.
SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME)
is 19:00 for the Start, WHICH IS THE WRONG HOUR!!!
SYNC(59) data REQUIRED SYNC59=YES for correct output.
Using the FLORCEIL=FLOOR to calculate the interval start,
consider SYNC(00) data and INTERVAL=HOUR, for time 20:00:
SYNC59=YES adds one minute to DATETIME, so 20:00 becomes
20:01, but the FLOOR(DATETIME) sets 20:00 as the Start,
which is what you wanted, even though the data is (00).
SYNC59=NO leaves the DATETIME as is, so FLOOR(DATETIME)
sets 20:00 as the Start, WHICH IS ALSO WHAT YOU WANTED.
But, using the FLORCEIL=CEIL to calculate interval end,
SYNC59 must NOT be used. With datetime 19:59 or 20:00,
the CEIL(DATETIME) returns 20:00 with SYNC59=NO. But if
SYNC59=YES added a minute here, then 20:00 would be 20:01
and CEIL(DATETIME) would then (INCORRECTLY) be 21:00.
Therefore, when using FLORCEIL=CEIL, VMXGDUR does NOT
change the value in DATETIME before the CEIL(DATETIME),
even if SYNC59=YES was specified.
Only ASUM70PR/VMXG70PR and RMFINTRV/VMXGRMFI currently
use the FLORCEIL=CEIL option to group by End Interval,
but only internally; the final sorts are BY STARTIME.
-These members were changed from SYNC59=NO to SYNC59=YES:
ASUM70PR ASUMCAPT ASUMMIPS ASUMSMFI VMXG70PR VMXGRMFI
-THE PRECEDING IS ONLY FOR SUMMARIZING INTERVAL DATA.
-FOR DETAIL TRANSACTIONS, SYNC59=NO MUST ALWAYS BE USED.
MXG 27.08 CHANGED TO SYNC59=YES IN VMXGDUR.
(This caused PDB.CICS transaction's HOUR to change.)
MXG 27.10 RESTORED THE SYNC59=NO DEFAULT IN VMXGDUR.
Change 27.213 HFS and zFS EXCPs are counted in EXCPTOTL and EXCPNODD
BUILD005 (see MXG Newsletter FIFTY-FIVE, MVS Technical Note 1)
BUIL3005 but there are no DD Segment EXCP counts for HFS/zFS, so
VMAC30 you don't know how much of EXCPNODD is due to HFS/ZFS, so
Aug 21, 2009 you can't subtract the HFS/ZFS EXCPS from EXCPTOTL.
Sep 1, 2009 This change creates four new variables in TYPE30_V and
TYPE30_4 datasets:
USSEXCPS='USS-OMVS*TOTAL*EXCPS'
USSBYTES='USS-OMVS*TOTAL*BYTES'
USSCALLS='USS-OMVS*TOTAL*CALLS'
USSCPUTM='USS-OMVS*SYSCALLS*CPU*TIME'
with the sum of those counts from all OMVS segments in
the interval and step termination SMF 30 records.
Those variables are also now summed in PDB.STEPS and
PDB.JOBS when BUILDPDB is used to process SMF 30s.
-In testing this change, subtype 5 records for BPXAS STC
have all resource variables with zero value, even STEPNR,
and some zeros cause missing value calculations. Logic
was revised to prevent those harmless but confusing notes
on the SAS log for those records.
See MXG Newsletter FIFTY-FIVE, MXG Technical Note titled
1. Summary: "EXCP" counts recorded for access to HFS ....
Change 27.212 Support for APAR OA30006 for DCOLLECT, adds 8-byte fields
VMACDCOL at the end of the record for the dataset storage sizes in
Aug 21, 2009 DCOLDSET dataset. The new fields replace the value in
existing variables DCDALLSP DCDUSESP DCDSCALL DCDNMBLK
when the new fields are populated.
Change 27.211 Support for new-in-z/OS 1.10 DFSORT variables added to
VMAC16 existing TYPE16 dataset:
Aug 21, 2009 ICEINMRG='INTERMEDIATE*MERGES*PERFORMED'
ICEMNFLG='SIZE=MAX*IN*EFFECT?'
ICEMNVLX='SPECIFIED*OR DEFAULT*STORAGE'
ICEMNVLY='THEORETICAL*STORAGE*AVAILABLE'
ICEMNVLZ='AVAILABLE*STORAGE'
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.210 A harmless Division By Zero when creating PDB.DB2STATS
VMACDB2 occurred in calculating variable THRDFTPT (to mimic the
Aug 20, 2009 IBM MENU2 report), added by Change 27.097, if variables
QW0225AT and QDSTCNAT were both zero. Divide protected.
Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.
Change 27.209 TMON/DB2 BF record's SQL text is not quite as documented.
VMACTMDB BF0142LL, the "length" is 52, indicating there should be
AUG 19, 2009 50 bytes of text, but the next two bytes are INPUT in
new MXG variable BF0142RL, which is the original (real)
length of the original SQL text, and then, instead of the
documented 50 bytes of sql text, the record contains only
the first 48 bytes of text, kept in BF0142TT. BF0142LL
is then reduced by 2 to a value of 50 in TMDBBF dataset.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 27.208 Cosmetic. Calculation of AVGWKSET caused notes on the log
VMAC30 "Missing Values were generated" if MULTIDD='Y', because
AUG 19, 2009 those records contain ONLY DD segments. Those notes are
now eliminated by only calculating for "real" records.
Change 27.207 MXG 27.07. Change 27.174 stopped deaccumulation of the
VMACDB2 PDB.DB2STATS vars QSSTCONT and QSSTCRIT, incorrectly, as
Aug 18, 2009 both are accumulated and must be deaccumulated.
Thanks to Bill McDonald, Kimberly-Clark, USA.
Change 27.206 The LABEL for variables STEPNAME and PROCSTEP in VMAC42
VMAC42 were the variable name, unlike all of the other labels
Aug 18, 2009 for those common variables; if you added processing of 42
records as the last physical VMAC in your BUILDPDB, those
STEPNAME='STEPNAME' and PROCSTEP='PROCSTEP' labels were
used for all BUILDPDB-created datasets. VMAC42 now has
STEPNAME='STEP*NAME' & PROCSTEP='PROCEDURE*STEP*NAME'
Thanks to Bret Hoesly, Telephone & Data Systems, Inc, USA.
Change 27.205 Documentation. PDB.TYPE70PR observations for ICF engines
VMAC7072 with the LCPUPDTM (CPU Dispatch Duration) slightly larger
Aug 18, 2009 than the SMF70ONT (Online Duration) have been observed.
The maximum difference in an LPAR engine was 52 millisec,
0.052 seconds, but in that same interval, the PHYSICAL
ICF engine recorded 0.026 seconds, so the total ICFACTTM
for that interval was 78 milliseconds larger than the
online duration of exactly 900 seconds for that interval.
But some intervals do not always have exactly 900 seconds
online; in 26 intervals, 13 were exactly 900 seconds, 6
were shorter, by as much as 0.018 seconds, and 7 were
longer, by as much as 0.018 seconds. This was z/OS 1.9
on a 2094-720 with 1 ICF, 2 IFLs, and 17 CPs. The ICF
Percent Busy was 100.00008 with that largest difference;
the only circumvention is to test the PCT value and reset
it to 100% if greater than 100 (but, if greater than 101%
print a warning message and investigate further).
Thanks to Nicholas Ward, Centrelink, AUSTRALIA
Change 27.204 Change 27.154 did not protect when the offset to the Path
VMAC92 Section was non-zero but there was no Path Section; it
Aug 17, 2009 caused an INPUT STATEMENT EXCEEDED RECORD LENGTH error.
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 27.203 MXG 27.06-MXG 27.07, PDB.ASUMTALO had too few obs created
ANALCNCR due to an error introduced in ANALCNCR in Change 27.165.
Aug 17, 2009 The ANALCNCR error ONLY occurs if the TIMERNGE= argument
ASUMTALO was used; ASUMTALO is the only MXG member that invokes
%ANALCNCR with a TIMERNGE= argument. Change 27.165 added
elimination of character-to-numeric conversion messages,
but four typo's in new code stored &LOTIME into &HITIME.
Only ANALCNCR was changed in this change; ASUMTALO is
listed only to document it is impacted by this error.
-You should check your tailoring/report source libraries
to see if %ANALCNCR is used with the TIMERNGE= argument.
This ANALCNCR "utility" is inconsistently named, since it
creates an output dataset, rather than an analysis; it
is used to count the number of concurrent events across
time (like tape drives allocated each hour in ASUMTALO).
Thanks to Jon Whitcomb, Great Lakes Educational Loan Service, USA.
Change 27.202 MXG 27.07. Debugging PUT statement at line 757 was
VMAC116 removed.
Aug 14, 2009
Thanks to Alfred Holtz, Medco Health Solutions, USA.
Change 27.201 More DB2 Updates.
ANALDB2R
READDB2
Aug 12, 2009
Change 27.200 Support for CICS/TS 4.1 GA updates/documentation notes:
EXCICMLR -Format MG110MP updated for new TCB Pool values of XPLINK,
EXCICRLR SSL, and THRD, new formats MGCICAT, MGCICRT created.
EXCICSJS -Dataset CICECC new variables:
EXCICW2R ECCCANAM ECCCAPOI ECCCAPTY ECCEBNAM ECCEVCAP ECCEVNAM
FORMATS -Dataset CICECG new variables:
IMAC110 ECGFLFAI ECGCAPFA ECGEVLCO ECGEVLOT
VMAC110 -Dataset CICECR new variables:
VMXGINIT ECRCHGAG ECRCHGDT ECRCHGUS ECREBNAM ECRGRFRM ECRINSAG
Aug 16, 2009 ECRINSDT ECRINSUS
-Dataset CICEPR new variables:
EPGSYNBK EPGEVLCO EPGEVLOT
-New Statistics Datasets created:
dddddd dataset description stid
CICRLR CICRLR CICS BUNDLE 100
CICW2R CICW2R CICS ATOMSERVICE 110
CICMLR CICMLR CICS XMLTRANSFORM 113
CICSJS CICSJS CICS JVMSERVER STATISTICS (RESID 116
Note: STID=79, STIMNR is not a Statistics DSECT, but is
a SUBTYPE=1,MNSEGCL=5 Transaction Record; support
for which was added in MXG 20.20, Change 20.200.
STID=84, STIMNT is never created in SMF records;
it is an online interface only.
-Change 27.032 noted there are 3 new TCBs in CICS/TS 4.1,
T8, EP, and TP, but only T8CPUT is recorded in CICSTRAN.
The EP TCB for Event Processing is explicitly NOT in the
CICSTRAN data, because IBM states that processing of the
new Business Event is NOT to be chargeable to users.
A TP TCB is created for every JVMSERVER resource def that
is installed and enabled, but I have not found a reason
why they are not captured in CICSTRAN.
-DOCUMENTATION. CICS Statistics datasets CICDS, CICDSPOO
have many variables starting with DSG,DS1-DS9,DSA-DSN,
and their labels were not consistent. This list is now
added at the bottom of VMAC110, and the labels revised:
DOCUMENTATION OF THE VARIABLES STARTING WITH DS.
TWO DATASETS CONTAIN VARIABLES THAT START WITH DS:
DATASET CICDS - DISPATCHER STATISTICS:
- "INTERVAL" VARIABLES STARTING WITH DSGXXXXX
- "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN
DATASET CICDSPOO - TCB POOL STATISTICS:
- "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5
DATASET CICDS - DISPATCHER STATISTICS:
- "INTERVAL" VARIABLES STARTING WITH DSG:
DSGNTCB DSGCNT DSGEJST DSGICVRT DSGICVSD DSGICVT
DSGMBTCH DSGPNT DSGPRIAG DSGPTCB DSGSRBT DSGSTART
DSGLSTRT DSGSTSKS DSGXSCNN DSGXSCNS DSGXTCBD
- "INTERVAL" VARIABLES ALWAYS MISSING VALUES:
DSGAMXTC DSGAMXTL DSGAMXTP DSGLRT DSGMAXOP DSGTAMXT
DSGTL DSGTOTWT
DATASET CICDS - DISPATCHER STATISTICS:
- "PER TCB" VARIABLES STARTING WITH DSG DS1-DS9 DSA-DSN
(The TCB NUMBER HAS CHANGED BETWEEN CICS RELEASES)
3.2 4.1 TCB MXG VAR
NUM NUM NAME PREFIX DESCRIPTION
-- H8 DSC H8 - NOT IN CICS/TS 3.1+
1 QR DSG* QUASI REENTRANT MODE
2 RO DS2* RESOURCE OWNING MODE
3 CO DS3* CONCURRENT MODE
4 SZ DS4* SECONDARY LU MODE
5 RP DS5* ONC/RPC MODE
6 FO DS6 FILE OWNING MODE
7 SL DS7 SOCKETS OWNING MODE (SL)
8 SO DS8 SOCKETS OWNING MODE (SO)
9 SP DSH SOCKETS PTHREAD OWNING MODE (SP)
10 EP DSM EVENT PROCESSING MODE
10 12 D2 DSD D2 - DB2 MODE
11 13 JM DSE JM - JVM CLASS CACHE MODE
11 TP DSN TP - THREADED TCB OWNING MODE
12 14 S8 DSB S8 - SOCKETS (SSL) MODE
13 15 L8 DSA L8 - OPEN MODE CICS
14 16 L9 DSI L9 - OPEN MODE USER
15 17 J8 DS9 J8 - OPEN MODE CICS
16 18 J9 DSF J9 - OPEN MODE USER
17 19 X8 DSJ X8 - OPEN MODE CICS
18 20 X9 DSK X9 - OPEN MODE USER
19 21 T8 DSL T8 - JVM MULTITHREADED
THE ABOVE TABLE MAPS EACH TCB NAME TO ITS VARIABLE PREFIX.
THESE "PER TCB" VARIABLES ARE POPULATED:
DS.ACT DS.NTCBA DS.PERCT DS.START DS.SYSW DS.TCBAF
DS.TCBAL DS.TCBCA DS.TCBCU DS.TCBDO DS.TCBDS DS.TCBDU
DS.TCBDX DS.TCBMD DS.TCBMM DS.TCBMP DS.TCBNM DS.TCBPA
DS.TCBPU DS.TCBST DS.TCT DS.TDT DS.TWT
THESE "PER TCB" VARIABLES ALWAYS HAVE MISSING VALUES:
DS.PERCT DS.TCBF1 DS.TCBF2 DS.TCBF3
DS.TCBF4 DS.SCT DS.SWT
DATASET CICDSPOO - TCB POOL STATISTICS:
- "PER POOL" VARIABLES STARTING WITH DSG DS1-DS5
DSG OPEN POOL (CONSISTING OF L8 AND L9 TCBS)
DS2 JVM POOL (CONSISTING OF J8 AND J9 TCBS)
DS3 XP POOL (CONSISTING OF X8 AND X9 TCBS)
DS4 SSL POOL (CONSISTING OF S8 TCBS)
DS5 THRD POOL (CONSISTING OF T8 TCBS)
J8 L8 S8 T8 AND X8 TCBS ARE CICS TCBS.
J9 L9 AND X9 TCBS ARE USER TCBS.
"TCB POOL" VARIABLES HAVE DSG,DS1,DS2,DS3,DS4,DS5 PREFIX:
DS.CMMWS DS.CMMWT DS.CNUAT DS.CNUUS DS.CURNW DS.CURWT
DS.MMWTM DS.MMWTS DS.MXTCB DS.NTCBL DS.PEANW DS.PMWWS
DS.PNUAT DS.PNUUS DS.TCBPN DS.TOTMT DS.TOTMW DS.TOTNW
DS.TOTWL
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 27.199 Documentation of this error message:
JCLTEST9 ERROR: PHYSICAL FILE DOES NOT EXIST, ATP1DKP.ADM.DATA.
Aug 12, 2009 occurs when a FILE ADM statement was found, but there was
no //ADM DD in the job. SAS then looks for a file named
JOBNAME.FILENAME.DATA, and fails.
Change 27.198 Even when PDBOUT= was not specified, so the null default
ANALRMFR (write to //WORK) was desired, ANALRMFR still wrote the
Aug 12, 2009 TYPE7xxx datasets to //PDB instead of //WORK. %LETs were
added to protect the SPLIT70 logic.
Thanks to Kim Westcott, New York State Office of Technology, USA.
Change 27.197 Change 27.175 added DB2STATB/DB2STATS/DB2GBPST but failed
ANALDB2R (VARIABLE SYSTEM NOT FOUND) if DB2STATB was redirected to
Aug 12, 2009 a separate input DDNAME.
Thanks to Scott Wiig, USBank, USA.
Change 27.196 Change 27.138 heuristic test for LENGTH=412 for subtypes
VMAC85 78,79,88 did not generalize and still failed with record
Aug 12, 2009 from z/OS 1.10 subtype 78 record. The test was revised
to test R85PVRM IN (1030 1090 1100 1110) to hopefully
protect 1.9, 1.10 and 1.11 records, but only 1.10 and
ancient 1.30/1.40 records are validated with SMF data.
Thanks to Brian Felix, Wachovia Bank, USA.
Thanks to Mike Spires, Wachovia Bank, USA.
====== Changes thru 27.195 were in MXG 27.07 dated Aug 11, 2009========
Change 27.195 Documentation only. When IFCIDS=ACCOUNT is specified,
READDB2 READDB2 automatically creates the DB2ACCTB dataset, but
Aug 11, 2009 when BUILDPDB/TYPEDB2 is used, the EXDB2ACB exit is used.
So if you (incorrectly) had a DELETE statement in your
tailored EXDB2ACB member, the number of observations that
were created in DB2ACCT/DB2ACCTB/DB2ACCTG were much less
with BUILDPDB/TYPEDB2 than with READDB2. The EXDB2ACB
exit is the ONLY DB2 exit that is overridden in READDB2.
Change 27.194 These variables from the LPAR Object in NMON/TAPAS record
VMACNMON are now input and kept:
Aug 11, 2009 CAPPED EC_USER EC_SYS EC_WAIT EC_IDLE VP_USER
VP_SYS VP_WAIT VP_IDLE FOLDED POOL_ID
Thanks to Steve Dyck, Canadian Depository for Securities, CANADA.
Change 27.193 READDB2 with Change 27.169 did not copy all ACCOUNT data
READDB2 sets to the PDBOUT= parameter, when it was used.
Aug 11, 2009
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 27.192 Incorrect READTIME (date in 2010) because CA=7 overlaid
VMAC110 the first byte of the time part with 'EE'x, but CA is
Aug 11, 2009 then supposed to correct that overlay in the SMF write
exit, which requires specific code for each record type.
Apparently, CA-7 has failed to protect the SMF 110s,
but MXG detects now and corrects READTIME in SMF 110.
Search CHANGESS for "UCC7" LAST for further info.
Thanks to Marnel Groebner, State of Washingon, USA.
Change 27.191 Variable ACTVWSS, working set size, in dataset XAMUSR,
VMACXAM was incorrectly multiplied by 4096; it is already in
Aug 11, 2009 bytes, not KB, so the multiply was removed.
Thanks to Chris Morgan, CitiCorp, ENGLAND.
Change 27.190 Dataset TMS.TMS observations with DEVTYPE blank were
VMACTMS5 found with TRTCH='D0'x and 'EE'x, and TMS shows those
Aug 10, 2009 as DEN 3590 and 3592, so those hex values are now mapped
to the DEN values in DEVTYPE.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.189 Support for Serena's StarTool IOO Product's USER SMF
EXIOOVBU creates 10 datasets:
EXIOOQBU
EXIOORBL DATASET DATASET DATASET
EXIOOVUS SUFFIX NAME LABEL
EXIOOVRP
EXIOOVX1 IOOVBU IOOVBUF VSAM BUFFER OPTIMIZATION
EXIOOVX2 IOOQBU IOOQBUF QSAM BUFFER OPTIMIZATION
EXIOOVX3 IOORBL IOORBLK QSAM BLKSIZE OPTIMIZATION
EXIOOVX4 IOOVUS IOOVUSR USER BLDVRP
EXIOOVX5 IOOVRP IOOVRPB BLDVRP OVERRIDE
FORMATS IOOVX1 IOOVEX1 OPT BYPASS AS PER RULES TABLE
IMACIOO IOOVX2 IOOVEX2 OPT BYPASS NO RULES TABLE MATCH
TYPEIOO IOOVX3 IOOVEX3 OPT BYPASS BUFFER CHANGE NOTAUTH
TYPSIOO IOOVX4 IOOVEX4 OPT BYPASS JCL PARMS PRESENT
VMACIOO IOOVX5 IOOVEX5 OPT BYPASS CSR FAILURE
VMXGINIT
Aug 10, 2009
Change 27.188 MXG 27.04-27.06. When DB2STATS was enhanced to include
VMACDB2 the IFCID=225 DB2STAT4 dataset, the BY list for the sort
Aug 10, 2009 order for DB2STAT0 and DB2STAT1 was incorrectly changed,
which could cause a NOT SORTED error in WEEKBLD/MONTHBLD.
This change resets the sort order for DB2STAT0/DB2STAT1
to the expected SYSTEM QWHSSSID QWHSSTCK.
The same order can NOT be used to create DB2STATS because
the QWHSSTCK timestamp is not consistent in an interval;
instead, SYSTEM QWHSSSID QWHSACE QWHSMTN QWHSISEQ must be
used to create DB2STATS.
If you encounter the NOT SORTED error, you can remove the
BY statement in your WEEKBLD/MONTHBLD to circumvent.
BUT: the better solution is to REMOVE DB2STAT0, DB2STAT1
and DB2STAT4 from your WEEKBLD and MONTHBLD, because they
are completely contained in the DB2STATS dataset!
Unfortunately, I have to leave them in WEEKBLD/MONTHBLD
because they are already there, and removing them would
create a bigger exposure to DATA SET NOT FOUND errors!
Thanks to Wayne Bell, UniGroup, USA.
Change 27.187 In spite of my note in IMACICDL "beginning with IMS 5.1
IMACICDL CICS/TS 1.1+ do NOT support DL/1 calls from CICS" SMF 110
UTILEXCL records with the optional IMACICDL data segment can still
VMAC110 be created, and with CICS/TS 3.2, it is INCOMPATIBLE due
Aug 8, 2009 to the increase to 12 byte clock/counters. IMACICDL was
revised to support both lengths, even though ALL of the
fields in the IMACICDL segment are now ALWAYS zeroes.
-UTILEXCL's generated KEEP= statement was updated to KEEP
these variables, but ONLY so I could confirm the zeroes.
-A DROP statement was added in IMACICDL so these variables
will be dropped if you do have to tailor IMACICDL.
Change 27.186 WSF record with ACCSTAT='.1......'B flag, which says that
VMACWSF the ACCKTN Extension added in WSF 3.3.6 exists, caused an
Aug 7, 2009 INPUT STATEMENT EXCEEDED RECORD LENGTH when it did not
have the minimum-length-20-byte segment present; MXG now
tests that both that bit is on, AND that 20 bytes of data
actually exists before inputting the extension fields.
Thanks to Norm Folkers, CGI, CANADA.
Change 27.185 Variable R744RSST='TOTAL*SIGNAL*SERVICE*TIME' in dataset
VMAC74 TYPE74DU/XTY74DU was incorrectly divided by 10**(-6); it
Aug 7, 2009 was already converted to microseconds in the INPUT and
should not have also been divided.
Thanks to Yacine Amraoui, La Banque Postale, FRANCE.
Change 27.184 Support for VMWARE objects in NTSMF adds new datasets:
VMACNTSM dddddd Dataset Description/Object Name
Aug 7, 2009 NTVWGC VMWGUCPU VMWARE.GUEST.CPU
NTVWGD VMWGUDIS VMWARE.GUEST.DISK
NTVWGM VMWGUMEM VMWARE.GUEST.MEMORY
NTVWGN VMWGUNET VMWARE.GUEST.NET
NTVWGR VMWGURES VMWARE.GUEST.RESCPU
NTVWGS VMWGUSYS VMWARE.GUEST.SYS
NTVWHC VMWHOCPU VMWARE.HOST.CPU
NTVWHD VMWHODIS VMWARE.HOST.DISK
NTVWHM VMWHOMEM VMWARE.HOST.MEMORY
NTVWHN VMWHONET VMWARE.HOST.NET
NTVWHR VMWHORES VMWARE.HOST.RESCPU
NTVWHS VMWHOSYS VMWARE.HOST.SYS
NTVWRP VMWREPOL VMWARE.RESOURCEPOOL
and support for new objects ASP.NET V2.0.50727 and
ASP.NET APPS V2.0.50727 which are output in existing
ASPNET and ASPNETAP datasets.
Change 27.183 The Diagnose Instruction variables added by Change 26.203
VMACVMXA were only INPUT and not kept in z/VM dataset VXPRCDIA.
Aug 6, 2009
Thanks to Jim Dammeyer, State Farm Auto, USA.
Change 27.182 Support for optional, user-created, CICS REQCNT1 field.
IMACICUE
VMAC110
UTILEXCL
Aug 6, 2009
Thanks to Leendert Keesmaat, UBS, SWITZERLAND.
Change 27.181 Support for VOLSER='SCRTCH', a previously unseen (or not
ASUMTAPE noticed value for VOLSER), which has to be added to the
Aug 5, 2009 existing exceptions for VOLSER='PRIVAT'. Mounts with the
VOLSER='SCRTCH', either in the TYPETMNT Mount dataset or
the TYPESYMT SYSLOG dataset, were not matched with their
TYPE21 (because it always has the resultant VOLSER).
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.180 -Support for new CPU_PHYSICAL and CPU_ENTITLED objects in
VMACNMON TOPAS (originally NMON, Nigel's Monitor for AIX/LINUX)
Aug 5, 2009 adds six variables from each into NMONINTV dataset:
Aug 7, 2009 PPHYBUSY PPHYIDLE PPHYSYS PPHYUSER PPHYWAIT NRPHYS
PNTIBUSY PNTIIDLE PNTISYS PNTIUSER PNTIWAIT NRNTIS
-MEMUSE record with invalid numeric value 0.275.9 in the
last field causes two harmless messages to be printed:
INVALID ARGUMENT TO FUNCTION INPUT.
and variable MUMAXCLI will have a missing value.
-INVALID ARGUMENT messages for RECTYPE='RAWCPUTOTAL' were
corrected; right hand argument of WORD2 test needed to be
in all upper case.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 27.179 -MXG 27.05-27.06. WORK datasets were not PROC DELETEd due
TYPETMS5 to debugging comments that should have been removed. The
Aug 5, 2009 14 datasets required over 6400MB with a 700MB TMS input.
Thanks to Jim Kovarik, AEGON, USA.
Change 27.178 ASUM70PR with STARTIME=16:29:59 (instead of 16:30:00) was
VMXG70PR incorrectly reset to 16:15 when INTERVAL=QTRHOUR was used
VMXGRMFI and this created an obs with DURATM=30 minutes instead of
Aug 5, 2009 the requested 15 minute summarization (fortunately, all
data values in that observation ARE correct!). STARTIME
has always been used for MXG RMF summarization, because
the only other original choice, SMFTIME, was inexact, as
write delays could cause it to be in the next hour, etc.
But now, SMF70GIE, the expected, exact, end of interval,
always exists in current RMF/CMF records, so it is used
to define the interval when INTERVAL="value" is specified
so STARTIME can then be exactly reset SMF70GIE-MXGDURTM.
SMF70GIE is already used elsewhere in VMXG70PR, but not
in the STARTIME reset algorithm.
If SYNC59=YES was accidentally specified (not needed
here because the RMF data was written with SYNC=0),
STARTIME was set to 16:30 instead of 16:15, and the 30
minute obs was accidentally NOT created.
Why the STARTIME is one full second earlier instead of
exact is not known, but this system was a 2094-709 with
VERSNRMF 750, and IRD was not active.
-RMFINTRV was revised to also set STARTIME from SMF70GIE,
so there should always be a perfect match between the
PDB.RMFINTRV and PDB.ASUM70PR values.
But NOT with INTERVAL=DETAIL or INTERVAL=DURSET:
MXG Only Resets the STARTIME to "clean" values when
you specify an INTERVAL= "duration" (QTRHOUR,HOUR,etc).
Thanks to Douglas C. Walter, Citigroup, USA.
Thanks to Brent Turner, Citigroup, USA.
Change 27.177 Variable RECTOK was truncated to 12 bytes because it was
VMACITRF incorrectly formatted $HEX24; it is now correctly format
Aug 4, 2009 with $HEX32 to set its stored length as 16 bytes.
Thanks to Shantha Hallett, Capgemini UK, WALES.
Change 27.176 -MXG support for IMF 4.4 was incorrect for these variables
VMACCIMS that were previously binary with varying resolutions but
Aug 5, 2009 were changed in 4.4 to floating point microseconds:
TRNW1OTH TRNW2OTH TRNW2LCH TRNW2IOV TRNW2IOO TRNW3OTH
TRNW3LCH TRNW4OTH TRNW4DBR TRNW4IO TRNW5OTH TRNW5LCH
TRNW5LCK TRNW5IOV TRNW5IOO TRNW5IOD TRNEAPPL TRNEDLTM
TRNEDLDB TRNEDB2 TRNEMQS TRNEOESS TRNEOPCL TRNESYNC
-Records with LTERM values that are neither EBCDIC nor
ASCII ('EE4A80B18DDDDEEA'x) print funny-looking text.
Using FORMAT LTERM $HEX16.; will show that hex value,
but that makes the true printable text unreadable.
Not really a problem, mostly an observation.
-BMC PTF BQI0695 corrects an error in which a DBD segment
could be overlaid with zeros. This was detected because
SQLCALL='Y' (the transaction called DB2), but SQLCALLS
(the sum of calls in all DBD segments with DBORG='80'x)
was a missing value. Any transaction with SQLCALL='Y'
must have at least one DBORG='80'x DB2 DBD segment.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Change 27.175 -ANALDB2R detected but did not tolerate the absence of the
ANALDB2R DB2STATB dataset.
Jul 31, 2009 -Aug 9: ANALDB2R now honors DB2STATB/DB2STATS parameters
Aug 9, 2009 and new DB2GBPST parameter is added.
Thanks to Scott Wiig, USBank, USA.
Change 27.174 Variable QSSTCONT and QSSTCRIT were deaccumulated, but
VMACDB2 they should not have been, as they are end point values.
Jul 30, 2009 CHANGE REVERSED: SEE CHANGE 27.207.
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Change 27.173 Misspelled variables cause confusion, but cannot simply
VMACDB2 be replaced by the correct spelling, as other programs in
Aug 5, 2009 MXG and in user programs may use the incorrect spelling,
so these new (correctly spelled) variables are created:
QBGLWM QXXCBPNX QXXCSKIP QXCRINX
with the same contents and labels as the incorrect ones:
QBGLMW QZZCBPNX QZZCSKIP QXCRINDX
Thanks to Tony Curry, BMC, USA.
Change 27.172 Most tests for IF xxxxxxxx NE 0 THEN were revised to test
ANALDB2R IF xxxxxxxx GT 0 THEN because missing-value variables are
Jul 29, 2009 true with NE 0 but in most cases that is not wanted. Each
test must be examined to see if xxxxxxxx can be missing,
and to confirm that the true value wanted was only GT 0.
This prevented divide-by-zero error messages.
Change 27.171 MXGTMNT records INPUT is now protected if the same SMF
VMACTMNT record number is also used by another product's record,
Jul 28, 2009 by verifying that TMNTSYS='TMNT'; when duplicate use of
the TMNT record ID is detected, two instances are now
printed on the log with a hex dump so you can identify
the other product "sharing" the TMNT record ID.
Thanks to Linda Pitcher, Progressive, USA.
Change 27.170 MXG QA Test Stream step TESTREAL was revised to validate
CLEARDB2 both the existence of datasets and expected observations
TESTREAL with the known SMF input file of DB2 data. READDB2 is
Jul 25, 2009 re-executed multiple times, so resetting of all of the
old-style macros for DB2 is required prior to each; the
static reset was stored in new member CLEARDB2 for reuse.
Change 27.169 MXG 27.04-27.06. READDB2 did not output to any T102Snnn.
READDB2 The error was introduced in MXG 27.04, and while READDB2
Jul 25, 2009 is tested in the QA stream, the tests were for existence,
and did not verify actual observations were created.
Thanks to Alex Macfarlane, BNY Mellon, USA.
Change 27.168 -MXG 27.05-27.06. Change 27.108 accidentally deleted the
TYPETMS5 _KTMSTMS token that should have been after line 188; the
Jul 24, 2009 token is used by ITRM to add variables for TMS.
Thanks to Rob D'Andrea, CIS, ENGLAND.
====== Changes thru 27.167 were in MXG 27.06 dated Jul 20, 2009========
Change 27.167 Minor. %READDB2... did not honor OPTIONS OBS=5000 because
READDB2 a RUN; statement was required to separate the execution
Jul 21, 2009 of the DATA step from subsequent %VGETOBS existence tests
VMXGOPTR (for IFCIDs 105/107). In %VGETOBS execution, the first
Jul 22, 2009 %VMXGOPTR with "OPTION=OBS,NEWVALUE=MAX", (needed so the
PROC SQL can function even if the user has set the option
OBS), was being executed before the DATA step that reads
the SMF data. The RUN; in READDB2 cured its problem, but
a more generic solution was to insert a RUN; statement at
the top of VMXGOPTR to protect it for all calls.
Change 27.166 CA-VIEW SARSRQUX exit SMF record was completely changed.
VMACSARX The new layout of the fixed portion is now supported, but
Jul 21, 2009 the Fixed JCL Attribute segment does not exist in my two
Oct 4, 2009 test records, and the Variable JCL Attribute segment is
not populated, so those segments are not yet INPUT, which
causes many, but harmless, UNINITIALIZED VARIABLE notes
on the log. Oct 4: UNINIT messages removed.
Thanks to Bob DeBartolo, Conseco, USA.
====== Changes thru 27.165 were in MXG 27.06 dated Jul 20, 2009========
Change 27.165 -VMXGSUM now dies gracefully with an MXGERROR message when
ANALACTM the input dataset does not exist; before, it still died,
ANALCNCR but the cause of death was unknown to the user. This can
ANALINIT happen if you include an ASUMxxxx or TRNDxxxx but you had
BLDNTPDB not created the expected input datasets. VMXGSUM works
UTILCONT fine if the dataset exists and has zero observations.
UTILVREF -ANALCNCR modified to fail before calling VMXGSUM if the
UTILXRF1 input dataset does not exist.
VGETDDS -VGETOBS was revised to protect when OPTIONS OBS=0 is in
VGETDSN effect; the PROC SQL used to determine if the dataset has
VGETENG observations did not execute, so VGETOBS falsely reported
VGETOBS the tested dataset did not exist, when in fact it did.
VMXGENG Calls to VMXGOPTR were inserted to store the current OBS
VMXGOPTR option in effect, set OBS=MAX for the PROC SQL, and then
VMXGSIZE restore the original option with a second VMXGOPTR call.
VMXGSUM But this instance of this exposure caused examination of
VMXGUOW all MXG code that uses PROC SQL, so these members have
Jul 17, 2009 also been protected to execute properly with OBS=0 set:
ASUMCACH ASUMCACH BLDNTPDB UTILCONT UTILVREF UTILXRF1 VGETDDS
VGETDSN VGETENG VMXGENG VMXGSIZE VMXGUOW
Setting OPTIONS OBS=0; is a quick way to test SAS code
for any SAS syntax errors, and as all datasets are also
created, subsequent references to datasets or variables
are validated, but no records are read and no disk space
is used since all datasets have zero observations.
An alternative technique is to use a DUMMY input file.
-VMXGUOW %VMXGOPTR calls balanced for default NOOBS zero.
-VMXGOPTR modified to UPCASE the parameters.
-ANALINIT protected with NODSNFERR/NOVNFERR, and is now
a self-executing %MACRO.
-ANALACTM. Some headings ran together & the response time
goals went into exponential notation. ANALACTM gives you
a visual picture of your WLM definitions.
-Aug 12, 2009: VGETOBS defined a new argument, NOEXIMSG.
Change 27.164 NOTE: NUMERIC VARIABLE CONVERTED TO CHARACTER in TIMEBILD
TIMEBILD happens to be harmless, but because it raised questions
Jul 15, 2009 (Why? Impact?), it is now eliminated. The culprit was
the CALL SYMPUT("MXGTIMES",SYS); where SYS was a numeric
count, and %MACRO variables must be character. Inserting
SYST=PUT(SYS,2.); to create character variable SYST, and
using SYST in place of SYS eliminated the message.
Thanks to Paul Volpi, UHC, USA.
Change 27.163 Eight BVIR variables are converted to bytes and FORMATed
VMACBVIR MGBYTES, and *KB in their label is replaced by BYTES to
Jul 15, 2009 be consistent with the other byte-containing variables:
P0CHRD ='HBA*PORT 0*CHAN*READ*BYTES'
P0CHWR ='HBA*PORT 0*CHAN*WRITE*BYTES'
P0VDRD ='HBA*PORT 0*VDEV*READ*BYTES'
P0VDWR ='HBA*PORT 0*VDEV*WRITE*BYTES'
P1CHRD ='HBA*PORT 1*CHAN*READ*BYTES'
P1CHWR ='HBA*PORT 1*CHAN*WRITE*BYTES'
P1VDRD ='HBA*PORT 1*VDEV*READ*BYTES'
P1VDWR ='HBA*PORT 1*VDEV*WRITE*BYTES'
Thanks to Perry Lim, Union Bank, USA.
Change 27.162 Support for BMC APPTUNE SQL IFCIDS=8004x-8136x as SMF 102
EX102S04 records create these eleven new datasets:
EX102S05
EX102S07 DDDDDD DATASET DESCRIPTION/IFCID
EX102S08 102S04 T1028004 102S04: BMC SQL APPTUNE 8004
EX102S09 102S05 T1028005 102S05: BMC SQL APPTUNE 8005
EX102S0A 102S07 T1028007 102S07: BMC SQL APPTUNE 8007
EX102S0B 102S08 T1028008 102S08: BMC SQL APPTUNE 8008
EX102S33 102S09 T1028009 102S09: BMC SQL APPTUNE 8009
EX102S34 102S0A T102800A 102S0A: BMC SQL APPTUNE 800A
EX102S35 102S0B T102800B 102S0B: BMC SQL APPTUNE 800B
EX102S36 102S33 T1028133 102S33: BMC SQL APPTUNE 8133
IMAC102 102S34 T1028134 102S34: BMC SQL APPTUNE 8134
READDB2 102S35 T1028135 102S35: BMC SQL APPTUNE 8135
VMAC102 102S36 T1028136 102S36: BMC SQL APPTUNE 8136
VMACDB2H
VMXGINIT 102BMC Creates all of the above
Jul 15, 2009
All eleven BMC T1028xxx datasets are created together,
with a single macro token dddddd=102BMC. Separate
dddddd tokens for each IFCID/dataset are not defined, as
I decided you'd want all eleven or none. You can create
only those eleven BMC T1028xxx datasets using %READDB2
%READDB2(IFCIDS=BMC);
Or, if you create all possible T102 datasets using either
%INCLUDE SOURCLIB(TYPE102); or %READDB2(IFCIDS=ALL);, all
350 IBM T102Snnn and the 11 BMC datasets will be created.
-While many of the fields are from standard IBM DB2 DSECTS
QWAC, QBAC, QTXA, QXST, and QWAX, all variable names in
the BMC T1028nnn datasets start with QBMCxxxx, so there
is no collision/conflict with the existing MXG names.
-Note that variables QBMCEJST and QBMCESC are different
from the IBM QWACEJST/QWACESC fields; BMC stores the
accumulated total measured time for the statement rather
than the end time for one execution in both.
Change 27.161 Incorrect QXPK values in DB2ACCTP, DB2 V9 only, only if
VMACDB2 NRQPAC GT 1, only in 2nd and subsequent obs per record.
Jul 13, 2009 The DB2ACCTP Package obs contain either both QBAC & QXPK
segments (when Class 10 is enabled) or neither (if not);
if on, there is one QBAC and one QXPK segment per QPAC,
MXG outputs the first set in the first obs, the second
set in the second obs, etc. However, DB2 V9 IFCID=239
(ID=101,Subtype=1) records with more than one NRQPAC had
incorrect QXPK variable's values in 2nd-plus obs, due to
MXG incorrect logic test for =0 instead of LE 0 (and a
typo) in its handling of the new DB2 V9 lengths:
In DB2, IBM stores a zero in the length field in the
"triplet", and the triplet's offset now points to the
two-byte location with the actual field length, at the
start of that segment's data. But only sometimes!
Change 27.160 Var EVENTIME was inadvertently DROPed from PDB.ASUMTAPE
ASUMTAPE by Change 26.038 (MXG 26.03), but was expected in ITRM.
Jul 10, 2009 It is now kept again with the beginning datetimestamp of
the mount event.
Thanks to Don Bernard, North Carolina State Government, USA.
Change 27.159 The test for OSI to input SMF62MGT/SMF62STR/SMF62DAT
VMAC62 unintentionally prevented OPENTIME and ACBMACR1-ACBMACR4
Jul 9, 2009 from being input. The OSI test is no longer needed as
space for all three fields are always present, so it was
removed. And because the MGT/STR/DAT can contain '00'x,
those values were translated to blanks.
Thanks to Sam Bass, McLane Co., USA.
Change 27.158 This change is in progress, requiring many updates before
VMACDB2 it is fully implemented. Progress is documented below.
VMACDB2H If DB2 zparm UIFCIDS=YES is set, many DB2 character vars
VMAC102 will contain ASCII instead of EBCDIC text. These fields
Jul 8, 2009 are identified as "%U" in the IBM DSECTs; technically the
fields contain UNICODE, UTF-8, which is simple ASCII.
Each of these "%U" fields has its original fixed-length
location (that MXG continues to INPUT, but conditionally
INPUTs ASCII or EBCDIC), but if the text length is longer
("truncated" to that fixed-length), a new offset points
to the length and location of the "un-truncated" text,
which is then conditionally input with the longer length.
Change 24.136 created DB2UNICD='Y' when UIFCIDS=YES, and
DB2UNICD was used to conditionally INPUT these variables
QLACLOCN QLSTLOCN QMDALOCN QPACCOLN QPACLOCN QPACPKID
QWHCAID QWHCOAUD QWHCOPID QWHCROLE QWHCTCXT QWHSLOCN
(because only these fields were ASCII in test data).
However, when the below circumvention for an IBM ABEND
required UIFCIDS=YES to be set, these header variables
QWHDRQNM QWHDSVNM
were seen to be in ASCII, and VMACDB2H was updated.
There are at least 224 %U fields in DB2 V9 DSECTS that
need update or at least verification, and they will all
(EVENTUALLY!!) be updated/supported.
As of Jul 13, these variables are now "%U" Supported:
Still to be done:
These are the only "ACCOUNT" IFCIDS that need updating:
QPACASCH QPACAANM
and these are all of the SMF 102 IFCIDs that need update:
QW0022CI QW0022CN QW0022CR QW0022PG QW0022QO QW0022TN
QW0029CI QW0029LN QW0029PI
QW0030CI QW0030LN QW0030PI
QW0031CI QW0031LN QW0031PI
QW0053LN QW0053PC QW0053PN
QW0055NI QW0055OI
QW0058LN QW0058PC QW0058PN
QW0059CN QW0059LN QW0059PC QW0059PN
QW0060LN QW0060PC QW0060PN
QW0061CN QW0061LN QW0061PC QW0061PN
QW0064CI QW0064CN QW0064LN QW0064PN
QW0065CN QW0065LN QW0065PC QW0065PN
QW0066CN QW0066LN QW0066PC QW0066PN
QW0083SA
QW0087SA
QW0096PC QW0096PN
QW0108NC QW0108NI QW0108NL QW0108OH QW0108OW QW0108QL
QW0110PC QW0110PI QW0110PL
QW0112OH
QW0113OH
QW01247S QW0124CI QW0124LN QW0124PN QW0124SP
QW0125PC QW0125PN
QW0140SC QW0140SN QW0140TC QW0140TN QW0140UR
QW0141OR
QW0142CR QW0142OW QW0142TN
QW0145LN QW0145PC QW0145PN
QW01488L QW01489L QW0148CI QW0148LN QW0148PN QW0148SP
QW0157LN QW0157PN
QW0158PN
QW0159LN
QW0162LN
QW0169AL QW0169AU QW0169LO QW0169NE
QW0173CN*QW0173ID*QW0173PC QW0173PK
QW0177CO QW0177LO QW0177OH QW0177PI
QW0183CO QW0183LN QW0183PN
QW0185CN QW0185CR QW0185TB
QW0191LN
QW0192LN [192cs 192ec]
QW0193LN
QW0194LN
QW0195LN
[195hb]
QW0203CO QW0203LO QW0203PA
QW0204LO
QW0205LO
QW0206LO
QW0207HN QW0207TN QW0207UN
QW0208LO
QW0209LO
QW0210LO
QW0221LN
QW0221PC QW0221PN
QW0222LN QW0222PC QW0222PN
QW0224CI QW0224PN
QW0233LN QW0233PC QW0233PN QW0233PR QW0233SC
QW0235LO
QW0236LO
QW0247LN QW0247PC QW0247PN
QW0248LN QW0248PC QW0248PN
QW0269PR QW0269RA QW0269RC QW0269RU QW0269SA QW0269TC
QW0272LN QW0272LP QW0272PC QW0272PG QW0272PN QW0272QN
QW0273CN QW0273LN QW0273LP QW0273PC QW0273PG QW0273PN
QW0305CN
QW0311CN QW0311LN QW0311PC QW0311PN QW0311QN QW0311TN
QW0313AI
QW03141N QW03142N QW0314BN QW0314LN QW0314MN QW0314NN
QW0316QD QW0316SC QW0316T1 QW0316T3 QW0316TD QW0316X4
QW0324CI QW0324CV QW0324FI QW0324FN QW0324FS QW0324NV
QW0325CO QW0325NM QW0325PR QW0325SC QW0325TX
QW0334LN
QW0341LN QW0341PC QW0341PN
QW0343ID QW0343PC QW0343PK QW0343PL
QW148SCH
QWP1RLFA
QWP4ADM2 QWP4DFID QWP4OPR1 QWP4OPR2 QWP4OZUS QWP4REGA
An ABEND 0C4 in DB4PMSTR (takes down DB2 Subsystem) can
occur if zparm UIFCIDS is set to "NO", and IFCIDs 316,317
are written. IBM suggested PTF UX37196, but that is PE.
Setting zparm UIFCIDS to "YES" bypassed the conversion.
ERROR DESCRIPTION:
Rapid stack storage increase about 200M per day was
observed by customer. This occurs when IFCID 316, 317
were in effect and the zparm UIFCIDS was set to no. The
stack storage was used for conversion from UNICODE to
EBCDIC.
LOCAL FIX:
Set zparm UIFCIDS to yes to bypass conversion or turn
off IFCID 316 and 317.
Thanks to Barry Pieper, Blue Cross of Minnesota, USA.
Change 27.157 SMF 116 variables WQGETJCE/WQPUTJCE/WQPUT1JE/WQSET1JE in
VMAC116 the MQMQUEUE dataset were not divided by 4096, so their
Jul 7, 2009 values were incorrectly large without that divide.
Version 7.0 SMF 116 records have been read without error;
there are no new fields in the SMF 116 (nor 115) records.
in Version 7.0, so the MXG support was already in place.
Thanks to Frank Debree, Dexia, BELGIUM.
Change 27.156 Support for z/VM 6.1.0 is already in place in MXG 27.01+,
TYPEVMXA as there were no changes to the MONWRITE data records,
Jul 7, 2009 except for the new version number.
Change 27.155 -Type 42 Subtype 16 RLS Record INPUT STATEMENT EXCEEDED
VGETUTKN because the two length tests LEN42D2 and LEN42D4 should
VMAC42 have been 1652 instead of 1504.
Jul 6, 2009 -Type 42 Subtype 21 and 24 with invalid ICHRUTKN segment
Jul 8, 2009 had all of UTKNxxxx variables wrong or truncated. This
Jul 13, 2009 change detects the mis-located segment (starts in 187 vs
185) and correctly populates the UTKNxxxx variables,
except that the last variable in the record, UTKNGRUP,
is only 6-bytes long when the segment in invalid.
-IBM APAR OA27563 corrects the errors; search NEWSLTRS for
the details.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.154 USS dataset TYPE9201 variable SMF92PPN (pathname to the
VMAC92 filesystem) was not input because SMF92PPL, its length
Jul 6, 2009 field was INPUT from the wrong offset in line 640,
which now contains
If SMF92MPF GT 0 THEN INPUT @SMF92MPF+1
Thanks to Dan Squillace, SAS Institute Cary, USA.
Change 27.153 Dataset TYP11921 variable NTBTRNBE should have been INPUT
VMAC119 as &PIB.4. instead of &PIB.4.3 since it is a count and is
Jul 5, 2009 note a duration.
Thanks to Paul Volpi, UHC, USA.
Change 27.152 MXG 27.01-MXG 27.05. DCOLLECT variable UBALLSP is missing
VMACDCOL always; its INPUT statement was lost when Change 27.034
Jul 2, 2009 updates were made.
Thanks to Thomas Heitlinger, FIDUCIA IT AG, GERMANY.
Thanks to Sieghart Seith, FIDUCIA IT AG, GERMANY.
Thanks to Isabelle Diagremont, FIDUCIA IT AG, GERMANY.
Change 27.151 XAM TCP record caused INPUT EXCEEDED RECORD LENGTH ERROR.
VMACXAM A TCPAPP segment with only Segment Name and SEGLEN=8 with
Jul 2, 2009 no data can be created for internal XAM purposes. Only
the TCPAPP segment can have these "null segments", so the
SEGLEN is now tested after the header is INPUT, and the
segment is NOT output if there is no data.
Thanks to Chris Morgan, CitiCorp, ENGLAND.
Change 27.150 -MXG 27.05. COPYONLY option of READDB2 didn't work for the
READDB2 ID=102 IFCIDs selection.
Jul 2, 2009
Thanks to Dan Almagro, Automobile Club of Southern California, USA.
Change 27.149 Labels for Counts of ZIP, IFA, CPs, etc are clarified:
VMAC7072 In ASUM70PR ASUM70LP TYPE70PR - PER SYSTEM-CEC DATASETs
Jul 1, 2009 and ASUMCEC ASUMCELP - PER CEC DATASETS:
NRICFCPU='ICF CPUS*AVAILABLE*IN THIS CEC'
NRIFACPU='IFA CPUS*AVAILABLE*IN THIS CEC'
NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'
NRZIPCPU='ZIIP CPUS*AVAILABLE*IN THIS CEC'
because RMF can see everything in the CEC in the 70PR SMF
data.
But the TYPE70 and RMFINTRV DATASETS - PER SYSTEM DATA:
NRIFAS ='IFA CPUS*AVAIL TO*THIS ZOS'
NRZIPCPU='ZIIP CPUS*AVAIL TO*THIS ZOS'
NRIFACPU='IFA CPUS*AVAIL TO*THIS ZOS'
NRIFLCPU='IFL CPUS*INSTALLED*IN THIS CEC'
NRCPUS ='AVERAGE*ONLINE*NON-PARKED*CP ENGINES'
are not the "hardware" counts, but only the count of the
engines that this z/OS system can use and knows about.
Thanks to Scott Wigg, USBank, USA.
Change 27.148 Support for APAR OA29428 adds diagnostic bits that create
VMAC1415 these new MXG variables and labels:
Jun 30, 2009 SMF14TCL='TASK*TERMINATION*CLOSED*THE DCB?'
SMF14ABD='TASK IS*TERMINATIONG*TCBFA*IS ON?'
MXG Variables whose label ends with a question mark are
one byte character variables whose value will be 'Y' if
true, and should be blank if not true (although some old
variables might contain 'N' for false).
The APAR text states:
For debugging purposes, customers need to know if a
dataset has either been closed by a program or RTM
cleanup processing. The SMF records (types 14 or 15)
do not currently provide a way to identify this
information. The addition of flag(s) are required to
indicate normal versus abnormal CLOSE. One methodology
that can add this information is to add a bit to
indicate that task termination closed the dcb and add
a second bit to indicate whether or not the task is
abending.
Change 27.147 -MXG ANALZPCR didn't expand variable SCP to 10 bytes so
ANALZPCR z/OS 1.10 was not correctly set in the external study
Jun 30, 2009 file.
-MXG incorrectly set SCP from MVSLEVEL to be the same as
the MVSLEVEL of the TYPE70 that wrote the record, instead
instead of using the SMF70STN from each LPAR to define
that system's SCP. Now, TYPE70 is read to create the new
$TEMPSTN format, mapping SYSTEM to MVSLEVEL, and then
SMF70STN value in TYPE70PR is looked up to set MVSLEVEL.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.146 These OMCI datasets built by TYPE112
VMAC112 T112ADA T112ADAT T112DLI T112DLIT T112IDMT T112IDMS
Jun 30, 2009 T112VSAM T112VSAT T112SUPR T112SUPT T112DTCO T112DTCT
did not keep variables OMCIJOB OMGAPPL OMSAPPL.
Thanks to Richard Schwartz, State Street Bank, USA.
====== Changes thru 27.145 were in MXG 27.05 dated JUN 29, 2009========
Change 27.145 Support for TMON for MQ record "QA" (APPLICATION STATS)
EXTMQQA creates two new datasets, TMMQQA and TMMQQAA. All of the
EXTMQQAA QAxxxxx variables with TIME12.2 format are guesses as to
IMACTMMQ their internal format, and TMON reports for validation
VMACTMMQ weren't available when MXG 27.05 was ready; please check
VMXGINIT with support@mxg.com for any updates prior to using those
Jun 26, 2009 variables in these two new datasets.
Jul 1, 2009 Jul 1: QA record's 32 Latch Class times/counts created.
Thanks to Paul Volpi, UHC, USA.
Change 27.144 New documentation member ADOCRMFR tabulates the name of
ADOCRMFR each MXG variable that is printed in IBM RMF reports.
Jun 26, 2009
Thanks to George Canning, Produban, ENGLAND.
Change 27.143 Variable REDIRECT in PRPR1010 dataset contains text, in
VMACPRPR spite of the documentation that it is a numeric field.
Jun 26, 2009 Previous test data had blanks. Now INFORMAT $16.
Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.
Change 27.142 Using the %VMXGPRAL utility to print SUSE datasets caused
VMXGPRNT errors because of the long-length-variable-names in SUSE,
Jun 26, 2009 and the need for LRECL=255 on the temporary FILENAME.
Thanks to James J. Flanagan, ISO, USA.
Change 27.141 Variables R792FLG and R792FLG2 are now kept in TYPE792.
VMAC79
Jun 25, 2009
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 27.140 Change 27.062 incorrectly input S42DSRDD/S42DSRDT as &RB
VMAC42 but the fields are &PIB format.
Jun 25, 2009
Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.
Change 27.139 Line 1024 should be BO SCANLOOP Y. TRY ANOTHER VOLUME
ASMVTOC instead of BZ. This caused no volumes to be returned when
Jun 22, 2009 SELECT vol1 vol2 .. was used.
Thanks to Paul Gillis, Pacific Systems Management Pty Ltd, AUSTRALIA.
Change 27.138 -z/OS 1.10 SMF 85 OAM record INPUT EXCEEDED RECORD ERROR.
VMAC85 MXG Version/Release/ModLevel variable R85PRVM='1*0' was
Jun 18, 2009 created as it didn't expect a 2-digit Release Number.
Jul 17, 2009 Fortunately, R85PRVM is not kept so it was expanded to
now supports 2 digit Version so '1100' is GT '1 30'.
-TYPE85AC dataset. New variables
R85STY='RECORD SUBTYPE'.
R85STOK ='OSREQ*STOKEN'
R85RC2 ='OSREQ*RETURN*CODE*TWO'
-Subtypes 8 thru 10 now are also output to TYPE85AC.
-But the R85PRVM value is not consistent. These values
are found in my past test data files:
1999 1. 4.0
2003 1. 3.0
2003 2.10.0
2007 1. 8.0
2009 1.10.0
-Jul 17: New variables added to TYPE85ST dataset:
R85PUDK ='BYTES*DELETED*TAPE*SUBLEVEL 2*/
R85PUDO ='PRIMARY*OBJECTS*DELETED*TAPE*SUBLEVEL 2'
R85PURK ='BYTES*READ*TAPE*SUBLEVEL 2'
R85PURO ='PRIMARY*OBJECTS*READ*TAPE*SUBLEVEL 2'
R85PUWK ='BYTES*WRITTEN*TAPE*SUBLEVEL 2'
R85PUWO ='PRIMARY*OBJECTS*WRITTEN*TAPE*SUBLEVEL 2'
-Corrections to handling of subtype 78,79,and 88 for
test data from versions 1100, 1 30, and 1 40.
Thanks to Joachim Sarkoschitz, DATEV eG, GERMANY.
Thanks to Harald Seifert, HUK-COBURG, GERMANY.
Change 27.137 Analysis of interval zIIP usage by JOB/PROGRAM/etc using
ANALZIPU PDB.SMFINTRV. You define the ZIPGROUP variable to group
Jun 18, 2009 that is then summed for each interval, and the percentage
of total zip usage by that ZIPGROUP for that interval is
calculated. The analysis does demand that your SMF 30
data is synchronized.
Thanks to David Carr, Blue Cross Blue Shield of Kansas, USA.
Change 27.136 Unused Change.
Change 27.135 The (VERY OLD) ANALRMFI example's selection criteria had
ANALRMFI test for a series of variables ANDed to be GE 0, but some
Jun 17, 2009 of the variables are, now, always missing (logical swaps)
causing nothing to be selected. The WHERE clause tests
now are ORed, and always-missing variables were removed.
However, like all ANALxxxx report examples, this is only
an example, as a starting report to be tailored into your
very own report, if the report is of interest.
Thanks to Cletus McGee, Alfa Mutual Insurance Company, USA.
Change 27.134 Further support for IBM i, i5/OS, iSeries, or AS400 V6R1
EXQAPHDW (to include all old and new names of these products).
IMACQACS New dataset created:
VMACQACS -QAPMHDWR Hardware Configuration
VMXGINIT Existing datasets updated:
Jun 17, 2009 -QAPMBUS - BUIOPB increased from 2 to 3 bytes.
Jun 18, 2009 -QAPMJOBM- New variables added:
JBJTHDT ='JVM*THREAD*TYPE'
JBJVMF ='JVM*STARTED'
JBJVMT ='JVM*TYPE'
JBMDYR ='FILE*SYSTEM*DIRECTORY*READS'
JBMLCH ='FILE*SYSTEM*LOOKUP*CACHE HITS'
JBMLCM ='FILE*SYSTEM*LOOKUP*CACHE MISSES'
JBMNDC ='FILE*SYSTEM*NON-DIR*CREATE*OPS'
JBMNDD ='FILE*SYSTEM*NON-DIR*DELETE*OPS'
JBMOPN ='FILE*SYSTEM*OPEN*OPERATIONS'
JBMSLR ='FILE*SYSTEM*SYMBOLIC*LINK READS'
JBPASE ='I5/OS*PASE*RUNTIME*ACTIVE'
JBPGRL ='PAGE*FRAMES*RELEASED'
JBPGRQ ='PAGE*FRAMES*REQUESTED'
JBSCPU ='SCALED*CPU*MICROSECONDS'
JBSTCPU ='TOTAL*SCALED*JOB*CPU'
There were also a number of fields labeled RESERVED that
are INPUT and kept, in case they become populated.
-QAPMSYST New variables added:
SYSIUL ='USER*AUTHORIZATIONS*AVAILABLE'
SYSCIU ='USER*AUTHORIZATIONS*NEEDED'
Thanks to Clayton Buck, UniGroup, USA.
Change 27.133 Variable CFBUSYTO is created in TYPE74CF as the sum of
VMAC74 all CF engine busy time (CFBUSY01-CFBUSY16).
Jun 16, 2009
Change 27.132 DB2 V8 IFCID=22 Record with truncated name fields caused
VMAC102 INPUT STATEMENT EXCEEDED RECORD LENGTH some of the time.
Jun 16, 2009 -MXG 27.05 was still wrong for some cases; Jul 2 revision
Jul 2, 2009 with tested with both V8 and V9, but the V8 records do
not exactly agree with the V8.1 DSECTS, so counters were
added to ensure alignment (I hope!).
Thanks to Tom Buie, Southern California Edison, USA.
Change 27.131 Enhancements to DB2PM-like STATISTICS LONG report have
ANALDB2R caused updates to create/correct needed DB2 variables:
ASUMDBSS -Variables QWHADSGN,QWHAMEMN kept in all DB2ACCTx/DB2STATx
READDB2 datasets, as they are in the header of all DB2PM reports.
TRNDDBSS -Variables QDSTQMIT QTMAXPB QDSTQIN2 QBSTXIS QTGSPEMX
VMAC102 QXMAXDEG QXSTXMLV QXSTLOBV
VMACDB2 were DIF()'d but they do not contain accumulated values.
Jun 26, 2009 -Variables QDSTQIN2 QTPACOW1 QTPACOW2
were NOT DIF()'d, now are, contain accumulated values.
-Variables QTGACSLM QTGALSLM QTGAUSLM QTGSCSLM QTGSLSLM
and QTGSUSLM are actually spelled QTG..LSM in DB2 DSECT,
but once named in MXG there only pain and anguish if I
rename a variable, and these aren't important enough to
have me create correctly spelled duplicate variables.
-T102S106 System Parameters dataset was updated with these
new variables added for V8 and V9:
QWP1ACCU QWP1ACID QWP1CDB QWP1IDBP QWP1IXPX QWP1IXQT
QWP1LVA QWP1LVS QWP1LWCK QWP1MOFR QWP1RLFA QWP1SYFL
QWP1SYMV QWP1TP16 QWP1TP32 QWP1TP8 QWP1TPLB QWP1TPXM
QWP1TSQT QWP1WLME QWP1XVA QWP1XVS
QWP4APS QWP4FRLC QWP4IAST QWP4MIS6 QWP4MS4C QWP4MXAB
QWP4MXDC QWP4NUPT QWP4PMGT QWP4RSDC QWP4RSMT QWP4SKLC
QWP4SRTN QWP4WFAL
QWP5DCYC QWP5DLOK QWP5FLG QWP5HASH QWP5MCSA QWP5PHSH
QWP5RLE QWP5TVAL
QWP9TCKA QWP9INAC
QWPBAPSC QWPBDB2S QWPBDDRM QWPBLCTP QWPBLNM QWPBNUFN
QWPBPADN QWPBUGID QWPBUMID QWPBUSID
-New ASUMDBSS Statistics Summarization summarizes:
Default INPUT dataset Default OUTPUT dataset
PDB.DB2STATS PDB.ASUMDBSS
PDB.DB2STATB PDB.ASUMDBBS
PDB.DB2GBPST PDB.ASUMDBSG
The new ASUMDBSS eliminates the need for old ASUMDBSB as
only ASUMDBSS is needed to create all three stat ASUMs.
-New TRNDDBSS Statistics Summarization summarizes:
Default INPUT dataset Default OUTPUT dataset
WEEK.ASUMDBSS TREND.TRNDDBSS
WEEK.ASUMDBBS TREND.TRNDDBBS
WEEK.ASUMDBSG TREND.TRNDDBSG
The new TRNDDBSS eliminates the need for old TRNDDB2S and
TRNDDB2X, as TRNDDBSS creates all three stat TRNDs.
If you are currently using TRNDDB2S or TRNDDB2X, read the
comments in TRNDDBSS with the one-time migration example.
-Statistics reports can be selected by DB2 subsystem
(QWHSSSID), local location (QWHSLOCN), BEGIN and END time
using the DB2 DB2LOCAL BEGTIME and ENDTIME parameters.
-READDB2 revised with new parameter RUNASUMS, default NO.
Set RUNASUMS= interval desired (HOUR/DATE/WEEK/etc.) and
the ASUMDB2S will create the statistics summary datasets
in PDBOUT library.
-ANALDB2R these reports have been brought up to date with
DB2 Performance Expert/Performance Monitor documentation:
PMACC01/PMACC03=Accounting short report
PMSTA01/PMSTA03=Statistics long reports
PMSTA02/PMSTA04=Statistics short reports
PMSPR01=System Parameter Report
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.130 These variables for dataset QAPLPAR
VMACQACS LPCAP LPAVL LPBSY LPRSP LPRDS LPWRTS
Jun 15, 2009 LPDISK LPMEM
were INPUT but not kept.
Thanks to David Bixler, FISERV, USA.
Change 27.129 Support for changes to CONTROL-D TYPE C User SMF record.
VMACCTLL Eight LOGCODE values have existing JOBNAME RECIPIENT and
Jun 15, 2009 REPORT variables in different locations, plus two new
ACTIONCT and VALUESCT variables.
Thanks to Josep Miquel, La Caixa, SPAIN.
Change 27.128 Change 27.046 made major update to EDGHSKP type D,V,X but
VMACEDGR invalid syntax of 'GT . GT . ' was not detected, causing
Jun 12, 2009 MANY datetime variables to have missing values.
Thanks to Rudolf Sauer, T-Systems, GERMANY.
Change 27.127 Support for CONTROLT for "daily dataset" billing, and
DAILYDSC other "DAILYDSN" job enhancements:
DAILYDSN -New DAILYDSC created for CONTROLT.
DAILYDSR -DAILYDSR modified to handle SPACE6 DAYS6 (bytes on
IMACVTS virtual and days)
JCLDAYDS -DAILYDSN modified to handle SPACE6 DAYS6 and to use the
Jun 11, 2009 same constructs as DAILYDSC overriding the _L for the
output TMS datasets to send them to the DATASETS LIB.
-IMACVTS used by all of the above to set a variable
VIRTREAL to REAL or VIRT. Comments on usage in member.
Default is REAL.
-JCLDAYDS modified to add a CTLT step
Thanks to Chuck Hopf, Independent Consultant, USA.
Change 27.126 zVM Velocity Software variable SYTLPNAM/LCPUNAME is no
VMACXAM longer kept in dataset XAMSYU, which has an observation
Jun 11, 2009 with the LPAR management time for each hardware Engine,
and is not a per-LPAR dataset. MXG had incorrectly kept
SYTLPNAM from the last SYTCUP segment.
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.125 -DB2 V8 Only, DB2STATS variables QISESKCT, QISESKPT were
VMACDB2 zero in SMF 100 subtype 1 records with LENQISE=148 bytes.
Jun 10, 2009 The QISE V8 DSECT was 96 bytes, ending at QISECFRE. In V9
QISE increased to 148 bytes. MXG tested length to input
new fields, so when a DB2 V8 record LEN=148 was read, the
new fields were input. However, in V9 IBM relocated the
two SKCT/SKPT fields into the first 8 bytes of the new
data, but this V8 record has zeros there, and the two
original field locations contain the number of SKCT and
SKPT pages. The MXG Logic continues to read new fields
QISEKFAL QISEKPGE QISEKFRE QISECTA QISEKTA
QISESFAL QISESPGE QISESFRE QISEKNFM QISEKNFA
QISEKNFR
with LEN=148 records, but no longer replaces the already
QISESKCT or QISESKPT values if the record is from V8.
-The MERGE of TEMPSTAT (ST0+ST1) and DB2STAT4/T102S225
now outputs PDB.DB2STATS if TEMPSTAT obs exist; Change
27.097 incorrectly also output unmatched 225s, including
the initial IFCID=225 for each subsystem, which has no
no matching ST0+ST1 observation. If only 225's exist,
then PDB.DB2STATS will have no observations, but the 225s
data will still be found in DB2STAT4 and T102S225.
-Change 27.097 incorrectly kept QWHSSTCK in PDB.DB2STATS;
BEGTIME ENDTIME are the datetime variables.
Thanks to John Shuck, SunTrust, USA.
Thanks to Chuck Hopf, Independent Consultant, USA
Change 27.124 "WARNING: Apparent invocation of macro TRIM not resolved"
VMXGOPTR is serious, but ONLY happens if your //SASAUTOS does not
Jun 9, 2009 include the SAS-supplied AUTOCALL library, or if your
CONFIGVx in use doesn't have this required statement
OPTIONS MAUTOSOURCE SASAUTOS=(SOURCLIB SASAUTOS);
because %TRIM() is delivered by SAS as a %MACRO in their
AUTOCALL library. Previously, only a few ANALxxxx used
%TRIM(), but in MXG 27.04, it was added to %VMXGOPTR by
Change 27.092, and %VMXGOPTR is used throughout MXG, so
several sites with defective SASAUTO allocations failed
when they installed MXG 27.04 (but they would have failed
earlier if they had used any of those ANALxxxx's!). But
with closer examination, we have eliminated the need for
the %TRIM() use in %VMXGOPTR, as the string is already
aligned, so I've removed the recently-added %TRIM() from
VMXGOPTR in this change.
Note: Change 27.278 also documents that %TRIM macro will
not be found if you have chanced MXG's S2=0 option to any
other non-zero value.
Change 27.123 -ASUMCEC dataset with an IFL still had missing values in
VMXG70PR CPCFNAME CPCMSU NRPHYCPS PARTNCPU PCTCPUBY PCTOVHD PCTPOV
Jun 7, 2009 variables, and wrong values in these variables:
Jun 9, 2009 IFACPUS IFAUPTM ZIPCPUS ZIPUPTM
even after Change 27.102 claimed to correct that error.
The problem only occurs if you have an IFL LPARs that is
also the highest numbered LPARNUM.
Change 27.076 added the support for IFL LPARs to ASUM70PR
output datasets; new observations are created for each
IFL LPARNAME in the two LPAR-specific datasets ASUM70LP
and ASUMCELP, but these new obs only populate only these
IFL resource variables
IFLACTTM IFLCPUS IFLUPTM IFLWSTTM PCTIFLBY
populated. All of the resource variables for the other
engine types (CP,ICF,ZIP,IFA) will have missing values in
the IFL observations. Those missing values were then
inadvertently propagated into the CEC-interval ASUMCEC
dataset. Several data step's sort order and logic were
revised to correct the error.
Thanks to Clayton Buck, UniGroup, USA.
Change 27.122 -Support for APAR OA26832 (increased Service Units field
VMAC30 from 4 to 8 bytes), is needed now, thanks to IBM, because
Jun 7, 2009 z/OS SYSTEMS NEVER FAIL: we now have long-running-tasks
Text revised where long is measured in months, and whose 4-byte fields
Jun 30, 2009 can fill and wrap, truncating those service unit values.
But Service Units are NOT used to calculate any normal
MXG CPU Time variables in TYPE30 data; those CPU times
are read directly from the SMF 30 record, except for the
MXG-only variable SRVTCBTM, the TCB CPU time calculated
from CPUUNITS, added so CPUTCBTM and SRVTCBTM could be
compared to see if using Service-Unit-Based CPU time had
more resolution than the recorded CPU time. Except for
wrapping, I saw VERY little difference between the
CPUTCBTM and the SRVTCBTM when SRVTCBTM was added in MXG.
-Variable SMF30INV has bits for each of the six fields set
if the 4-byte service unit field had wrapped.
-These IBM named fields are cited in the APAR:
SMF30SRV SMF30CSU SMF30SRB SMF30IO SMF30MSO SMF30ESU
and their corresponding MXG variables are these:
SERVUNIT CPUUNITS SRBUNITS IOUNITS MSOUNITS ENCLCPSU
in all of the TYPE30 datasets.
Change 27.121 In Change 27.078 I caused assembly errors
ASMIMSL6 ASMA034E Operand WTOAREA beyond active USING by 61 bytes
Jun 6, 2009 when I added messages for the new log record, proving I
am NOT an ASM programmer; shortening the message text did
circumvent the error, but this correction has been made
by "asmguy@mxg.com" who speaks that language for me.
Thanks to Mark Van Der Eynden, HP, AUSTRALIA.
Change 27.120 Support for RMF III z/OS 1.10 new ASI fields (INCOMPAT).
VMACRMFV These variables are now INPUT/KEPT, but as they were
Jun 5, 2009 inserted (rather than appended) to the ASI record, other
ASI variables will be trashed without this change.
ASILVNMO='PRIVATE*MEMOBJ*ALLOCATED'
ASIHVCOM='64-BIT*COMMON*MEMOBJ*ALLOCATED'
ASILVSHR='SHARED*MEMOBJ*ALLOCATED'
ASILVABY='PRIVATE*MEMOBJ*BYTES*ALLOCATED'
ASIHVCBY='COMMON*STORAGE*BYTES*ALLOCATED'
ASILVSBY='SHARED*MEMOBJ*BYTES*ALLOCATED'
ASIHVVBY='HWM*64-BIT*COMMON*BYTES*ALLOCATED'
ASILVMEM='ADDRESS*SPACE*LIMIT*IN MB'
Thanks to Rodger Foreman, Acxiom, USA.
Change 27.119 Documentation. A BUILDPDB SPIN library created on z/OS
BUILDPDB can be PROC CIMPORT copied to an ASCII system, but you
SPIN then must sort SPIN datasets (to change the z/OS EBCDIC
Jun 4, 2009 sort order to match the ASCII sort order) before you can
use that SPIN library with BUILDPDB.
The required SORT statements are:
PROC SORT DATA=SPIN.SPIN30_1;
BY READTIME JOB JESNR JINTIME;
PROC SORT DATA=SPIN.SPIN30_4;
BY READTIME JOB JESNR TERMTIME;
PROC SORT DATA=SPIN.SPIN30_5;
BY READTIME JOB JESNR DESCENDING JTRMTIME;
PROC SORT DATA=SPIN.SPIN26;
BY READTIME JOB JESNR JPURTIME;
Change 27.118 -Cosmetic. DDs with DEVCLASS='00'x now have DEVICE='00X'
VMACUCB instead of DEVICE='OTHER'. These values occur for SYSIN,
VMAC30 SYSOUT and other JES-owned DDs that don't have actual
Jun 3, 2009 allocations. Now, 'OTHER' really is "other".
-Dataset TYPE30_D now has DEVCLASS and DEVTYPE kept, just
in case you get "other" values and need to know them.
Thanks to Kim Westcott, New York State OFT, USA.
Change 27.117 MXG 27.03-27.04. Change 27.071 introduced an extraneous
TRNDDB2A %; in line 44 that is now removed.
Jun 3, 2009
Thanks to Tom Kelman, Commerce Bank of Kansas City, USA.
Change 27.116 Type 14/15 records with a non-zero BLKSIZE (from JFCB, in
VMAC1415 record bytes 167-168), but with a Subtype=5 "Additional
Jun 3, 2009 Data Set Characteristics Section" with SMF14BFG='C0'X,
(indicates that the SMF14LBS blocksize field is valid),
have SMF14LBS=0, and MXG logic replaced BLKSIZE with the
newer SMF14LBS with SMF14BFG='1.......'B. The MXG logic
is revised to use MAX(BLKSIZE,SMF14LBS) if the SMF14BFG
bit is on, but this seems to be an APARable IBM problem.
Originally, 23173 obs had BLKSIZE=0, but after the change
there were only 1186 TYPE1415 obs with BLKSIZE=0.
Thanks to David Shaw, M&T Bank, USA.
Change 27.115 Using TIMETABL to SYNC59 individual systems with a value
VMXGTIME in column 71 also required you to %LET MXGTIM59=YES, but
Jun 3, 2009 that is redundant and is now removed; the value found in
71-72 is always used (0, blank, 1, or other minutes).
====== Changes thru 27.114 were in MXG 27.04A dated Jun 2, 2009========
Change 27.114 MXG programs that are "TAPE-aware" test the "PDB" DD for
ANALDB2R its device type of tape to avoid multiple mount/rewinds,
VMXGTAPE but they only were tested with JCL allocation. If the
Jun 5, 2009 the tape "PDB" is allocated by a LIBNAME statement it may
fail with "ERROR: NO LOGICAL ASSIGN FOR filename ddname".
MXG's algorithm to identify a LIBNAME as a tape device
CLEARs the LIBNAME and re-opens it as a FILENAME; a CLEAR
is required to change libref from a LIBNAME to FILENAME,
but a CLEAR unallocates the libref from the library, and
a subsequent reference (to read it) caused the ERROR.
But by moving %VGETENG to first test the "ddname" for its
device type, if we get the device type back, then that
ddname was OPENed, either by a prior use, or because it
was allocated by a LIBNAME statement, and we're done,
since we have the device type. But if %VGETENG returns
"UNKNOWN" for device type, then we know that library was
JCL-allocated and was not OPEN, so we could safely CLEAR
the LIBNAME and open as FILENAME open with a FILENAME and
still get back to the LIBNAME. But, because the LIBNAME
has NOT been OPENed, we really don't need to CLEAR it
before opening it as a FILENAME, so FILENAME ... CLEAR is
now removed from these members.
The CLEAR is still required to switch the other way, from
a FILENAME to a LIBNAME, so a DD name allocation rather
than a LIBNAME allocation may be required. For example,
this ERROR will also occur with the WEEK/MONTH builds if
you use the TAPETEMP option, and if you try to allocate
TAPETEMP with a LIBNAME statement. There is no possible
circumvention, as we must, by design, issue the CLEAR, so
you must use a DD statement rather than a LIBNAME.
Thanks to Brian A. Harvey, HCL America, USA.
Change 27.113 OMCI INTR Subtype 200 RECSUBTY 4 segments are 58 bytes in
VMACOMCI length; MXG code guessed 53 bytes (and noted "UNTESTED").
Jun 1, 2009 The guess caused INPUT STATEMENT EXCEEDED error.
Thanks to Art Cuneo, Blue Cross Blue Shield of Illinois, USA.
Change 27.112 VMXGALOC only correctly allocated weekly PDBs datasets if
VMXGALOC you were using Week-To-Date logic, and if FIRSTRUN=YES,
BLDSMPDB the TREND datasets were not correctly allocated.
May 31, 2009
Jun 11, 2009 BLDSMPDB did not protect for no datasets in the PDB for
WEEKLY processing, and did not end a loop after all of
the datasets were processed, causing in a failed SUBSTR
function ERROR. The loop logic now runs only if datasets
exist in the input, and then only for the number of them.
Thanks to Gary Havlatka, Creative Automation, USA.
Change 27.111 Support for multiple TMS/CA-1 catalogs creates IHDRTMS5
IHDRTMS5 exit, adds &TMSJFCB FILENAME=INFILENM &TMSEOV options to
TYPETMS5 the INFILE TMC statement, creates new TMSLIB and TMSDATE
TYPSTMS5 variables, now inserted into the sort BY list used:
VMACTMS5 BY ZDATE TMSLIB TMSDATE VOLSER ....
VMXGINIT and, in the example code in IHDRTMS5, show how you can
May 31, 2009 populate TMSLIB by parsing the DSNAME of each TMC infile,
and how to populate TMSDATE with the Create Date from the
JFCB of each infile.
-The location of the INFILE, IMACZDAT, and IHDRTMS5 was
moved into the MACRO _CDETMS macro definition in VMACTMS,
to match the expected sequence of those exits.
-New macro variable MACTMSH is created for "instream" code
alternative for the IHDRTMS5 header exit.
-New macro variable TMSJFCB=JFCB=TMSJFCB ; is set ONLY if
if MXG is executing under z/OS, where JFCB= exists.
-New macro variable TMSEOV=EOV=TMSEOV ; is now set ONLY
if MXG is executing under SAS, as WPS JFCB= exists.
Thanks to Scott Barry, SBBWorks, Inc, USA.
Change 27.110 -I. MXG 27.05 execution tests with WPS 2.3.5 under ASCII:
DOC Summary: Most MXG programs execute under WPS error-free.
Jun 5, 2009
AUTOEXEW This program that creates MXG datasets cannot be used:
MXGWPSV2 TYPESVC - DS8000 Disk SAN Volume Controller XML record;
READDB2 WPS does not support NAMED INPUT.
UTILXRF1
TYPELSAR This program that creates MXG datasets bypasses a new MXG
VMACNMON feature when executed under WPS:
VMXGINIT TYPETMS5 - CA-1/TMS Catalog support for multiple TMC's:
Jul 4, 2009 Added in Change 27.111, the INFILE EOV option
(that allowed concatenation recognition so
multiple catalogs could be concatenated) is
not supported, so &MXGEOV is blank with WPS.
These report example programs use features not in WPS:
ANALCISH - ALL report - PROC SQL run time.
ANAL80A - PROC REPORT.
ANALAVAL - PROC CALENDAR.
ANALPATH - OVERPRINT option PUT statement.
UTILXRF1 - TRANSCODE attribute in DICTIONARY.COLUMNS
UTILXRF1 - VALIDVARNAME=UPCASE.
-The below were previously listed here as not usable, but
the inhibiting feature is now supported:
ANALMPL - PROC PLOT VREVERSE,VPOS options not there.
ANALTAPE - PROC PLOT VREVERSE,VPOS options not there.
SASAUTOS - Warning not assigned, macros empty
-The HBAR option of PROC CHART is now supported, so these
members are now reinstated in the WPS QA tests:
ANALCICS ANALMONI ANALPRNT ANALSMF
-WPS 2.3.5 does not support SAS "NAMED INPUT" syntax, used
in TYPESVC Open Systems DS8000 Disk SAN Volume Controller
support. The NAMED INPUT syntax has always been in SAS:
INPUT FIELD1= FIELD2= ;
and is used to read data records that have
field1=value1 field2=value2
but it wasn't needed in MXG until this pseudo-XML data
file was supported last November.
-WPS 2.3.5 does not support the EOV= option on the INFILE
statement, newly needed for Change 27.111 to support read
of multiple TMC libraries in TYPETMS5.
-WPS 2.3.5, like 2.2, doesn't support OPTION VALIDVARNAME.
Change 25.025 removed VALIDVARNAME=V7 from WPS CONFIGW2,
because the V7 function, to permit long variable names,
was the default in WPS. But now, in MXG's UTILXRF1, used
to create the DOCVER documentation, I needed to set SAS
option VALIDVARNAME=UPCASE so the variable names out of
the PROC CONTENTS were upper case, which causes WPS 2.3.5
to fail with
ERROR: System option "VALIDVARNAME" is not known.
-WPS 2.3.5 doesn't support TRANSCODE attribute in the
DICTIONARY.COLUMNS dataset, used only in UTILXRF1 to
create the DOCVER documentation. The TRANSCODE attribute
is new in MXG and only exists in SAS v9, so MXG did not
execute the &MXGNOTRA when under WPS due to the SASVER=8
that is set when MXG executes under WPS, but this usage
is now also circumvented so the rest of the UTILXRF1 can
be tested under WPS.
-WPS 2.3.5 SASAUTOS library has no members, which caused a
minor WARNING: SASAUTOS IS NOT ASSIGNED. VMXGINIT issues
LIBNAME SASAUTOS LIST; to list the concatenates, but that
statement is now conditionally not-executed with WPS to
eliminate that harmless WARNING message on the log.
With SAS, the SASAUTOS library is required because %TRIM
is delivered as a source-code %MACRO in the SASAUTOS PDS,
but WPS implemented %TRIM internally, so MXG doesn't need
to point to SASAUTOS FILENAME under WPS.
NOTE: While FILENAME SASAUTOS is NOT required with WPS,
MXG under WPS still requires the
OPTIONS MAUTOSOURCE SASAUTOS=SOURCLIB;
executed in VMXGINIT, so that WPS will look in
//SOURCLIB to resolve all %MACRO references.
So all references to SASAUTOS FILENAME in the MXGWPSV2
JCL Procedure example and in the AUTOEXEW ASCII autoexec
file were removed. Just for documentation, the WPS .CFG
file has the default -SASAUTOS \&wpsroot\macros.
-The COUNTW() function, added to TYPENMON in Change 27.080
only exists with SAS V9, so TYPENMON failed with either
SAS V8.2 or WPS 2.3.5. NMON code was modified to only
use COUNTW() if under V9; a DO LOOP to count the commas
is used when not under SAS V9; same change in TYPELSAR.
-New dataset names "WORK._temp1559410888854220" structure
are created internally by PROC TRANSPOSE.
-Circumvented in READDB2. WPS %Macro Compiler does not
resolve triple-percent-signs the same way that SAS does,
which caused WPS to die with a compiler error in READDB2.
but, all READDB2 %%% and %% tokens are end-delimiters for
old-style-macro-definitions, and, most fortunately, they
are no longer required (the problem they circumvented was
fixed in SAS long ago), so they could be replaced with a
single percent sign in READDB2. (There are still cases
when %%% is required in other MXG members, often before
an embedded %INCLUDE statement, but WPS handles those
without error.)
-Fixed in WPS Build 12169:
WPS 2.3.5 failed when a FILENAME with concatenated input
files was read; the RECFM/LRECL on the FILENAME statement
was not honored and a STOPOVER resulted when the system
default of V/256 was used for F/340 data. This WPS error
when files are concatenated is fixed in WPS Build 12169.
-Run Time Comparisons on Windows, zero observations input:
MXG QA's first 36 "steps" create all 4700 MXG datasets in
the LIBNAME VERSvvrr, and run times were comparable, with
SAS V9.2 taking 10 min and WPS 2.3.5 taking 13 minutes.
But Step 47 TESTANAL, took over 80 Minutes (vs 2 for SAS)
due to a WPS error in its PROC SQL, BUT, an error that is
ONLY likely to occur in MXG's QA tests. MXG's %VGETOBS is
invoked frequently in ANALxxxx examples, to test if a
dataset exists and if it has observations, and it uses
PROC SQL: SELECT FROM DICTIONARY.TABLES
WHERE LIBNAME= MEMNAME=;
The (internal) DICTIONARY.TABLES dataset has one obs for
each dataset in each LIBNAME. The MXG QA TESTANAL step
allocates the 37 different LIBNAMES (PDB, WEEK1-WEEK5,
MONTH1-MONTH5, etc) that may needed by ANALxxxx programs
to that VERSvvrr directory with its 4700 datasets. So,
there are 37*4,700=173,900 datasets in DICTIONARY.TABLES,
which overwhelms the defective WPS PROC SQL; each execute
takes over 90 SECONDS of CPU and Elapsed time. WPS has
identified their PROC SQL error and it will eventually be
fixed.
In addition to the long run time of the QA job due to the
PROC SQL error, the QAWPSXX job has never completed. It
gets to the TESTANAL code, and then in ANAL115 it just
hangs, continuing to execute, using CPU time, but with no
further log messages, and the last message was a %VGETOBS
PROC SQL execution. Skipping ANAL115 allowed the TESTANAL
to get to ANALDB2R before it again hung, and again that
last message was a PROC SQL execution. But since each of
the ANALxxxx programs execute standalone, this too is an
error unlikely to occur outside the MXG QA test runs.
II. Z/OS Specific Tests, unresolved as of July 4, 2009:
-The Large ARRAY(256,512) problem in VMXGGETM that was
fixed in WPS 2.3.4 (WPS Error #6276, Change 26.258)
has shown up again in WPS 2.3.5. UTILGETM is only used
in the MXG Test Jobs, to create a small SMF file with
a few records of each type and subtype, so this is not a
fatal error for normal execution.
-In the QA job only, after many data steps were run and
many datasteps had been written to the PDB library, the
BUILDPD3 step job failed with "PDB LIBRARY CORRUPTED"
error message. However, since the BUILDPD3 program runs
fine when outside of the QA job, this is most likely an
issue with WPS "PROC SQL".
III. Miscellaneous
-The //LOGCFG DD is no longer used by WPS, so it is now
removed from MXGWPSV2 JCL Procedure example.
Change 27.109 QA COMPALL program found character to numeric conversion
VMACLDMS for not-kept-variable SEGMENT in VMACICE and VMACXPTR and
VMACXPTR for not-kept-variable LDMSTYPE in VMACLDMS, both fixed.
May 29, 2009 The COMPALL program compiles ALL of the MXG code members
that read SMF records, in a single (MASSIVE) DATA step to
create 1907 datasets, all with zero observations because
the INFILE SMF is a zero-length or DD DUMMY file.
So COMPALL is also a good SAS compiler stress test.
Last year, Change 26.217 compared COMPALL with SAS 9.1.3
and WPS 2.2, but the z/OS comparison was wrong.
Now with MXG 27.04, which creates 1907 datasets and more
variables, and now using WPS 2.3.5, SAS 9.2 and SAS 9.1.3
these comparisons are observed:
Compiler Platform Run Time Memory Required
SAS 9.2 Win/XP 96 seconds 1185 MB
SAS 9.1.3 Win/XP 86 seconds 1158 MB
WPS 2.3.5 Win/XP 101 seconds not reported
SAS 9.2 z/OS 7 minutes 1210 MB
SAS 9.1.3 z/OS 12 minutes 1194 MB
WPS 2.3.5 z/OS 17 minutes 1037 MB
Enabling the full diagnostic options to print all source
only increased the SAS V9.2 WIN/XP run time by 6 seconds.
Change 27.108 &NULLPDS, &LOAD, &SASAUTOS JCL Symbolics in MXG JCL Proc
MXGSAS examples are removed. They were never required, rarely
MXGSAS92 used, and then, only in ancient releases of SAS. And now
MXGSASV9 have caused JCL errors when very old and more recent JCL
MXGSASV8 procs are used in the same job. such as this error:
May 27, 2009 IEC143I 213-04,IFG0194D,M577FPA1,SASMXG,STEPLIB
MXGWPSV2 Their only purpose was to override the //STEPLIB or the
JCLQAWPS //SASAUTOS DD statements, which can easily be done in the
Jun 1, 2009 JOB's JCL, with no exposure to the &NULLPDS DISP issues.
(See CHANGESS for the many NULLPDS historical hits!)
-JCLQAWPS moved LIBRARY to be before SOURCLIB so its JCL
overrides matched the order in MXGWPSV2.
Thanks to Stuart Wildey, Morgan Stanley, USA.
Thanks to MP Welch, SPRINT, USA.
====== Changes thru 27.107 were in MXG 27.04 dated May 27, 2009========
Change 27.107 Support for BMC's IMF 4.4 (COMPATIBLE) added some new
VMACCIMS variables and some variables MXG had overlooked.
May 26, 2009 These new variables are now created in IMFTRAN:
Jun 2, 2009 CPUTRNX ='CPU AFTER*TRN STOP SET'
TRNOTCLP='IMS*CONNECT*CLIEN*PORT NUMBER'
TRNMQMID='MQS*MESSAGE*ID'
TRNCVTTZ='TRNCVTTZ*GMT*TIME ZONE*OFFSET'
TRNCAPPL='CICS*APPLID'
TRNFALSC='FALSE*SCHEDULES'
TRNTFLAG='COPY OF*RATTFLAG*DET TRACE'
TRNFALST='FALSE*SCHEDULE*ELAPSED*TIME'
This change has only been tested with 4.3 records.
Jun 2: TRNxxxxx fields wrong; Trace Table +80 vs +72
BMC APAR BAI9444 documents that the IMF Transaction CPU
time can exceed the transaction elapsed time, because the
APAR BAI9312 excluded the "stopped term thread activity"
time from being included in transaction elapsed time, by
setting the transaction stop time upon completion of the
Get Unique, regardless of whether it returned another
message. When it doesn't return another message, the
region goes through term thread, and the CPU used by the
terminate thread can cause the total transaction cpu to
exceed transaction elapsed time, since the transaction
stop time is set before term thread. BAI9444 modified the
IMEUTMR7 timing routine to separately record any CPU time
calculated after transaction stop time, in a new fields
named TRNXCPU, which MXG outputs in new variable CPUTRNX,
so you can identify that is the cause of CPU time greater
than elapsed time in IMS.
Change 27.106 Support for z/OS 1.10 storage metrics in SMF 119 create
VMAC119 these four new subtype=5 variables in TY11905 dataset:
May 25, 2009 TS6CEALO='CURRENT*ECSA*STORAGE*ALLOCATED'
May 28, 2009 TS6CENIU='CURRENT*ECSA*ALOC BUT*NOT INUSE'
TS6CPALO='CURRENT*AUTH PRIVATE*ALLOCATED'
TS6CPNIU='CURRENT*AUTH PRIVATE*NOT IN USE'
May 28: The four INPUT statements are &PIB.8., not 4.
Thanks to Stan Dylnicki, Royal Bank of Canada, CANDADA
Thanks to Aylin Kavas, Royal Bank of Canada, CANDADA
Change 27.105A-PDB.TYP70 variables with "CPU" in their name or label are
DOC supposed to contain only metrics for the "CP" engines.
May 24, 2009 Separate variables, with "ZIP" or "IFA" in their name or
their label, contain the metrics for zIIPs and zAAP/IFAs.
Those three types of engines require separate capacity
analysis (and even have different capture ratios in MXG's
RMFINTRV dataset).
And PDB.TYPE70 variable CPUPATTM contains the Parked Time
for (only) the "CP" engines.
However, the 64 individual-engine Parked Time is stored
in 64 variables named CPUPATM0-9,A,B.... So you could
have zero CPUPATTM in this MVS System, but CPUPATM4 could
be non-zero, if your 4th engine is a zIIP, for example.
-PDB.TYPE70 variable CPUWAInn for nnth engine's LPAR Wait
is variable NEWWAIT in PDB.TYPE70PR for that engine, and
the variable MVSWAInn for the nnth engine's MVS Wait is
variable ORIGWAIT in PDB.TYPE70PR; variable ORIGWAIT and
SMF70WST are very close in PDB.TYPE70PR, but SMF70WST is
smaller by as much as a half second in 15 minutes.
Change 27.105 The ACF2VR dataset is enhanced with new ACFMTYPE variable
FORMATS that is formatted by new $MGACFTY format to decode the
VMACACF2 combination of the 2nd-4th bytes of ACVMFRES and the HEX
May 21, 2009 value of ACVMFLGS NI (LOGICAL AND'ed) with '3E'x. These
new values are primarily for DB2 activity identification.
Thanks to Jake Phillips, Lowe's Companies, USA.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Thanks to David Pflum, CA, USA.
Change 27.104 The BVIR TS7700 HYDRA data contains GMT values for all of
VMACBVIR its timestamps, SMFTIME, STARTIME, ENDTIME, and VERTIME,
May 24, 2009 whether the data is in History File or SMF File format,
Jun 1, 2009 but there is no field with the GMT Offset time, so you
must tell MXG your GMT Offset value, with this syntax
%LET MACKEEP= MACRO _BVIRGMT -18000 % ;
if you want those datetimes on your local time zone.
For USA sites, the value is negative, -18000 for EST at
5 hours, -14400 for EDT at 4 hours behind GMT, etc.
You set that GMT offset value using:
- SMF-FORMAT BVIR DATA:
// EXEC MXGSASV9
//SMF DD DSN=BVIR.SMF.FORMAT,DISP=SHR
//PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....
%LET MACKEEP= MACRO _BVIRGMT -18000 % ;
%INCLUDE SOURCLIB(TYPSBVIR);
or
- HISTORY-FORMAT BVIR DATA:
// EXEC MXGSASV9
//BVIRHIST DD DSN=BVIR.HISTORY.FORMAT,DISP=SHR
//PDB DD DSN=BVIR.PDB.LIBRARY,DISP=(,CATLG),....
%LET MACKEEP= MACRO _BVIRGMT -18000 % ;
%INCLUDE SOURCLIB(TYPSBVIH);
Labels were revised Jun 1.
Thanks to Perry Lim, Union Bank, USA.
Change 27.103 New INTERVAL values of THREEMIN and TWOMIN are created,
VMXGDUR and they can be used in any MXG INTERVAL= parameter in
May 21, 2009 ALL ANALxxxx/ASUMxxxx/TRNDxxxx/RMFINTRV invocations.
Thanks to Jacob Nudel, Thomson Reuters, USA.
Change 27.102 PARTNCPU and other variables in PDB.ASUM70PR could be
VMXG70PR missing values if the last LPARNAME in this sort order
May 20, 2009 BY CECSER SYSPLEX SYSTEM SYSNAME SMF70GIE GMTOFFTM
LPARNUM LPARNAME;
was for a non-z/OS LPAR, as the "CP-engine" variables
are missing values in non-CP-engine LPARS. This could
only occur with recent ASUM70PR enhancements in 27.02+
that added non-CP-engine LPARS to PDB.ASUM70PR dataset.
This case had a z/VM LPAR with only IFLs as last LPAR.
By changing sort order to GMTOFFTM DESCENDING LPARNUM,
the LAST LPAR for every interval will be LPARNUM=0,
LPARNAME='PHYSICAL' LPAR, which always has the variables.
Thanks to Paul Naddeo, FISERV, USA.
Change 27.101 -PRISMA log record could have colon or period delimiters
VMACPRPR in DATE or TIME character fields, so MXG had two separate
May 20, 2009 links for conversion, but four combinations could exist,
Jun 2, 2009 causing missing values in STARTIME and ENDTIME. But only
Jun 22, 2009 one conversion is needed, by using '.:' in the SCAN() to
decode with whichever delimiter is present.
-Variable COPY was not kept in PRPR1620 dataset.
-Jun 19: JOBNAME increased to $128 as it can contain more
text. Fortunately, since PRISMA code is executed
standalone, with only the PRISMA log file read, this ONLY
impacts the length of JOBNAME in the PRISMA datasets.
-Variables COPY, UNKNOWN, PRINTCNT, MEDIANUM, OFFSETS in
PRPR1620 are read in that order to correct values.
Thanks to Nik Marien, KBC Global Services NV, BELGIUM.
Change 27.100 -MXG "trashed" dataset ZRBLCP in RMF III from z/OS 1.10
VMACRMFV because MXG (in a rare case) didn't use the triplet for
May 20, 2009 offset/length for the INPUT of the CPC Logical Processor
May 25, 2009 Section (DSECT ERBCPCDB). 24 bytes inserted after the NR
of LCPUs, and 8 bytes added to each LCPUADDR segment with
CPUG3 Version=5 and CPCDB Version=4 are now properly read
using the triplet, which will also protect for future IBM
changes, transparently, without trashed output data.
-IBM RMF III Support provided doc of the new LCPUADDR data
fields, in those extra bytes, now these new variables
LCPUPRMN='PROC*MIN*WEIGHT'
LCPUPRMX='PROC*INI*WEIGHT'
LCPUPOLW='POLAR*WEIGHT'
in the ZRBLCP dataset.
-But in validating this correction, I saw that there were
observations for each LCPUADDR, including offline engines
and LCPUADDR that were NEVER dispatched during each one
minute interval, a waste of disk space, so the logic now
only outputs ZRBLCP observations if LCPUPDTM dispatch is
non-zero (but that could be overridden in MACRO _EZRBLCP
if you really want all the zero dispatch intervals to be
created).
Thanks to David Lo, Bank of America, USA.
Thanks to Betty Wong, Bank of America, USA.
Change 27.099 -The optional Omegamon DB2 segment for CICS/TS 3.2 or 4.1
IMACICOB had correct counts but the durations were way too small.
May 20, 2009 They were divided by 4096 instead of multiplied by 16 in
Change 25.238, when a new block of code for CICS/TS 3.2+,
for SMFPSRVR GE 65.0 used the /4096 conversion, expecting
a TODSTAMP value, instead of the old *16 conversion for
16 microsecond values. I must have misread the DSECT.
The new block with /4096, and the tests for SMFPSRVR are
now all removed, and there is a single code block for all
CICS versions.
-The 100-byte segment always exists when enabled, but its
internal length is zero if the transaction did not call
DB2, so the MXG logic now only INPUTs those 24 fields if
that length is non-zero (so those variables will have a
missing value in non-DB2 transactions, instead of all
having values of zero).
Thanks to Jim Polenti, Edward Jones, USA.
Thanks to Jeana M. Bechtel, Edward Jones, USA.
Change 27.098 -Typos in BLDSMPDB for WAS were corrected in BLDSMPDB
BLDSMPDB the statement weekkeep=&wek2kep.
VMXGALOC was changed to weekkeep=&wek2keep,
May 19, 2009 and after line 437, this statement was inserted
dayskeep=&day2keep,
-In VMXGALOC, the %GLOBAL was removed as superfluous;
the variables are being set by a SYMPUT which is an
implicit GLOBAL. This removed spurious messages on the
SAS log, messages that were different when MXG was run
in a Window versus run in Batch.
Thanks to Gary Havlatka, Creative Automation, USA.
Change 27.097 -PDB.DB2STATS now has ALL DB2 STATISTICS interval data.
READDB2 DB2 V9 DB2STAT0, DB2STAT1, DB2GBPST, DB2STAT4 (IFCID 225)
VGETOBS are merged to create PDB.DB2STATS, and for DB2 V8, the
VMACDB2 DB2STAT0, DB2STAT1, T102S225 are merged in PDB.DB2STATS.
May 24, 2009 -All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are
Jun 25, 2009 automatically merged into the PDB.DB2STATS dataset.
-All variables (QW0225xx) from T102S225 (DB2 V8) can be
merged into the PDB.DB2STATS dataset, but you may have to
make some updates, if you don't use %READDB2, below.
-READDB2 always creates DB2STAT4 with IFCIDS=STATISTICS.
-READDB2 only creates T102S225 if IFCIDS=225 .... is used.
-READDB2 updates PDB.DB2STATS with DB2STAT4 if STATISTICS
is specified. If IFCID 225 is also specified, then the
T102S225 is also updated into PDB.DB2STATS.
-If you use BUILDPDB, TYPEDB2, TYPSDB2 instead of READDB2:
-All variables (QW0225xx) from DB2STATS4 (DB2 V9+) are
automatically merged into the PDB.DB2STATS dataset.
-All variables (QW0225xx) from T102S225 (DB2 V8) can be
merged into the PDB.DB2STATS dataset, but you have to
tell MXG you have V8 data to be added; see below.
-You should use PDB.DB2STATS for all statistics reports,
replacing use of DB2STAT0, DB2STAT1, DB2STAT4, DB2GBPST,
and T102S225 in your DB2 reports.
More details:
-DB2 V9 DB2STAT4 (optional IFCID=225, ID=100, subtype=2)
and DB2 V9 DB2GBPST (100 subtype 1 QBGL) variables are
now merged to expand existing PDB.DB2STATS dataset to
contain all variables for each interval for each DB2
Subsystem, i.e., all possible variables from the DB2
ID=100 Subtype 0, 1, or 4 SMF records. DB2STAT4 vars are
added by %INCLUDEs of TYPEDB2, TYPSDB2, or BUILDPDB, or
by using %READDB2(IFCIDS=STATISTICS) program for V9.
-DB2 V8 writes IFCID=225 as an SMF 102 subtype 225 Trace
record, and MXG creates the T102S225 dataset for V8, but
it has the same variables as the V9 DB2STAT4, so DB2 V8
IFCID=225 variables can also be added into PDB.DB2STATS:
-%READDB2(IFCIDS=STATISTICS 225,PDBOUT=PDB) will create
both T102S225 and DB2STAT4 and merge each to expand
and populate the PDB.DB2STATS dataset with both V8 and
V9 IFCID=225 variables.
-To add V8 IFCID=225 processing to BUILDPDB, and to add
those variables to PDB.DB2STATS, you need to EDIT
these statements into these MXG exit members into your
"USERID.SOURCLIB" tailoring PDS library/directory:
EXPDBINC:
%INCLUDE SOURCLIB(VMAC102);
EXPDBVAR:
MACRO _VARUSER _V102225 %
EXPDBCDE:
MACRO _CDEUSER _HDR102 _C102225 _END102 %
EXPDBOUT:
_SDB2STY
-If you instead use these other ways to create T102S225
dataset for DB2 V8, depending on how you created it:
if created by old-style macro macro variable
TYPE102 _W102225 &W102225
TYPS102 _L102225 &P102225
%READDB2 _W102225 &W102225
%READDB2(PDBOUT) n/a &PDBOUT
EXPDBOUT PDB PDB
then you have to use %LET to set the DDNAME of your
T102S225 dataset's library, and then insert the new
_SDB2STY macro token in your source program, after you
have created PDB.DB2STATS and PDB.T102S225, e.g.:
%LET PDB2STY=PDB;
_SDB2STY;
RUN;
-READDB2 in MXG 27.02-27.03, when ONLY the IFCIDS=225 was
requested, caused a 10-fold increase in CPU time if there
were lots of other DB2 records, because READDB2 in those
versions (incorrectly) created all of the other DB2ACCTx
and DB2STATx datasets when only T102S225 was desired.
lots of unwanted ID=101 records. Now, only T102S225 is
created if only IFCIDS=225 is specified.
-All executions of READDB2 should be faster; all non-DB2
SMF records are immediately skipped as soon as the SMF ID
is read; previously, all DB2 Product Headers were read
before record selection/skipping was done.
-PROC COPY IN=WORK OUT=&PDBOUT was incorrectly run (copy
each DATASET to the &PDBOUT libname) when &PBOUT=YES,
was specified, causing LIBNAME YES NOT FOUND. Now, the
PROC COPY is bypassed if PDBOUT=YES.
-VGETOBS was enhanced with new NOEXIMSG=NO argument that
bypasses printing of the DATASET DOES NOT EXIST message
and the DATASET HAS nnn OBSERVATIONS message, useful when
VGETOBS is used only to detect that a dataset exists.
-These new variables, based on IBM MEMU2 report example:
are created in PDB.DB2STATS from the DB2STAT4/T102S225:
CUSHION = QW0225SO+QW0225MV+QW0225CR;
NDB2STOR= QW0225EH-QW0225GM-QW0225GS-QW0225FX-QW0225VR
ALLOWSTR= QW0225RG-CUSHION-NDB2STOR;
THRDUSE = QW0225RG-CUSHION-NDB2STOR-QW0225GM
-QW0225AS-QW0225FX-QW0225EL;
THRDFTPT= (QW0225VR-QW0225AS+QW0225GS) /
(QW0225AT+QDSTCNAT);
MAXTHRDS= THRDUSE / THRDFTPT;
TOTTHRDS= QW0225AT+QDSTCNAT;
OVERALLO= MAXTHRDS - TOTTHRDS;
CUSHION ='CUSHION*WARNING'
NDB2STOR='TOTAL*DBM1*STORAGE'
ALLOWSTR='ALLOWABLE*STORAGE'
THRDUSE ='THREAD*STORAGE*USED'
THRDFTPT='THREAD*STORAGE*PER THREAD'
MAXTHRDS='MAXIMUM*THREADS'
TOTTHRDS='TOTAL*THREADS'
OVERALLO='OVER*ALLOCATED*THREADS'
Thanks to Ray Dunn, CIGNA, USA.
Thanks to Deborah L. Soricelli, CIGNA, USA.
Change 27.096 There is a new "MEM" object with 15 new variables:
VMACNMON MEMTOTAL HIGHTOTAL LOWTOTAL SWAPTOTAL MEMFREE
May 18, 2009 HIGHFREE LOWFREE SWAPFREE MEMSHARED CACHED
BIGFREE BUFFERS SWAPCACHED INACTIVE ACTIVE
instead of the non-overlapping 5 memory variables that
were in previous NMON MEM Object records.
The order of the two LOW/HIGH sets in these new fields
is clearly mis-documented in the "MEM" Header record;
the LOW value precedes the HIGH value, so MXG's code now
matches the actual data rather than the documentation.
-Labels for variables REALFREE & VIRTFREE didn't include
"PERCENT". Those memory percentages are calculated as
REALFREE=100*REMBFREE/REMBTOTL;
VIRTFREE=100*VIMBFREE/VIMBTOTL;
-Both sets of memory variables are kept in NMONINTV.
-"NMON", "Nigel's Monitor", is now delivered as part of
TOPAS in AIX 5.3/6.1 or VIRTUAL I/O SERVER VIOS 2.1.
Thanks to Tom Draeger, Aurora Health Care, USA.
Change 27.095 The TRND23 member had not been updated to use the macro
TRND23 variables TRENDOLD TRENDNEW TRENDINP, which optionally
May 17, 2009 set the libnames for new, old and input trend libraries,
and old macro names expected the week input in the "PDB"
libname, when it should have used "WEEK" to match the
other TRND Trending members.
Thanks to Paul Gillis, Pacific Systems Management Pty. Ltd, AUSTRALIA
Change 27.094 A REALLY invalid SMF 30 Subtype 1 INPUT EXCEEDED RECORD
IMACACCT error had NRACCT=127 and LENACCT=400, impossible values,
May 14, 2009 and there was only trash at the OFFACCT location. MXG
only decodes 9 ACCOUNTn fields, printing a message for
the 10th, but IMACACCT did not protect for this much
of invalidity. Now, it stops reading the ACCT fields
when the 10th is encountered, with enhanced diagnostics.
Thanks to Barbara Nitz, Deutsche-Boerse, GERMANY.
Change 27.093 Variable JESNR in TYPETPMX datasets was only 5-digits but
VMACTPMX JESNR can now be up to seven digits. The VMXGJESN member
May 13, 2009 is now %INCLUDEd after JCTJOBID has been input, and the
Mar 20, 2012 JESNR is now created from JCTJOBID rather than just input
of the last five digits.
Mar 2012: Maximum JESNR is 999,999 because the first of
seven digits is always a zero.
Thanks to Paul Volpi, UHC, USA.
Thanks to James D. Lieser, UHC, USA.
Change 27.092 -VMXGOPTR errored with SAS V8.2 or V9.2 in different ways:
VMXGOPTR -ONLY under SAS V8.2, MXG 27.03 caused BUILDPDB errors in
VMXGSUM the VMXGSUM invocation for SUMSTATB with error messages
May 14, 2009 MXGNOTE: VMXGSUM FROM MXG 27.03 INVOKED BY SUMSTATB
May 18, 2009 ERROR: OVERFLOW HAS OCCURRED; EVALUATION IS TERMINATED.
May 22, 2009 ERROR: THE MACRO VMXGOPTR WILL STOP EXECUTING.
This error is ONLY in the SAS V8 %Macro compiler, and is
circumventable; the problem is that V8 %Macro compiler
is not terminating strings at the equal sign as expected,
but by wrapping the strings in double-quotes, to make it
a character compare rather than an evaluated comparison
circumvented the compiler error.
There is also an associated change between V8 and
V9 in the limit to the value of a numeric compare in the
macro language from 2**32 in V8 to 2**64 in V9, causing
the compare to work accidentally in V9 but not in V8.
The one statement in VMXGOPTR that caused SAS V8 to fail
IF "&STRING"="123456789123456789" %THEN ....
was corrected, so this part of MXG continues to execute
with SAS V8.2, BUT USING V9 IS MUCH BETTER AND SAFER!
-Enroute to isolating the actual error, we investigated
VMXGSUM for long-length-macro-text, a known past problem
with the SAS Macro Language, and did reduce the length of
some macro variables in the updated VMXGSUM, but it was
not the cause of the OVERFLOW.
This simple test isolated the V8-only compiler error:
%MACRO TESTCASE;
%LET STRING=12345678912345689;
%IF &STRING=12345678912345689 %THEN %PUT TEST FAILED;
%MEND TESTCASE;
%TESTCASE;
When executed on SAS V9, "TEST FAILED" was printed. when
run under SAS V8.2, the OVERFLOW occurred.
-Since V8.2 is ancient, I won't ask SAS Institute to spend
their time fixing the %Macro compiler error, with what
appears to be a complete circumvention. Chuck and I spent
a great deal of time chasing this V8-ONLY error, just so
those of you that are still limping along on ancient V8,
and knowing that you do need V9 (but just can't find time
to install it) can still get the full benefits of all of
the new features and enhancements in the current MXG.
-ONLY user SAS V9.2, just to get even, its macro compiler
found invalid syntax of %THEN %THEN in VMXGOPTR, when it
was called from deep within READDB2, causing V9.2 error
message NO MATCHING %IF FOR %THEN.
SAS V9.1.3 didn't burp with that same invalid syntax!
Thanks to Francois Chable, DTF/DESI, FRANCE.
Thanks to Hai Dang, DTF/DESI, FRANCE.
Thanks to Winnie Peng, Hawaii Medical Service Association, USA.
Change 27.091 ASG TMON/CICS variables WTSCWTTM and WTSCWTCN were input
VMACTMO2 reversed, with the counts in the time field (but divided
May 13, 2009 by 1 million!) and the time in the count filed (and NOT
divided as it should be), in three separate INPUTs.
Thanks to Shantha Hallett, Capgemini UK, ENGLAND
Change 27.090 Became Change 27.097.
Change 27.089 -The dataset TYPE72DL delay counters R723RW01-R723RW15 are
VMAC7072 now described by new variables R723RN01-R723RN15, from
May 11, 2009 the Resource Delay Type Names Section added in z/OS 1.10
to the SMF 72 Subtype 3 record. There is a separate Name
Section for each of subsystems (DB2,CICS,IMS,SMS,etc.)
that capture delay samples, so each can have a different
description of each of its fifteen delay counters.
-The _BTY72DL "BY list" sort order that removes dupes was
revised by adding RPRTCLAS as the penultimate variable, a
protection required ONLY if you have (unwisely) used the
same name for a Service Class and for a Reporting Class.
The R723RN01 Name fields have not been tested with data;
thus far, all test files have R723RDNN=0.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 27.088 Support for TS7700/BVIR Microcode 1.5.
FORMATS -Format $MGBVIDC added x23 3592 Model E05 x24 Model E06.
VMACBVIR x23='x23:3592 Model E05 (Encrypted)
May 6, 2009 x24='x24:3592 Model E06.
-New DLIBSEQN, Distributed Library Sequence Number is
added to all datasets; while documented as EBCDIC, the
same protective algorithm for GLIBSEQN in Change 27.077
is used for DLIBSEQN in case it really is also ASCII.
-BVIR10 new variable DEFTHRTL
-BVIR30 new variables:
PCTWDFTH AVGDEFTH BASEDFTH PRMIGTTH UNMIGD00
AWAITR00 UNMIGD01 AWAITR01
-BVIR33 new variables:
G1MLCTA1-G1MLCTA4 G1ALCTA1-G1ALCTA4 G2MLCTA1-G2MLCTA4
G2ALCTA1-G2ALCTA4 G3MLCTA1-G3MLCTA4 G3ALCTA1-G3ALCTA4
G4MLCTA1-G4MLCTA4 G4ALCTA1-G4ALCTA4 G5MLCTA1-G5MLCTA4
G5ALCTA1-G5ALCTA4 G6MLCTA1-G6MLCTA4 G6ALCTA1-G6ALCTA4
G7MLCTA1-G7MLCTA4 G7ALCTA1-G7ALCTA4 G8MLCTA1-G8MLCTA4
G8ALCTA1-G8ALCTA4
Thanks to Jens Mohring, HUK-COBURG, GERMANY.
Thanks to Markus Bansemir, HUK-COBURG, GERMANY.
Change 27.087 -NMONBBBP dataset contained blank values for many BBBPnnn
VMACNMON variables; the OUTPUT logic was relocated and revised.
May 5, 2009 -Variable BBBP029='ENTITLED*CAPACITY' instead had value of
BBBP050='ENTITLED CAPACITY OF POOL'. The values are
corrected, and several BBBPnnn labels were revised.
Thanks to Silvio Ferrari, Banca Carige S.p.a., ITALY.
Thanks to Franco Tonelli, Banca Carige S.p.a., ITALY.
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 27.086 -DB2STATS variables QISEKPGE, QISESPGE, QISESFRE, QISESKCT
VMACDB2 QISESKPT and QISEKFRE aren't accumulated fields, but they
May 5, 2009 were deaccumulated; variables QISEKTA and QISECTA were
also deaccumulated, and probably also shouldn't have been
but all test values are zeros for those two variables, so
they have not been validated. All eight variables are no
longer deaccumulated.
-Variable QISESPGE has a default value of 524287 pages
(2GB) that is set by a "hidden" zparm value of "SPRMABVC"
in DSN6SPRC, but IBM STRONGLY RECOMMENDS THAT YOU DO NOT
CHANGE THAT DEFAULT VALUE UNTIL/UNLESS DB2 L2 determines
there is a storage problem.
Thanks to John Shuck, Suntrust, USA.
Change 27.085 Omegamon ONDV datasets created from subtype 203 had blank
VMACOMCI values for the "xTRAN" variable because MXG did not INPUT
May 8, 2009 these three variables from the header: OMCIJOB, OMGAPPL,
and OMSAPPL. Now, all are kept in the OMCI-203 datasets:
OMCIADA OMCIADAT OMCIDLI OMCIDLIT OMCIDTCO
OMCIDTCT OMCIIDMS OMCIIDMT OMCISUPR OMCISUPT
OMCIVSAM OMCIVSAT
Thanks to Richard Schwartz, State Street Bank, USA.
Change 27.084 First MXG 27.03 had two members revised:
VGETDDS -The enhanced VGETDDS wasn't, having not been tested with
VMACIMSA all options; a missing %END and non-defined GOOVOO were
May 5, 2009 added (but that's why I didn't list VGETDDs in the list
May 12, 2009 of Major Enhancements, since it was still in testing, and
May 20, 2009 is not exactly mainstream!).
Additional cleanup of MXGWARN versus MXGERROR, protection
for START END, etc., were added.
-VMACIMSA addition of the new IMS45x statistics records
didn't have the new ST* variables in a FORMAT statement;
this was missed in QA because the same variables were in
a FORMAT statement in VMACIMS.
====== Changes thru 27.083 were in MXG 27.03 dated May 4, 2009========
Change 27.083 -VGETDDS reads "logically concatenated" PDB libraries with
VGETDDS DDnames "starting with", e.g. (PDB1 PDB2 PDB3....) to
May 2, 2009 select a SAS dataset (e.g. JOBS) from all of those PDBs.
You control which data libraries are read in your JCL,
without modifying your program, using VGETDDS & VMXGSET.
-This change enhances VGETDDS to allow dynamic allocation
of DSNAMEs that are GDGs, or of DSNAMES with embedded
DATEs.
-Extensive comments and examples describe how to read a
SAS dataset from multiple data libraries in a single
"SET" statement that doesn't require separate DDs in your
JCL.
Thanks to Brian A. Harvey, HCL America, USA.
Change 27.082 Support for DCOLLECT's z/OS 1.10 change to DCDOVERA, now
VMACDCOL defined as a 32-bit unsigned number, previously defined
Apr 30, 2009 as a 31-bit signed number, requires NO CHANGE to MXG, as
that variable has always (since 1994!) been INPUT with a
INFORMAT of PIB4, which reads all 32 bits. MXG always has
used PIB4 for any variable for which a negative value is
impossible, even when IBM called it a signed value.
(For the miniscule number of variables that actually can
have a negative value, MXG uses IB4 INFORMAT.)
Thanks to Brian A. Harvey, HCL America, USA.
Thanks to Paul Ashford, USAA, USA.
Change 27.081 Support for APAR OA27623 that adds CPU Speed, SM1132SP,
VMAC113 speed in cycles per microsecond, to TYPE113 dataset.
Apr 30, 2009
Change 27.080 -Improved protection for inconsistent NMON data that has
VMACNMON fewer counters in the data records than the number of
Apr 30, 2009 field names in the header record, primarily observed in
May 2, 2009 the DISKxxxx and JFSxxxxx records. The short records were
erratic; most data records had the correct number of data
values, but, interspersed, there were the short records.
-The INPUT statements for each record type are replaced by
an initial INPUT and then the SCAN() function is used to
populate the new WORDS array, so that the NRWORDSIN can
be initially counted, but then the WORDS array is read to
find the last field that is non-blank, and its position
is then NRVALUES, which is used in all comparisons with
the expected number of fields from the header record.
This was because (for example, DISKBUSY) records with 19
header fields, but with only the first 3 populated, were
found, and subsequent data records had 19 fields usually,
but some had only 15 fields, but all of the data records
had only 3 fields populated. The old algorithm deleted
those short data records, but now, if the last non-blank
field locations match, the data record can be decoded and
is now output eliminating COUNTERS ARE DIFFERENT messages
(unless the counts really are different).
-The BBBP record still has to be INPUT rather than scanned
because I couldn't find how to SCAN a comma-delimited
field with double-quotes around embedded comma(s)!
-The COUNTW(FIELD,','); function does NOT correctly count
fields with repeated commas, and it took two invocations
of TRANWRD(WORD,',,',',') to separate all of the commas
to get the correct count of fields.
-The AAA Record DATE value was expected to be a 4-digit
YYYY value, so records with only YY (non-Y2K compliant!)
caused INVALID ARGUMENT TO FUNCTON error message. MXG
now protects NMON for YY in the date field, and the
MONTH argument was protected with an UPCASE() function.
Thanks to Arthur Sy, Depository Trust, USA.
Change 27.079 The Elapsed Time variable in the ORACLE dataset was still
VMACORAC missing; Change 26.099 was apparently lost. Now,
Apr 27, 2009 ELAPSTM=SMFTIME-STARTTS;
Thanks to Bret Hoesly, Telephone and Data Systems, USA.
Change 27.078 Support for IMS Log Record 45X IMS Interval Statistics
ASMIMSL6 creates 24 new datasets from its 22 subtypes:
TYPEIMSA dddddd Dataset Description
TYPSIMFL IMS450 IMS4500 IMS 4500 BEGIN STATISTICS'
TYPSIMS7 IMS452 IMS4502 IMS 4502 QUEUE POOL STATISTIC'
VMACIMS IMS453 IMS4503 IMS 4503 FORMAT BUFFER POOL S'
VMACIMSA IMS454 IMS4504 IMS 4504 DATABASE BUFFER POOL'
VMXGINIT IMS455 IMS4505 IMS 4505 VARIABLE POOL STATIS'
May 4, 2009 IMS456 IMS4506 IMS 4506 SCHEDULING STATISTIC'
IMS457 IMS4507 IMS 4507 LOGGER STATISTICS'
IMS458 IMS4508 IMS 4508 VSAM SUBPOOL STATIST'
IMS459 IMS4509 IMS 4509 PI STATISTICS'
IMS45A IMS450A IMS 450A LATCH STATISTICS'
IMS45C IMS450C IMS 450C CBT STATISTICS'
IMS45D IMS450D IMS 450D RECEIVE ANY BUFFER P'
IMS45E IMS450E IMS 450F FIXED POOL STATISTIC'
IMS45F IMS450F IMS 450F DISPATCHER STATISTIC'
IMS45O IMS450O IMS 450F DISPATCHER TCB STATISTIC'
IMS45P IMS450P IMS 450F DISPATCHER SAP STATISTIC'
IMS45G IMS4510 IMS 4510 RCFT STATISTICS'
IMS45H IMS4511 IMS 4511 STORAGE STATISTICS'
IMS45I IMS4512 IMS 4512 IMODULE STATISTICS'
IMS45J IMS4513 IMS 4513 MSC STATISTICS'
IMS45K IMS4514 IMS 4514 EWLM STATISTICS'
IMS45L IMS4521 IMS 4521 IRLM USERT STATISTIC'
IMS45M IMS4522 IMS 4522 IRLM SYSTEM STATISTI'
IMS45N IMS45FF IMS 45FF END STATISTICS'
The IMS Interval Statistics contain many accumulated
variables, which are deaccululated in the _SIMS45X macro,
which has been added to TYPSIMS7 ("old" log records only)
and to TYPSIMFL (processes IMF/CIMS and the IMS records),
and to TYPEIMSA (part of JCLIMSL6 IMS Log Processing),
but only those variables that were non-zero in my small
test file have been validated. You can use _MEANDBG
after your include of either TYPSxxxx member to run a
PROC MEANS against all of the statistics datasets, and
look for a negative MINIMUM value to identify fields that
are being deaccumulated that should not be.
-TYPSIMFL has been updated with comments and sample JCL to
select only the 0F9x, 0FAx, and 45x log records and to
write the four IMF datasets to separate DDs, writing all
of the new statistics data to the default //PDB DDname.
-ASMIMSL6 (for the JCLIMSL6 MXG IMS Log Processing, used
only if you do NOT have IMF or another IMS monitor) is
updated to also select the 45x records; since they are
interval records, their volume should always be small.
-Note that the default output destination of these new
IMS45xx datasets is the //WORK ddname, just like the
Fastpath and CPIC datasets. You can use
%INCLUDE SOURCLIB(TYPEIMSx);
PROC COPY IN=WORK OUT=whatever MT=DATA;
SELECT IMS45: ;
to copy these new (low volume) datasets to whatever
DD/LIBNAME you want, or you can override individual
datasets with %LET PIMS45z=whatever; before the %INCLUDE.
Note the Pdddddd macro token must be used because of the
de-accumulation that is required.
Thanks to Christa Neven, KBC Global Services, BELGIUM.
Change 27.077 BVIR variable GLIBSEQN was documented as EBCDIC and early
VMACBVIR test data had '00'X values, but new data with ASCII data
Apr 27, 2009 is found, so MXG logic now tests for '00'x, or for EBCDIC
hex values ('81'x-'A9'x,'C1'x-'E9'x,'F0'x-'F1'x) or falls
thru for ASCII to input GLIBSEQN in the correct format.
Thanks to Rob D'Andrea, Royal Bank of Scotland, SCOTLAND.
Thanks to Penny Dudgeon, Royal Bank of Scotland, SCOTLAND.
Change 27.076 Significant enhancements to ASUM70PR summarization of
VMAC7072 TYPE70PR adds support for HiperDispatch by subtracting
VMXG70PR Parked Time SMF70PAT from both Online Time SMF70ONT and
Apr 30, 2009 from Wait Time SMF70WST, AND adds new IFA, IFL, and ZIP
variables to each LPAR to fully support those Specialty
engines (especially IFLs which were not captured in the
previous ASUM70PR implementation), captures the PHYSICAL
LPAR time for each type of Specialty Engine, and adds it
into the CPUIFATM, CPUIFLTM, CPUZIPTM totals in Interval
datasets, calculates the Average Number of Online Engines
for CPs, IFAs, IFLs, and ZIPs, provides counts of the
number of Installed Engines of each type, cleaned up the
inconsistencies in the variable's names and contents,
and documents what variables contain what, below!
It has always been my recommendation that the datasets
created by ASUM70PR should be used for LPAR analysis,
since it avoids you having to understand the complexity
of the raw TYPE70PR dataset; with this enhancement, all
of the information is summarized, and you have four ways
of analysis with the four output datasets created.
-ASUM70PR is enhanced with new variables for IFL LPARs and
consistent contents in the CPUxxxTM total variables, and
the HiperDispatch Parked Time SMF70PAT and Wait SMF70WST
are kept for each LPAR in all four datasets. If SMF70PAT
is non-zero, i.e., engines were parked, the SMF70ONT LPAR
Online Up Time, and the LPAR Wait Time SMF70WST are each
reduced by the Parked Time.
-The datasets ASUM70LP and ASUMCELP contain an observation
for each LPARNAME, with a single set of variable names
for each INTERVAL (that you set in your ASUM70PR member).
-ASUM70LP is created per SYSTEM, with each system's view
of the resources consumed by ALL of the LPARs seen by
that SYSTEM, so there will be replicated/repeated data
for each LPARNAME when you process SMF/RMF data from
multiple systems.
-ASUMCELP is created per CECSER with a single observation
for each LPARNAME for each INTERVAL.
In both of the per-LPARNAME datasets, ASUM70LP/ASUMCELP,
IFL LPARs are measured in these new variable names:
NRIFLCPU='INSTALLED*IFL*ENGINES'
IFLACTTM='IFL*PROCESSORS*CPU*ACTIVE*TIME'
PCTIFLBY='IFL*PERCENT*CPU*BUSY'
IFLCPUS ='IFL*AVERAGE*ONLINE*CPU COUNT'
IFLUPTM ='IFL*PROCESSORS*UP*TIME'
IFLPATTM='IFL*PARKED*PAT*TIME'
IFLWSTTM='IFL*PROCESSORS*WST*TIME'
As these datasets are per-LPARNAME their CPU active time
in variables IFAACTTM, IFLACTTM, and ZIPACTTM, do not
contain the Physical Engine CPU times.
-The datasets ASUM70PR and ASUMCEC contain an observation
for each interval, with a set of variables for the totals
and 60 separate sets of LPnAAAAA variables with resource
usage for each LPARNAME.
-ASUM70PR is created per SYSTEM, with each system's view
of the resources consumed by ALL of the LPARs seen by
that SYSTEM, so it, too, will have replicated/repeated
data when you process data from multiple systems.
-ASUMCEC is created per CECSER with a single observation
for each INTERVAL.
Since ASUM70PR/ASUMCEC are interval summaries across ALL
LPARs, the total-CPU-time variables now consistently
include the Physical LPAR CPU time; previously, only the
CPUACTTM for CP engines included the Physical time.
And the Physical CPU time for each engine type are now
available in ICFPHYTM, IFAPHYTM, IFLPHYTM, and ZIPPHYTM.
Those 60 sets of per-LPAR LPnAAAAA variables have these
new variables for each LPAR's IFA, IFL and ZIP usage:
LPnIFATM='LPAR n*IFA*DISPATCH*TIME'
LPnIFUTM='LPAR n*IFA*UP*TIME'
LPnIFKTM='LPAR n*IFA*PARKED*TIME'
LPnIFWTM='LPAR n*IFA*WST*TIME'
LPnILATM='LPAR n*IFL*DISPATCH*TIME'
LPnILUTM='LPAR n*IFL*UP*TIME'
LPnILKTM='LPAR n*IFL*PARKED*TIME'
LPnILWTM='LPAR n*IFL*WST*TIME'
LP1ZIPTM='LPAR n*ZIP*DISPATCH*TIME'
LP1ZIUTM='LPAR n*ZIP*UP*TIME'
LP1ZIKTM='LPAR n*ZIP*PARKED*TIME'
LP1ZIWTM='LPAR n*ZIP*WST*TIME'
-If you have IFLs, many "Missing Values" messages will be
printed on the SAS log, but they are harmless; IFL LPARs
have missing values for all of the old CP variables.
ASUM70LP/ASUMCELP - Per-LPARNAME Variables
============ Engine Type =============
CP IFA IFL ZIP ICF
Metric:
Installed Engines PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
Avg Online Engines LPARCPUS IFACPUS IFLCPUS ZIPCPUS
CPU Busy Time LCPUPDTM IFAACTTM IFLACTTM ZIPACTTM
Percent CPU Busy PCTLPBY PCTIFABY PCTIFLBY PCTZIPBY
Online Total Time LPARDUR IFAUPTM IFLUPTM ZIPUPTM
Parked Time SMF70PAT IFAPATTM IFLPATTM ZIKPATTM
Wait State Time SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM
ASUM70LP Sorted BY list:
SYSPLEX SYSTEM SYSNAME STARTIME SHIFT CECSER LPARNAME LPARNUM
ASUMCELP Sorted BY list:
CECSER STARTIME SHIFT LPARNAME LPARNUM
ASUM70PR/ASUMCEC - Per-Interval Variables
============ Engine Type =============
CP IFA IFL ZIP ICF
Metric:
Installed Engines PARTNCPU NRIFACPU NRIFLCPU NRZIPCPU NRICFCPU
Avg Online Engines LPARCPUS IFACPUS IFLCPUS ZIPCPUS
CPU Busy Time CPUACTTM CPUIFATM CPUIFLTM CPUZIPTM
Percent CPU Busy PCTLPBY PCTIFABY PCTIFLBY PCTZIPBY
Online Total Time LPARDUR IFAUPTM IFLUPTM ZIPUPTM
Parked Time SMF70PAT IFAPATTM IFLPATTM ZIKPATTM
Wait State Time SMF70WST IFAWSTTM IFLWSTTM ZIPWSTTM
ASUM70PR Sorted BY list:
SYSPLEX SYSTEM &MXGSYSN STARTIME SHIFT CECSER;
ASUMCEC Sorted BY list:
CECSER STARTIME SHIFT;
-PDB.TYPE70PR dataset was also enhanced with the counts
and CPU Active time for all four specialty engines for
each LCPUADDR, with these new or updated variables:
NRICFCPU NRIFACPU NRIFLCPU NRZIPCPU total engines
ICFACTTM IFAACTTM IFLACTTM ZIPACTTM CPU this LCPUADDR
-Validation notes. Using PROC COMPARE can often identify
differences, but comparing across this change can cause
lots of "false positives", especially in the count of the
Specialty Engine NRIFACPU,NRZIPCPU,NRICFCPU,NRIFLCPU as
they sometimes wrong or always missing in prior PDBs.
Small changes are expected in the CPUxxxTM for Specialty
Engines because their PHYxxxTM is now included.
And the xxxUPTM "Uptime" variables are now differently
calculated, as the actual Online Time, rather than the
old values of NRxxxCPU*DURATM.
Thanks to Robert Hamilton, Fifth Third Bank, USA.
Thanks to Zhan Wang, AIG, USA.
Change 27.075 Cosmetic. For Offline LPARS (LPARCPUX=0) these variables
VMAC7072 in PDB.TYPE70PR: LCPUADDR SMF70CIX SMF70ONT NRCIXGT0
Apr 23, 2009 could have non-missing values. Now, all are set missing.
Unchanged, but noted: SMF70CIN is blank when LPARCPUX=0.
Change 27.074 Group Capacity datasets ASUM70GC & ASUM70GL were wrong if
VMXG70PR multiple SYSTEMs data was in TYPE70PR; each SYSTEM has an
Apr 23, 2009 observation with repeated data for each LPARNAME that was
being summed for each Group Name. This change selects a
single system per interval for the revised summation.
It has been observed in the data and in IBM RMF reports
that actual Group MSU used, LPARMSU, can exceed SMF70GMU,
the Maximum License Units of the Group, causing PCTGCUSE,
the Percent of Group Capacity Used, to exceed 100%.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.073 Variable EVENTIME in data set TSMACCT was wrong; the YYYY
VMACTSMA INPUT function was revised to use informat 4.
Apr 22, 2009 YYYY=INPUT(SUBSTR(DATECH,7,4),4.);
Thanks to Craig Collins, State of Wisconsin DOA, DET, USA.
Change 27.072 Updates for VTCS subtypes of the STC/STK User SMF record.
FORMATS -Format $MGSTCCT adds 2000MB and 4000MB values.
VMACSTC -Format $MGSTCMN adds MOUNT ANSI SCRATCH VTV value.
Apr 22, 2009 -Dataset STCVSM18 variables STC18CTP and STC18MT were not
input for the longer length segment, STC18CTP was not
kept, and all three CTP variables are now length $2 and
correctly formatted.
-Formats $MGSTCMN and $MGSTCCT were updated with new
values for 2000MB and 4000MB cartridges, and for
ANSI Label Mounts, respectively.
Thanks to Davide Marone, SGS S.p.a. ITALY
Thanks to Carlo Gavinelli, SGS S.p.a. ITALY
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 27.071 -Major enhancement: all MXG-provided VMXGSUM-using summary
ANAL88 programs (e.g. ASUMs, ANALs, TRNDs) will NOT fail if your
ANALAVAI input data has DROPed variables, if you simply specify
ANALCACH %LET KEEPALL=NO;
ANALCISH in your //SYSIN. KEEPALL=NO causes VMXGSUM to determine
ANALCNCR what output variables are needed, and thereby prevents
ANALHTML the VARIABLE NOT FOUND condition when you have DROPed
ANALPKGS variables to reduce the size of your PDB dataset, which
ANALPROG is what happens with the default of KEEPALL=YES.
ANALSTC
ANALUSS The default is KEEPALL=YES, because the KEEPALL=NO logic
ASUM23 would be expensive if applied to the hundreds of VMXGSUM
ASUM42DS invocations that are internal to MXG processing, but its
ASUM94 cost is insignificant for a single execution, and it is
ASUMCACH ONLY needed when you know you have DROPed variables.
ASUMCICS
ASUMCICT -All of the summary programs listed in this change now
ASUMCICX specify KEEPALL=&KEEPALL, in their %VMXGSUM invocation.
ASUMCIMS -And where needed, a KEEPIN= was added, but KEEPIN does
ASUMDB2A not get used unless KEEPALL=NO is in effect, so there is
ASUMDB2B no adverse effect of the KEEPIN= protection.
ASUMDB2G -VMXGINIT sets KEEPALL=YES as the GLOBALed default value.
ASUMDB2P The old default NO was used only in TRNDRMFI, which now
ASUMFRYE has KEEPALL=NO explicitly in its %VMXSGUM statement.
ASUMJOBS -VMXGSUM now has KEEPALL=&MXGKEEP in its definition, in
ASUMMIPS place of a hard-coded KEEPALL=YES, and MXGKEEP=YES is set
ASUMNTIN in VMXGINIT. This value is only used when the %VMXGSUM
ASUMSMFI invocation did not specify a KEEPALL value, and this is a
ASUMTMNT "just in case" option, to use MXGKEEP, that I doubt will
ASUMV11 be needed, but is nice to have for testing.
ASUMV14
ASUMVMON So, how expensive is KEEPALL=NO for my QA stream?
ASUMVTVM
ASUMVMNT The QA tests with all INFILEs reading zero length files
BLDNTPDB invokes VMXGSUM 442 times with these comparisons
BUIL3005
BUILD005 KEEPALL YES NO
BUILD006 DATA Steps 3567 4924
CICSSTAT PROC Steps 11564 13454
DAILYDSR Elapsed mmss 11:44 30:14
DALYTAPE CPU mmss 6:28 20:31
GRAFWLM
MNTHDB2S However, the CPU increase of 900 seconds with KEEPALL=NO,
SPUNJOBS for a total of 442 invocations, is only 2 seconds for a
TRNDDB2P single execution, well worth that cost to permit you to
TRND23 use the summary program with reduced input.
TRND70
TRND70SH
TRND94
TRNDCACH
TRNDCEC
TRNDDB2A
TRNDDB2B
TRNDDB2G
TRNDDB2S
TRNDDB2X
TRNDNTIN
TRNDNTLD
TRNDRMFI
TRNDTALO
USMFRATE
UTILCONT
UTILRMFI
VMXGCAPT
VMXGCICI
VMXGINIT
VMXGRESP
VMXGRMFI
VMXGSUM
VMXGTPFI
WEEKCEC
Apr 20, 2009
Change 27.070 Variable DESCR existed in 4 different XAM datasets, with
VMACXAM 3 different lengths, with only the first 12 bytes in
Apr 16, 2009 XMHSTMEM dataset, where the field is split into 2 pieces.
Variable DESCR is now $16 in both XMTIFTB and XMHSTMEM
datasets, the extra four bytes are appended in XMHSTMEM,
it is renamed DESCRDSK with length $40 in XMHSTDSK, and
it is renamed DESCRTCP with length $128 in XMTCPSYS.
Thanks to Roger Stock, Boston University, USA.
Change 27.069 Serena's Ultimizer user SMF record moved subtype 2 and 3
VMACULTM into the left byte of the two-byte subtype field, and in
Apr 15, 2009 the right byte for subtype 1 records, which was not the
expected location of subtype, but now is supported. The
DSECT for R310 does not document this design. And the
READTIME field is always missing (hex zeros) in the 2/3
records but is populated in the subtype 1 VSAM record.
Thanks to Robb Hermes, Sentry Insurance, USA.
Change 27.068 Optional CICSTRAN USERCHAR field was limited to 200 bytes
IMACICDU due to that ancient SAS V6 limit on character variables.
Apr 15, 2009 That field can now be up to 32000 bytes. The IMACICDU
member is an internal member that would not normally have
been tailored by users.
Thanks to Henrik Lange, Nordic Processor, NORWAY.
Change 27.067 Support for LDAP Auditing ID=83 Subtype=3 SMF record.:
EXTY83LD New dataset created:
FORMATS
IMAC83 dddddd Dataset Description
VMAC83 TY83LD TYPE83LD TY83LD: LDAP AUDITING
VMXGINIT
Apr 13, 2009
Thanks to Stan Dylnicki, Royal Bank of Canada, CANADA.
====== Changes thru 27.066 were in MXG 27.02 dated Apr 13, 2009=========
Change 27.066 The "owner" variables in TYPE77 were labeled as "CURRENT"
VMAC77 but they are actually the owners/system/etc at the time
Apr 13, 2009 of maximum contention. The revised labels now are:
CURROWN ='NUMBER OF*OWNERS*WHEN AT*MAX CONTENTION'
CURRWAIT='NUMBER OF*WAITERS*WHEN AT*MAX CONTENTION'
JOBOWN1 ='NAME OF*OWNER#1*WHEN AT*MAX CONTENTION'
JOBOWN2 ='NAME OF*OWNER#2*WHEN AT*MAX CONTENTION'
JOBWANT1='NAME OF*WANTER#1*WHEN AT*MAX CONTENTION'
JOBWANT2='NAME OF*WANTER#2*WHEN AT*MAX CONTENTION'
SYSOWN1 ='SYSTEM OF*OWNER#1*WHEN AT*MAX CONTENTION'
SYSOWN2 ='SYSTEM OF*OWNER#2*WHEN AT*MAX CONTENTION'
SYSWANT1='SYSTEM OF*WANTER#1*WHEN*MAX CONTENTION'
SYSWANT2='SYSTEM OF*WANTER#2*WHEN*MAX CONTENTION'
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 27.065 Cosmetic, to eliminate MXGWARN messages from VMXGOPTR.
BUILD001 Change 27.051 corrected VMXGOPTR so the current value of
BUILD005 an option would be used, but invocations of VMXGSUM could
BUIL3001 unexpectedly modify the option; this change pairs each of
BUIL3005 the VMXGOPTR to reset (VALUE=ORIGINAL) prior to VMXGSUMs.
SPUNJOBS Without this change, the (usually) harmless message
Apr 12, 2009 MXGWARN: STORED VALUE OF DKROCOND IS MXG;
could have been printed on the SAS log.
Change 27.064 SYSLDSN from the IEC501I message could be a number rather
VMACTMNT than a DSNAME; the WORDS array did not parse correctly if
Apr 11, 2009 there were adjacent commas for un-populated fields in the
SYSLOG message text. The TRANWRD(x,',,',', ,') function
was used to insert a blank between adjacent commas, once
I found that TRANWRD and TRANSLATE functions are quite
inconsistent, with their syntax reversed:
TRANSLATE(argument,to,from);
TRANWRD (argument,from,to);
Thanks to MP Welch, SPRINT, USA.
Change 27.063 Decoding SYSLOG MSGID=IEC205I in TMNT Subtype 8 record
VMACTMNT adds variables STEPNAME SYSLBLKS SYSLENCR to TYPESYMT
Apr 11, 2009 dataset to identify Encrypted Tapes; SYSENCR will have
the text KL1CD:L,LK2CD:L for encrypted tapes (where
H:='HASH' or L:LABEL'). The ASMTAPEE monitor program
will be updated later to write IEC205I in TMNT Subtype 8
record, and a later update to ASUMTAPE will be needed to
complete this enhancement.
Thanks to Bruce Gillespie, First American Reinsurance, USA.
Change 27.062 -TYPE42 Updates for VSAM RLS "ABOVE THE BAR" statistics,
EXTY42D3 added by IBM long ago but overlooked by MXG, adds six new
EXTY42D4 datasets and re-labels the six existing "BELOW THE BAR":
EXTY42S3 TY42S1 TYPE42S1 VSAMRLS SPLEX SC BELOW THE BAR
EXTY42S4 TY42S2 TYPE42S2 VSAMRLS SC CF SYS BELOW THE BAR
EXTY42X3 TY42S3 TYPE42S3 VSAMRLS SPLEX SC ABOVE THE BAR
EXTY42X4 TY42S4 TYPE42S4 VSAMRLS SC CF SYS ABOVE THE BAR
IMAC42 TY42D1 TYPE42D1 VSAMRLS SPLEX DATASET BELOW BAR
VMAC42 TY42D2 TYPE42D2 VSAMRLS DATASET CF SYS BELOW BAR
VMXGINIT TY42D3 TYPE42D3 VSAMRLS SPLEX DATASET ABOVE BAR
Apr 9, 2009 TY42D4 TYPE42D4 VSAMRLS DATASET CF SYS ABOVE BAR
TY42X1 TYPE42X1 VSAMRLS BUFF MGR TOTALS BELOW BAR
TY42X2 TYPE42X2 VSAMRLS BUFF MGR DETAILS BELOW BAR
TY42X3 TYPE42X3 VSAMRLS BUFF MGR TOTALS ABOVE BAR
TY42X4 TYPE42X4 VSAMRLS BUFF MGR DETAILS ABOVE BAR
-APAR OA25559 adds two new variables S42DSRDD,S42DSRDT to
subtype 5 and subtype 6 records, and these variables are
are kept in TYPE42DS, TYPE42SR, and TYPE42VT datasets:
S42DSRDD='AVERAGE*READ MS*DISCONNECT*TIME'
S42DSRDT='READ*OPERATIONS*TO*DATASET'
Change 27.061 MXG 27.01 only. A DEBUGging PUT statement at line 235
VMAC88 PUT _N_= SUBTYPE= SMFTIME= SMF88LTD= SMF88LIT= GMT88OFF=;
Apr 8, 2009 is now deleted by this change.
Thanks to Michael Creech, Lender Processing Services, Inc, USA.
Change 27.060 Cosmetic. Labels for TYPE23 BUFSZMAX and WRNSZMAX said
VMAC23 "PERCENT", but BUFSZMAX has always been the MAX VALUE.
Apr 8, 2009 WRNSZMAX was the Warning PERCENT thru z/OS 1.5, but in
z/OS 1.6 the description was changed to "VALUE", but it
was NOT documented in the changes in the 1.6 SMF Manual.
Now, both labels say VALUE rather than PERCENT.
Thanks to Chuck Hopf, Bank of America, USA.
Change 27.059 SMF 102 IFCID=108 variables starting at QW0108PR were not
VMAC102 input because QWT02R1N, instead of QWT02R1L (length) was
Apr 6, 2009 tested for GE 160. Additionally, these new variables are
now input and kept in T102S018 dataset:
QW0108DY QW0108DP QW0108RO QW0108KD QW0108OH QW0108IW
QW0108SC QW0108CC
Thanks to Tony Anderson, Blue Cross Blue Shield of Alabama, USA.
Change 27.058 Change 27.015 enhanced VMACSMF to test IF SUBTYPE GT 255
VMACSMF because some user SMF records store their subtype in the
Apr 6, 2009 left byte of the two byte field. MXG printed an ERROR
message, and used the left byte as the subtype number,
but this ERROR message was not documented in that text.
I also failed to protect the optional BMC CICS Statistics
SMF 110 records that are written as subtype=2818 or 47874
('BB02'x,'0B02'x) are really subtype=2 STID=200 to 205.
IF you had enabled the optional IMACICBB member to decode
these optional STID's, then their CICSBBxx datasets would
have had no observations, plus the new MXG ERROR message.
Thanks to Lorena Ortenzi, UniCredit Global Info Services, ITALY.
Change 27.057 MXG 27.01. DCOLLECT DCOLVOLS the volume size variables
VMACDCOL DCVALLOC DCVFRESP DCVLGEXT DCVVLCAP are small by 1024.
Apr 3, 2009 Change 27.034 for EAV support mislocated the code that
multiplies the KB value by 1024 so it was ONLY executed
if the record is the longer, EAV-updated, volume record.
Thanks to Frank Lund, EDB, NORWAY.
Thanks to Chris A. Hughes, University of Georgia, USA.
Change 27.056 Support for Control-D "Decollating" SMF record, which is
EXTYCTCD a new, different SMF record than the Control-D TYPECTLD
IMACCTCD support. This new record creates dataset CONTROCD.
TYPECTCD
TYPSCTCD
VMACCTCD
VMXGINIT
Apr 2, 2009
Thanks to Davide Marone, SGS S.p.a. ITALY
Thanks to Carlo Gavinelli, SGS S.p.a. ITALY
Thanks to Gianvittorio Negri, SAS Institute, ITALY.
Change 27.055 OBJECTSTAR (a/k/a HURON) INPUT STATEMENT EXCEEDED RECORD
VMACHURN ERROR for short Subtype 13 record; record should have
Apr 2, 2009 3123 bytes for 26 segments, but LENGTH is only 3110.
MXG prints message and hex dump of first 3 instances.
Thanks to David Stone, TESCO, ENGLAND.
Change 27.054 MXG 27.01 ONLY, CRITICAL ERROR FOR SMF 42 SubTypes 1-20.
VMAC42 I really botched this one. A partial statement was left
Mar 31, 2009 (IF SUBTYPE GT 20 THEN) ahead of IF OFFPROD GT 0 THEN DO,
preventing INPUT of STARTIME, ENDTIME & DURATM variables
for these datasets that are created from subtypes 1-20:
TYPE4220 TYPE4237 TYPE42AD TYPE42AU TYPE42CC TYPE42CU
TYPE42CV TYPE42D1 TYPE42D2 TYPE42DS TYPE42EX TYPE42L1
TYPE42L2 TYPE42NF TYPE42NU TYPE42P1 TYPE42P2 TYPE42P3
TYPE42S1 TYPE42S2 TYPE42SC TYPE42SR TYPE42TO TYPE42VL
TYPE42VS TYPE42VT TYPE42X1 TYPE42X2 TYPE42XR TYPE42XV
Not only are STARTIME, ENDTIME, and DURATM missing values
but also variables that are calculated from DURATM, such
as, in TYPE42DS, CACHRATE, DASDMPL, and DASDRATE also are
missing values.
Thanks to Paul Volpi, UHC, USA.
Change 27.053 -CICS Statistics STID=108 in CICS/TS 3.2 added 48 bytes as
FORMATS part of the 284 bytes INPUT in MXG 27.01 for CICS/TS 4.1.
UTILEXCL Now, the first 48 are INPUT then the other 236 are INPUT.
VMAC110 STID=108 DFHSORTS data is output in dataset CICTCPIP.
Mar 31, 2009 -CICS Statistics STID=31 inconsistent length/LDBNRDSN was
Apr 1, 2009 only partially circumvented in Change 26.052, as it used
Apr 2, 2009 re-calculated LDRNSKIP=(STILEN-104)/44 for segment count
APR 4, 2009 only if LDRNSKIP was GT LDBNRDSN, causing the prior count
to be used when LDRNSKIP=LDBNRDSN. Since it is now clear
that LDBNRDSN is the number of POPULATED segments, but is
NOT the number of segments, LDRNSKIP=(STILEN-104)/44 is
always used to control the number of segments read in.
Existing test for LDBDSNAM GT ' ' causes only populated
segments to be output in the CICLDBDS statists dataset.
-In CICSTRAN dataset, back in 1994, Change 12.166 noted
that TASKNR (IBM TRANNUM) is not always a packed decimal,
and can contain four-character-in-EBCDIC values:
bytes old TASKNR description
1st 2-4 (decimal)
'00'X,'III' 13,224,393 SYSTEM INITIALIZATION TASK
'00'X,'J00' 13,758,704 JOUR CONTROL, JOURNAL=00
'00'X,'J99' 13,761,017 JOUR CONTROL, JOURNAL=99
'00'X,'JBS' 13,746,914 JOURNAL CONTROL
'40'X,'TCP' 14,926,807 TERMINAL CONTROL
but that change only stored the right 3-bytes as a large
decimal value when a character value was found, without
decoding or mapping that strange TASKNR value. And, that
change was not implemented in UTILEXCL logic, causing the
TASKNR to be a missing value for these character values
when IMACEXCL built by UTILEXCL was used. Now, if TASKNR
is not a valid packed decimal value, the full four-byte
field is input as binary, and TASKNR is FORMATed with new
MG110TN format that decodes those binary values to print
the actual 'III', 'Jnn', 'JBX', or 'TCP' text value,
right justified to align with numeric values of TASKNR.
And UTILEXCL was updated with this revised logic.
Because TASKNR is the only packed decimal field in the
CICSTRAN segment the "vanilla" VMAC110 tested IF TASKNR=.
to detect misalignment (that is how MXG finds EXCLUDEd
fields or optional data segments), but with this change,
TASKNR can never be a missing value, so the new test is
IF TASKNR EQ 0 OR
(TASKNR GT 99999 AND COMPRESS(PUT(TASKNR,MG110TN.))
NOT IN : ('III','TCP','JBS','J') ) THEN DO;
The original test for TASKNR=. could not be used when the
IMACEXCL was in use, since the site might have EXCLUDEd
the TASKNR field, but since this test is now valid even
if TASKNR is excluded, this misalignment test was moved
so it is always applied, even when IMACEXCL is used.
Thanks to Paul Volpi, UHC, USA.
Thanks to Jon Keister, Caremark, USA.
Change 27.052 Updates to PMACC01 DB2PM-like report had a number of
ANALDB2R blank values introduced in MXG 26.26, which also changed
Mar 28, 2009 the format of some durations (Class 7 for example) to
match the DB2PM printed time format.
Thanks to Paul Billick, QVC Inc, USA.
Change 27.051 -%VMXGOPTR is used internally in MXG to alter the user's
VMXGOPTR options, which are then reset to their original value.
VMXGSUM For example, in VMXGSUM, we must have OBS=MAX for the
Mar 27, 2009 internal parsing DATA steps, so we store your OBS value,
Apr 2, 2009 change it to OBS=MAX for our purpose, and then restore
Apr 13, 2009 your ORIGINAL option value. But if %VMXGOPTR was then
Apr 29, 2009 invoked a second time for that same option, we used your
ORIGINAL value instead of your CURRENT value. Now, each
time %VMXGOPTR is invoked with NEWVALUE not ORIGINAL, we
store the current value of that option, so that when the
resetting %VMXGOPTR invocation with ORIGINAL, we then can
reset that option to the LAST stored value.
-After ORIGINAL has been reset, the text "MXG" is stored.
If a subsequent ORIGINAL invocation finds that "MXG", a
"MXGWARN STORED VALUE FOR xxxxxx IS MXG" prints to alert
you that you have un-paired %VMXGOPTR invocations. This
might not be a problem, depending on your intended use of
%VMXGOPTR.
-VMXGSUM required change because it did not have matched
pairs of %VMXGOPTR invocations.
-It is VERY unlikely any MXG users have actually used the
%VMXGOPTR macro, and even less likely that anyone used
that retained value of the original %VMXGOPTR design,
but, technically, this is an UNCOMPATIBLE change.
-Note that if you should use %VMXGOPTR, that you need to
use it exclusively to change options; if you interleave
%VMXGOPTR and OPTIONS statements, your results might be
unexpected.
This change was precipitated by a simple user program:
OPTIONS OBS=0;
%INCLUDE SOURCLIB(TYPEDB2);
RUN;
OPTIONS OBS=MAX;
%INCLUDE SOURCLIB(ASUMUOW,ASUMCICX);
that causes ASUMCICX to fail, because the internal
%VMXGOPTR in VMXGSUM reset the option OBS=0, which was
the last value it stored, and so PDB.CICS built by the
ASUMCICX had 0 OBS.
Thanks to Paul Volpi, UHC, USA.
Change 27.050 Support for LPAR NMON data for RAWLPAR and RAWCPUTOTAL
EXNMONRC objects create two new datasets:
EXNMONRL DDDDDD DATASET DESCRIPTION
IMACNMON NMONRC NMONRAWC NMON RAW CPU
VMACNMON NMONRL NMONRAWL NMON RAW LPAR
VMXGINIT
Apr 13, 2009
Thanks to Peter Turner, Saint George Bank, AUSTRALIA.
Change 27.049 %VGETSYSI for z/OS only, returns global macro variables
VGETSYSI MXGSYSID and MXGSUSEC which contain the SYSTEM on which
Mar 26, 2009 SAS is executing, and the SU_SEC value for that system.
Thanks to Chuck Hopf, Bank of America, USA.
Change 27.048 Variable TAPEDRVS in PDB.ASUMTALO is the cross product of
ASUMTALO allocated tape drives times their duration, so it can be
TRNDTALO a large and confusing number. New variable AVGDRIVE is
Mar 26, 2009 now added to PDB.ASUMTALO with the average number of tape
drives that are allocated. TRNDTALO was also updated with
the new variable.
Thanks to Graham Cornwell, DDS, UK.
Thanks to Craig Heron, DDS, UK.
Change 27.047 -MXG 27.01 only. The EAV support added in Change 27.034
VMACDCOL was misaligned, i.e., it was incorrect. This change has
Mar 25, 2009 now been validated with an EAV volume's DCOLLECT record.
-The above error also mis-located the previous tests for
DCVFLAG1 and DCVERROR, causing all of the flag variables
created from them to be blank.
Only the DCOLVOLS dataset was in error in 27.01.
But see also Change 27.057.
Thanks to Dr. H. Pat Artis, Performance Associated, USA.
Thanks to Brian Currah, Independent Consultant, CANADA.
Thanks to Dan Case, Mayo Clinic, USA.
Change 27.046 Major updates to D,V,X records created by EDGHSKP utility
VMACEDGR add new variables to EDGRDEXT, EDGRVEXT, and EDGRXEXT
Mar 25, 2009 dataset. These extensive changes have been validated
Apr 2, 2009 with z/OS 1.7, 1.8, 1.9, and 1.10 RMM records.
Apr 4, 2009 -The RMM EDGRDEXT final segment test for GE 95 should have
been GE 31. RVMVDSN1,RVDSTBIN,RVDSTMED,RVVVOL1 do not
exist in the DEXT record; these fields were added in 2003
in Change 21.158, but I must have misread the doc!
Also, the RDEXPDT and RDEXPDTO date fields were not
converted to SAS date values.
-Support for APAR OA22132 adds variables to D/V/X records:
RDFACTOR='SPACE/SIZE*FACTOR' (MB in EBCDIC)
RDSIZE ='RDSIZE'
Variable RDSIZE is converted by RDFACTOR and formatted
with MGBYTES to show size in KB/MB/GB/ etc Note that
RDSIZE will be a missing value when that 10-byte field
is blanks, which does occur in many (old?) records.
Thanks to Paul Volpi, UHC, USA.
Change 27.045 -These QISTWFxx variables in DB2STATS were wrong because
VMACDB2 MXG de-accumulated them, but are not accumulated values:
Mar 20, 2009 QISTW04K QISTW32K QISTWF04 QISTWF32 QISTWFCK QISTWFCU
Mar 24, 2009 QISTWFMU QISTWFMX
Apr 11, 2009 -Variables QWACIXLT and QWAXIXLT were incorrectly divided
Apr 19, 2009 by 4096; they are in microseconds, not TOD clock units.
-Variables QSSTGETR, QWSDARIR, Q9STCTX1 were deaccumulated
twice, QSSTGETE was not deaccumulated.
-Dataset DB2STATS variables for Star Joins are marked in
the DSECT as "SERVICEABILITY", but are added
-Star Join statistics variables are added to DB2STATS:
QISJTRY ='ALLOCATION*REQUESTS IN*STAR JOIN*POOL'
QISJFAIL='FAILURES*CAUSED BY*FULL*STAR JOIN*POOL'
QISJSIZE='CURRENT*SIZE OF*STAR JOIN*POOL (MB)'
QISJMAX ='MAXIMUM*SIZE OF*STAR JOIN*POOL (MB)'
They are marked "SERVICEABILITY" in the current DSECT.
Thanks to Lori Masulis, Fidelity Systems, USA.
Thanks to Rachel Holt, Fidelity Systems, USA.
Thanks to Terry L. Berman, DST Systems, USA.
Thanks to Steve Wood, DST Systems, USA.
Change 27.044 Variable CPCFNAME was defined as $10 in VMXG70PR but it
VMXG70PR contains only $8, and its length in RMFINTRV is also $8.
Mar 20, 2009 Since RMFINTRV is created by default in BUILDPDB, I chose
to change the length in the ASUM70PR datasets to avoid
conflicts.
Thanks to Jim S. Horne, Lowe's Companies, USA.
Change 27.043 -HP OpenView on AIX variables RELEASE, SOFTWARE, SYSID
ADOCMWAI were wrong or had no values with the current REPORT macro
ADOCMWSU (which is now in ADOCMWAI, so you can use that command to
VMACMWAI extract the data in the format expected by the revised
VMACMWSU VMACMWAI, and similarly, VMACMWSU/ADOCMWSU members are
Mar 18, 2009 updated for HP OpenView on Sun, with ADOCMWSU containing
Apr 10, 2009 the REPORT macro to match the VMACMWSU code.
Thanks to Albert Jacobs, KBC ICT Services NV, BELGIUM.
====== Changes thru 27.042 were in MXG 27.01 dated Mar 17, 2009=========
Change 27.042 Support for ASG TMON for CICS V3.2 was in MXG since 25.11
VMACTMO2 for important MONITASK dataset, and most other datasets,
Mar 17, 2009 although MONIIWT & MONITDQ datasets require this change,
as their offsets were relocated by insertion of the new
fields for the MONISYST and MONITDQ datasets.
-Dataset MONITASK, new variables:
TADFHAP1 TADFHAP2
-Dataset MONIPA, new variables:
PACMDLYC PACMDLYT PADFHAP1 PADFHAP2 PAICSCC
PAICSCD PAICSRC PAICSRD PAL9CPUC PAL9CPUT
PAPCDCC PAPCDLL PAPCDRL PAPCLCC PAPCRCC
PAPCRCL PAPCXCC PAPGBCC PAPGCCC PAPGCTC
PAPGGCC PAPGGCL PAPGMCC PAPGPCC PAPGPCL
PASTDLYC PASTDLYT PAWBBOC PAWBI1C PAWBIRC
PAWBIWC PAWBO1C PAWBOSC PAWBPRC PAWBRDL
PAWBROC PAWBWDL PAWBWOC PAX8CPUC PAX8CPUT
PAX9CPUC PAX9CPUT PAXTDLYC PAXTDLYT
-Dataset MONISYST, new variables:
TIMQSCLC TIMQSCLT TIMQSGTC TIMQSGTT TIMQSIQC
TIMQSIQT TIMQSOPC TIMQSOPT TIMQSP1C TIMQSP1T
TIMQSPTC TIMQSPTT TIMQSSTC TIMQSSTT TIRECICT
-Dataset MONITDQ, new variables:
TDRECICT
Change 27.041 The example to summarize PDB.SMFINTRV into PDB.ASUMSMFI
ASUMSMFI was enhanced to specify the SYNC59 argument, with the
Mar 17, 2009 default SYNC59=NO, so there would be no change to the
summarized output (until you change NO to YES!).
Thanks to Larry Stahl, IBM Global Services, USA.
Change 27.040 Dataset TYPE78PA (Private Area for Monitored Jobs) ID=78
VMAC78 Subtype 2 INPUT STATEMENT EXCEEDED RECORD LENGTH ERROR
Mar 17, 2009 was due to MXG miscoding the new-in-z/OS 1.10 Memory
Objects. COMOHWM,LGMOHWM,SHMOHWM,TOFRHWM,TOMOHWM vars
were INPUT but never existed and are removed. Labels for
their MIN and MAX values are changed to FRAMES instead of
BYTES, and their MGBYTES formats are removed.
Thanks to Scott Chapman, American Electric Power, USA.
Change 27.039 Change 26.183 is wrong; it removed the QBAC and QTXA vars
ASUMDB2P from the summary in ASUMDB2P and TRNDDB2 code, claiming
TRNDDB2P those variables were not in the IFCID=239 (101 subtype 1)
VMACDB2 Package Data records starting in V7.1. But they all DO
Mar 16, 2009 exist in DB2ACCTP dataset in DB2 V8.1 or later, so they
are now restored in ASUMDB2P and TRNDDB2P summary code.
The QBAC and QTXA fields are only populated in DB2ACCTP
dataset if DB2 Accounting Trace Class 10 is enabled.
Those variables have ALWAYS been kept in the DB2ACCTP
dataset, so this only impacts users of MXG's summaries.
Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.
Change 27.038 Change 26.183 SMF/Performance Sentry Release 3.1.4.
VMACNTSM A major enhancement in NTSMF adds IDPROCES and SQLVERSN
Mar 15, 2009 to 72 SQLSERVER/MSSQL dataset, so that the individual
SQL Server Process can be identified. There were also
37 new objects that are now supported by these new exit
members:
exntdtos exntm8ca exntm8co exntm8dm exntm8dp exntm8lo
exntm8md exntm8me exntm8pa exntm8pc exntm8pi exntm8pr
exntm8se exntm8th exntmlca exntmlco exntmldm exntmldp
exntmllo exntmlmd exntmlme exntmlpa exntmlpc exntmlpi
exntmlpr exntmlse exntmlth exntqlbl exntqldf exntqlrp
exntqlwg exntrpsv exntsqbt exntsqdf exntsqpl exntsqrp
exntsqwg
Change 27.037 The example in the comments to execute did not have the
ADOC70PR //SPIN DD UNIT=SYSDA,SPACE=CYL(1,1)
Mar 15, 2009 that is required by that example program. It can be
a temporary dataset, because this example builds a
single output PDB library for analysis. The SPIN DD
is only used in the RMFINTRV program to create SPINRMFI,
used to keep the last four hours of CPU busy for the old
MXG MSU4HRAV variable when RMFINTRV is created on a daily
basis. MSU4HRAV is actually archaic, predating the IBM
addition of their SMF70LAC, which should be used in place
of MXG's MSU4HRAV.
Thanks to MP Welch, SPRINT, USA.
Change 27.036 -Fields DBHCEUID, DBHCEUTX, DBHCEUWN are now kept in the
VMACTMDB TMON for DB2 TMDBBF,TMDBBG,TMDBBH, and TMDBBI datasets,
Mar 14, 2009 and all three have any '00'X translated to blanks.
-Variable HSIID now formatted with MGDB2II.
Thanks to Ernie Amador, UC Davis Health System, USA.
Change 27.035 Previously, you could not leave SYSTEM blank in TIMETABL,
VMXGTIME but with this revision, if ALL of your SYSTEMS are to be
Mar 11, 2009 changed the same way, you do NOT need to fill in SYSTEM,
and the same for SYSPLEX. If you have systems on
different time zones, then each SYSTEM or SYSPLEX must be
in the TIMETABLE (but only those that differ from base).
So if you have 3 systems, 2 on local, and one on local+2,
to convert all systems to local, only the local+2 system
needs to be listed in TIMETABL.
Thanks to Richard Schwartz, State Street Bank, USA.
Change 27.034 Support for EAV, Extended Address Volume, devices with
VMACDCOL more than 65520 cylinders, introduced in z/OS 1.10, with
Mar 11, 2009 HUGE volume sizes, 236GB (256K Cylinders) first release.
EAV devices are formally documented as 3390-A devices.
Dataset DCOLVOLS: new variables:
DCVCYLMG='EAV*INDICATOR*FLAG'
DCVDPTYP='PHYSICAL*DEVICE*TYPE'
DCVEAVOL='EAV*INDICATOR*FLAG'
DCVTRALC='ALLOCATED*TRACK*MANAGED'
DCVTRFRG='FRAGMENTATION*INDEX*TRACK*MANAGED'
DCVTRFRX='FREE*EXTENTS*TRACK*MANAGED'
DCVTRFSP='FREESPACE*TRACK*MANAGED'
DCVTRLGE='LARGEST*EXTENT*TRACK*MANAGED'
DCVTRPCT='PCT FREESPACE*TRACK*MANAGED'
DCVTRVLC='TOTAL CAPACITY*TRACK*MANAGED'
The new Track-Managed Space or Base Addressing Space
is the first 65520 cylinders (54GB), and space above
that is the Extended Addressing Space.
Disk allocation in the EAS is in units of 21 cylinders.
Initial implementation is VSAM only, KSDS,RRDS,ESDS and
linear, so DB2 and zFS can use EAV volumes.
Dataset DCOLSC: new variables:
DSCBAKUP='ACC*BACKUP*PARM*VALUE'
DSCBUSP ='ACC*BACKUP*PARM*SPECIFIED'
DSCDSSEP='DATASET*SEPARATE*PROFILE'
DSCFLAG3='DSC*FLAG*BYTE*3'
DSCFOSL ='OAM*SUBLEVEL*1'
DSCTIER ='MULTI-TIER*SG*VALUE'
DSCTIERS='MULTI-TIER*SG*SPECIFIED'
DSCVERSN='ACC*VERSION*PARM*VALUE'
DSCVERSP='ACC*VERSIONING*PARM*SPECIFIED'
Dataset DCOLDC new variables:
DDCFSDB ='SDB*IS*SPECIFIED?'
DDCFVORD='OVERRIDE*JCL*SPECIFIED?'
Dataset DCOLBKUP new variables:
UBFLAG3='INFORMATION*FLAG*3'
UBNOSPH='SPHERE(NO)*PROCESSED?'
UBGVCN ='GENVSAMCOMPNAMES*PROCESSED?'
-Variable UMNMIG, number of times migrated, is reserved in
dataset DCOLMIGS.
-Doc notes:
Length of VOLUME RECORD structure still 112.
-Type 1415 enhancement:
-MXG Change 25.071 added variable EADSCBOK was decoded
from SMF14EADSCB, in the type 5 extended information
segment of the SMF type 14 and 15 records. It means
that the user program provided a valid DCBE that has
EADSCB=OK. It does NOT mean that OPEN needed this
option.
If this bit is zero, then the program did not specify
EADSCB=OK on the DCBE macro. IBM suggests upgrading
the program to handle 28-bit cylinders and coding
EADSCB=OK. This is to help plan for when EAV might
support more types of data sets.
-MXG Change 25.071 also decoded variable SMF14EAV from
SMF14EXCPBAM. This is 'Y' if the user program issued
one or more instances of the EXCP or XDAP macro since
the BSAM, BPAM or QSAM DCB was opened.
-SMF19 enhancements added by Change 26.071, documentation:
These existing two-byte counters describe free space for
the entire volume. If the value exceeds the capacity of
the counter, it will be set to the maximum of 65535. The
correct values will always be in SMF19EVF and SMF19TMF.
MXG var IBM name
NRDSCBS SMF19NDS Number of DSCBs in VTOC
NRDSCB0 SMF19DSR Number of format 0 (unused) DSCBs
in VTOC
NRALTRKS SMF19NAT Number of unused alternate tracks
CYLAVAIL SMF19SPC Numbers of free complete cylinders
TRKAVAIL SMF19??? Number of free tracks
MAXCYLS SMF19LEX Numbers of complete cylinders in
largest free extent
MAXTRKS SMF19??? Numbers of complete tracks in
largest free extent
NRUNEXTS SMF19NUE Number of free extents
New SMF19CYM variable will mean that the volume has
cylinder-managed space.
The following will be new four-byte unsigned counters at
the end of the record:
SMF19SDS Number of DSCBs in VTOC
SMF19SL0 Number of format 0 (unused) DSCBs in VTOC
The following 5 new counters apply to the whole volume.
SMF19SUC Number of free complete cylinders
SMF19SUT Number of additional free tracks
SMF19SNC Number of complete cylinders in largest free
extent
SMF19SNT Number of additional free tracks in largest
free extent
SMF19SNE Number of free extents
The following five new counters apply only to the
track-managed space on the volume. For volumes with no
cylinder-managed space (SMF19CYM is off) these counters
are the same as the previous five counters for the whole
volume.
SMF19BUC Number of free complete cylinders
SMF19BUT Number of additional free tracks
SMF19BNC Number of complete cylinders in largest free
extent
SMF19BNT Number of additional free tracks in largest
free extent
SMF19BNE Number of free extents
The following new fields provide volume size information
SMF19TRK Total number of tracks on the volume
SMF19TRM Total number of tracks in track-managed space
when SMF19CYM = '1' to the value of SMF19TRK
otherwise. When SMF19CYM ='1' this value is
also the address where cylinder-managed space
begins.
Change 27.033 IMS logs from different IMS Versions cannot be processed
JCLIMSL6 in a single job with JCLIMSL6 or using TYPEIMS7, because
Mar 11, 2009 the IMS version is not provided in the log records. You
must EDIT the MACRO _IMSVERS nn % to tell MXG what IMS
version's records are to be read. The original way was
to define _IMSVERS in your IMACKEEP member, but if you
have two different versions, you needed to create two
special tailoring PDS libraries, each with only the that
IMACKEEP member, and then override the //SOURCLIB DD to
place this tailoring library ahead of the "USERID" and
"MXG" source libraries; do-able, but messy at the least.
To eliminate all that stuff, the JCLIMSL6 example now
has added, in //SYSIN stream for the TESTIMSB/TESTIMSA:
%LET MACKEEP= MACRO _IMSVER 10.0 % ;
which overrides the IMSVER definition in either your
IMACKEEP member or in your IMACIMSA, so that you do NOT
have to EDIT either of those members into your USERID
to define the IMS Version.
Note that this issue only applies to MXG JCLIMSL6 job
that read the native IMS log records, TYPEIMSx. It
does not apply to these vendor products that create their
own IMS data which contain the IMS version number and
which can be concatenated or have multiple versions input
in one job: TYPECIMS/TYPESVIE/TYPEITRF/TYPETIMS.
Thanks to Herbert Sweeney, Verizon, USA.
Change 27.032 Support for CICS/TS 4.1.0 OPEN BETA. INCOMPATIBLE as new
VMAC110 fields in CICSTRAN were INSERTed rather than APPENDed to
Nov 20, 2008 the SMF 110 Subtype 1 records:
Dec 17, 2008 BFDGSTCT='EXEC*CICS*BIF*DIGEST*COMMANDS'
Jan 12, 2009 BFTOTCT ='EXEC*CICS*BIF DEEDIT*BIF DIGEST*COMMANDS'
Mar 10, 2009 ECEFOPCT='EVENT*FILTER*OPERATIONS'
EXCICECC ECEVNTCT='EVENTS*CAPTURED'
EXCICPGD ECSIGECT='SIGNAL*EVENTS*CAPTURED'
EXCICEPG EICTOTCT='EXEC*CICS*REQUESTS'
EXCICECG MAXTTDCN='MAXTTDLY*WAIT FOR*T8 TCB*COUNT'
EXCICECR MAXTTDTM='MAXTTDLY*WAIT FOR*T8 TCB*DURATION'
VMXGINIT MLXSSCCN='XML*SYSTEM*SERVICES*CPU*DISPATCHES'
UTILEXCL MLXSSCTM='XML*SYSTEM*SERVICES*CPU*DURATION'
IMACCICS MLXSSTDL='TOTAL*DOCUMENT*LENGTH'
Mar 14, 2009 T8CPUTCN='T8CPUT*JVM*MULTITHREADED*COUNT'
T8CPUTTM='T8CPUT*JVM*MULTITHREAD*DURATION'
TIASKTCT='EXEC*CICS*ASKTIME*COMMANDS'
TITOTCT ='EXEC*CICS*ASK/CONVERT/FORMAT*TIME*CMDS'
WBATMSNM='ATOMSERVICE*RES DEF*NAME*USED'
WBPIPLNM='PIPELINE*RES DEF*NAME*USED'
WBPROGNM='PROGRAM NAME*FROM URIMAP*RES DEF'
WBSVCENM='WEBSERVICE*RES DEF*NAME*USED'
WBURIMNM='URIMAP*RES DEF*NAME*MAPPED'
WBSVOPNM='WEBSERVICE*OPERATION*NAME'
MLXMLTCT='EXEC*CICS*TRANSFORM*REQUESTS'
WSACBLCT='WSACONTEXT*BUILD*REQUESTS'
WSACGTCT='WSACONTEXT*GET*REQUESTS'
WSAEPCCT='WESAEPR*CREATE*REQUESTS'
WSATOTCT='TOTAL*WS-ADDRESSING*REQUESTS'
WBSFCRCT='SOAPFAULT*CREATE*REQUESTS'
WBSFTOCT='TOTAL*SOAPFAULT*REQUESTS'
WBISSFCT='INVOKE*XXXSERVICE*SOAP*FAULTS'
WBSREQBL='SOAP*REQUEST*BODY*LENGTH'
WBSRSPBL='SOAP*RESPONSE*BODY*LENGTH'
JVMTHDTM='JVMSERVER*THREAD*WAIT*DURATION'
JVMTHDCN='JVMSERVER*THREAD*WAIT*COUNT'
WMQASRTM='WEBSPHERE*MQ*API*CPU SRB*DURATION'
WMQASRCN='WEBSPHERE*MQ*API*CPU SRB*COUNT'
-Three new TCBs are added to the CICDS Dispatch Statistics
and CICINTRV datasets, T8, EP, and TP, but only T8CPUT is
contained in the CICSTRAN data at present. And the TCB
Numbers have changed, as shown in this table, but since
the TCB 2-character name is used to identify the TCB,
this (fortunately) caused no incompatibility in CICDS:
See Change 27.200 for updated table.
-New Pool added to STID=60, CICDSPOO for MAXTHRDS TCBs.
-CICS Statistics STID=11, dataset CICXMR has new variables
XMRCHGAG XMRCHGDT XMRCHGUS XMRGRFRM XMRINSAG XMRINSDT
XMRINSUS
-CICS Statistics STID=12, dataset CICXMC has new variables
XMCCHAGT XMCCHGTM XMCCHUSR XMCDEFSR XMCINAGT XMCINSTM
XMCINUSR
-CICS Statistics STID=21, dataset CICVT, has new variables
A03LUHWM A03LUNUM A03PSEC A03PSIC A03PSNC
A03PSOC A03PSUC A03PSTYP A03PSDIN
-CICS Statistics STID=42, dataset CICTQR new variables
TQRCHGDT TQRGRFRM TQRCHGAG TQRCHGUS TQRINSAG TQRINSDT
TQRINSUS
-CICS Statistics STID=52, dataset CICCONSR new variables
A14CHGDT A14GRFRM A14CHGAG A14CHGUS A14INSAG A14INSDT
A14INSUS
-CICS Statistics STID=67, dataset CICFCR new variables
A17CHGAG A17CHGDT A17CHGUS A17GRFRM A17INSAG A17INSDT
A17INSUS
-CICS Statistics STID=74, dataset CICIMQ new variables
CMQBUFMH CMQCB CMQCHGAG CMQCHGDT CMQCHGUS CMQCRTMH
CMQCRTNE CMQCTL CMQDLTMH CMQDLTMP CMQGRFRM CMQINQMP
CMQINSAG CMQINSDT CMQINSUS CMQMHBUF CMQRESYN CMQSETMP
CMQSTAT CMQSUB CMQSUBRQ
-CICS Statistics STID=102, dataset CICDB2RE new variables
D2RCHGAG D2RCHGDT D2RCHGUS D2RGRFRM D2RINSAG D2RINSDT
D2RINSUS
-CICS Statistics STID=104, dataset CICWBR new variables
WBRCHGAG WBRCHGDT WBRCHGUS WBRGRFRM WBRINSAG WBRINSDT
WBRINSUS WBRNAME WBRUSAGE
-CICS Statistics STID=105, dataset CICPIR new variables
PIRCHGAG PIRCHGDT PIRCHGUS PIRGRFRM PIRINSAG PIRINSDT
PIRINSUS
-CICS Statistics STID=106, dataset CICPIW new variables
PIWCHGAG PIWCHGDT PIWCHGUS PIWGRFRM PIWINSAG PIWINSDT
PIWINSUS
-CICS Statistics STID=108, dataset CICTCPIP new variables
SORCHGAG SORCHGDT SORCHGUS SORGRFRM SORHOST SORINSAG
SORINSDT SORINSUS SORIPADR SORIPFAM SORMXDAT SORTRNID
SORURM
-CICS Statistics STID=109, dataset CICISR new variables
ISRCHGAG ISRCHGDT ISRCHGUS ISRFSICQ ISRFSICR ISRFSICS
ISRGRFRM ISRINSAG ISRINSDT ISRINSUS ISRIPADR ISRIPFAM
ISRLAUTH ISRRMTST ISRTRBYR ISRTRBYS ISRTRREQ
-CICS Statistics STID=111, dataset CICTCPIP new variables
IIRCHGAG IIRCHGDT IIRCHGUS IIRGRFRM IIRINSAG IIRINSDT
IIRINSUS
-CICS Statistics STID=112, dataset CICDHD new variables
DHDCHGAG DHDCHGDT DHDCHGUS DHDGRFRM DHDINSAG DHDINSDT
DHDINSUS
-CICS Statistics STID=114, dataset CICTCPEJ new variables
EJRASSRT EJRCHGAG EJRCHGDT EJRCHGUS EJRGRFRM EJRINSAG
EJRINSDT EJRINSUS EJRIPADR EJRIPFAM
-New CICS stats STID=120, new dataset
CICPGD='PROGRAM DEF (RESOURCE) ID'
new variables:
PGDAPI PGDCHGAG PGDCHGDT PGDCHGUS PGDCONCU PGDDATLO
PGDDYNAM PGDEXECK PGDEXEKY PGDGRFRM PGDINSAG PGDINSDT
PGDINSUS PGDJVM PGDJVMPR PGDLANG PGDLANGD PGDPGMTY
PGDREMOT PGDRMTPG PGDRMTSY PGDRMTTR PGDRUNEN
-New CICS stats STID=140, new dataset
CICECG='EVENTBINDINGS (GLOBAL) ID'
new variables:
ECGFLTOP ECGCAPTU ECGDISAB
-New CICS stats STID=142, new dataset
CICEPG='EVENTPROCESS (GLOBAL) ID'
new variables:
EPGCUEVQ EPGCUTRQ EPGDSPAT EPGDSPCU EPGDSPPK EPGEVTCU
EPGEVTTR EPGEVTTS EPGEVTWM EPGNOREV EPGPKEVQ EPGPKTRQ
EPGPRIEV EPGPUTEV EPGSYNEV EPGTRDEV EPGTRNEV
-New STIDs 141 and 143 are structurally supported, but
only the _CICCMN variables are output, awaiting test
data records to validate.
STID DATASET DESCRIPTION
141 CICECR EVENTBINDINGS (RESOURCE) ID
143 CICECC CAPTURESPEC RESOURCE ID
-See Change 27.200: MXG 27.08 now supports STID 141,143.
-CICS/TS 4.1 is still a BETA release, so IBM may choose to
add, or remove, any of these fields in their GA release.
-See Change 27.200 for Support for CICS/TS 4.1.0 GA.
-Old notes "ADDED IN CICS 4.1.0" were not CICS/TS 4.1, but
are now "ADDED IN CICS/ESA 4.1.0", from 1994!
Change 27.031 A set of sample reports for some basic TCP/IP analysis
ANAL119 from IBM type 119 records (MXG Member TYPE119) for the
May 7, 2009 analysis of FTP and Telnet usage, very similar to the
ANALTCP reports from SMF 118 records (which was also
contributed by Steve, by Change 18.091 in April, 2000!
Excellent comments in the ANAL119 member document these
sample reports, but don't contact Steve for help; any
problems should be directed to support@mxg.com.
Thanks to Steve Clark, DHL, USA.
Thanks to R. Wells, American General Finance, USA.
Change 27.030 -Only the last MDISK segment in XAMDEV records was output
EXXAMDEM in the XAMDEV dataset, but there can be many MDISKs, so
IMACXAM the new XAMDMINI dataset is created, outputting all MDISK
VMACXAM segments, containing these MDISK-specific variables:
VMXGINIT DNMDISKS MDSKADDR MDSKDIST MDSKECYL MDSKOWNR MDSKSAMP
Mar 6, 2009 MDSKSCYL MDSKWRIT MDSKZERO UDSKDIST UDSKSAMP UDSKUSER
Mar 17, 2009 UDSKZERO USSKWRIT
and ALL those variables were removed from XAMDEV dataset.
-The IODCAD logic had a typo, testing for 3390 instead of
for 3990, so the 3990 variables in XAMDEV dataset were
always missing values.
-These MTRPAG variables were kept in XAMSYS but not in the
dataset XAMDEV:
PGS1 PGS2 PGS3 CALCYLPA CALCYLSP CALCYLPR
CALEXTPG CALEXTPS CALEXTPP
Thanks to Douglas C. Walter, Citigroup, USA.
Change 27.029 Support for BMC's Ultra Op Product's User SMF record
EXULOPIN creates new dataset ULTRAOP.
FORMATS
IMACULOP
TYPEULOP
TYPSULOP
VMACULOP
VMXGINIT
Mar 4, 2009
Thanks to Tony Curry, BMC, USA.
Change 27.028 -Support for NMON Nigel's Monitor for AIX/Linux under zVM,
EXNMONPO record type 'VM' adds 37 new variables to the NMONINTV
IHDRNMON Interval dataset. The descriptor record for 'VM' is not
IMACNMON consistent; sometimes its second word is the expected
VMACNMON Tnnnn snapshot value, sometimes that value is missing.
VMXGINIT DIRTY='NR*DIRTY'
Mar 13, 2009 WRITEBACK='NR*WRITEBACK'
UNSTABLE='NR*UNSTABLE'
PAGETABLEPAGES='NR*PAGE*TABLE*PAGES'
MAPPED='NR*MAPPED'
SLAB='NR*SLAB'
PGPGIN='PGPGIN'
PSPGOUT='PGPGOUT'
PSWPIN='PSWPIN'
PSWPOUT='PSWPOUT'
PGFREE='PGFREE'
PGACTIVATE='PGACTIVATE'
PGDEACTIVATE='PGDEACTIVATE'
PGFAULT='PGFAULT'
PGMAJFAULT='PJMAJFAULT'
PGINODESTEAL='PGINODESTEAL'
SLABSCANNED='SLABS*SCANNED'
KSWAPDSTEAL='KSWAPD*STEAL'
KSWAPINODESTEAL='KSWAPD*INODESTEAL'
PAGEOUTRUN='PAGEOUTRUN'
ALLOCSTALL='ALLOCSTALL'
PGROTATED='PGROTATED'
PGALLOCHIGH='PGALLOC*HIGH'
PGALLOCNORM='PGALLOC*NORMAL'
PGALOCDMA='PGALLOC*DMA'
PGREFILLHIGH='PGSTEAL*HIGH'
PGREFILLNORM='PGSTEAL*NORMAL'
PGREFILLDMA='PGREFILL*DMA'
PGSTEALHIGH='PGSTEAL*HIGH'
PGSTEALNORM='PGSTEAL*NORMAL'
PGSTEALDMA='PGSTEAL*DMA'
PGSCANKSWAPDHIGH='PGSCAN*KSWAPD*HIGH'
PGSCANKSWAPDNORM='PGSCAN*KSWAPD*NORMAL'
PGSCANKSWPADDMA='PGSCAN*KSWAPD*DMA'
PGSCANDIRECTHIGH='PGSCAN*DIRECT*HIGH'
PGSCANDIRECTNORM='PGSCAN*DIRECT*NORMAL'
PGSCANDIRECTDMA='PGSCAN*DIRECT*DMA'
-Support for record type 'POOLS' creates new NMONPOOL
dataset with these variables:
ENTITLED='ENTITLED'
ENTITLED_POOL_CAPACITY='ENTITLED*POOL*CAPACITY'
MAX_POOL_CAPACITY='MAX*POOL*CAPACITY'
POOL_BUSY_TIME='POOL*BUSY*TIME'
POOL_ID='POOL*ID'
POOL_MAX_TIME='POOL*MAX*TIME'
SHCPUS_IN_SYS='SHCPUS*IN*SYS'
SHCPU_BUSY_TIME='SHCPU*BUSY*TIME'
SHCPU_TOT_TIME='SHCPU*TOT*TIME'
-New IHDRNMON "NMON infile" exit is taken after RECTYPE
has been INPUT so that unwanted record types can be
deleted prior to processing. But use carefully; if you
delete the wrong records, you could end up with nothing
output to the NMON datasets. And the &IHDRNMOH macro
variable is also defined so the exit can be defined in
your //SYSIN with %LET IHDRNMOH= %quote ( your code ) ;
-Erratic JFSFILE records with 38 instead of 36 fields have
been observed, but that is a problem with NMON, not MXG.
Thanks to Long Nguyen, DHS, USA.
Thanks to Marvin Einarson, DHS, USA.
Thanks to Steven Olmstead, Northwestern Mutual, USA.
Change 27.027 TYPE42DS variables RESPTIME, MAXRSPTM and MAXSRVTM are in
VMAC42 milliseconds, but MAXRSPTM incorrectly had TIME12.2. Now
Mar 2, 2009 all have 6.3 format and milliseconds in their label.
Thanks to Karl Lasecki, Chemical Abstracts Service, USA.
Change 27.026 Variable SMF88LTD='TIMESTAMP WHEN*SMF INTERVAL*EXPIRED'
VMAC88 was usually wrong, as the GMT Offset was repetitively
Mar 2, 2009 applied. Also, the GMT offset was never applied if the
GMT Offset was positive.
Change 27.025 Support for z/OS 1.11.
EXTY8224 -TYPE 0. New variable:
EXTY8225 CVTTZ ='CVTTZ*TIME DIFFERENCE*LOCAL*TO GMT'
EXTY8226 -TYPE1415. NO NEW DATA, but lots of text inserts about
IMAC82 assembling the IFGSMF14 Macro with DSECT=YES, which is
VMAC0 why it is flagged in the SMF Manual as changed.
VMAC82 -TYPE30. NO NEW DATA, only one line of text updated.
VMXGINIT -TYPE82. New subtypes 24, 25, and 26.
May 2, 2009 -TYPE92. Subtype 15 now documented, but MXG supported
was added in Change 26.277 for APAR OA24208.
-TYPE1415 New variables DCBEEX31 XTIOTYES created from
SMF14FLGS.
Change 27.024 If only PMACC04 was requested, a NOT SORTED ERROR for the
ANALDB2R DB2SUMRY dataset occurred. Some additional corrections to
Feb 28, 2009 PMACC01/PMACC02 (short reports had LOCK suspends reported
under the PREFETCH column, and WRITE IMMEDIATES under the
LOCKS column, and time formats match DB2PM (TIME12.6).
Thanks to Paul Volpi, UHC, USA.
Change 27.023 Variables S17FBKNM S17FEXNM and S17FMFNM are now KEPT in
VMAC117 dataset S117NODE so that it can be combined with S117FLOW
Feb 27, 2009 dataset so the Execution Group and Flowname to which the
Node belongs can be known. Those variables are also
added to the _B117NOD and _B117FLO By List macros.
Thanks to Trevor Holland, ANZ, AUSTRALIA
Change 27.022 NDM Record 'IK' is now supported, output in NDMDT dataset
VMACNDM not because I have a DSECT for that NDM subtype, but
Feb 26, 2009 because it appears to have the same structure.
Thanks to Herbert Sweeney, Verizon, USA.
Change 27.021 QPACxxxx flag variables set from QPACFLGS were not reset,
VMACDB2 so if there was more than one NRQPAC segment in a record,
Feb 25, 2009 the values could have been wrong. These eight variables
QPACDBRM QPACPACK QPACCLS8 QPACCRNT QPACINSP QPACCLS7
QPACPAC
could have been carried forward.
Thanks to Giuseppe Giacomodonato, E.P.V. Technologies, ITALY.
Change 27.020 WEEK70PR failed with VARIABLE INTERVAL NOT FOUND because
WEEK70PR - that variable has not existed in ASUM70PR in years, and
Feb 25, 2009 - WEEK70PR was way out of date, only supporting 16 LPARs.
This change recreates the old INTERVAL (interval count)
and was enhanced to support all 60 possible LPARS.
Thanks to Atle Mjelde, Ergo Group, NORWAY.
Change 27.019 CICS User fields USECOPID/USECUSER/USECBRAN/APPCEMP1
IMACAAAA are supported in listed new IMACICxx CICS exit members.
IMACICUA IMACICUA - USECOPID
IMACICUB IMACICUB - USECUSER
IMACICUC IMACICUC - USECBRAN
IMACICUD IMACICUD - APPCEMP1
UTILEXCL
VMAC110
Feb 24, 2009
Change 27.018 DB2 V9 variables added by IBM or overlooked now input.
VMACDB2 New variables in DB2STAT0/DB2STATS from QWSD segment:
Feb 23, 2009 QWSDARTH='ROLLUPS*DUE TO*ROLLUP*THRESH*EXCEEDED'
QWSDARSG='ROLLUPS*DUE TO*STORAGE*THRESH*EXCEEDED'
QWSDARST='ROLLUPS*DUE TO*STALENESS*THRESH*EXCEDED'
QWSDCDTB='NOT ROLLUP*DUE TO*KEY FIELDS*NULL'
New variable in DB2STAT0/DB2STATS from QVLS segment:
QVLSL254='CONTENTIONS*LATCH CLASS*254'
New variables in DB2STAT0/DB2STATS from QVAS segment:
QVASCBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-WAIT'
QVASCBOF='FAILED*SYSEVENT*BOOSTS*THREAD-WAIT'
QVASMBOS='SUCCEED*SYSEVENT*BOOSTS*THREAD-STORE'
QVASMBOF='FAILED*SYSEVENT*BOOSTS*THREAD-STORE'
New variables in DB2STAT0/DB2STATS from QSST segment:
QSSTGETS='QSST_SGETM*STACK*REQUEST*GETMAINS'
QSSTGETR='QSST_SGETR*GET*REQUESTS'
QSSTGETE='QSST_SGETEXT*STACK*EXTENSIONS'
QSSTFRES='QSST_SFREEM*SEGMENT*FREEMAIN*REQUESTS'
QSSTFRER='QSST_SFREER*REQUESTS*TO FREE A*SEGMENT'
New variables in DB2STAT0/DB2STATS from QWOS segment:
QWOSLUIC='UNREFERNCED*INVERVAL*COUNT'
QWOSFLG ='STATUS*FLAG FOR*RMF-API (S)'
QWOSRCDE='RETURN*CODE FROM*RMF-API (S)'
QWOSRSNC='REASON*CODE FROM*RMF-API (S)'
NOTE: DB2 Parameter ZOSMETRICS=YES must be specified to
populate these variables. APAR PK62116 applies.
With the default NO value, fields contain 'FFFFFFFF'x.
New variables in DB2STAT1/DB2STATS from QXST segment:
QXCRESEQ QXALTSEQ QXDROSEQ QXPRRESI QXALTVW
QXALTCTX QXALTJR QXCRCTX QXCRROL QXDRPCTX QXDRPROL
QXMERGE QXRNIX QXSTXMLV QXTRTBL
These variables were not INPUT in the DB2STAT1 record,
but were deaccumulated; all were labeled and did not
raise an uninit warning because they were INPUT in the
DB2ACCT record.
New variables in DB2ACCT from QXST segment:
QXALTCTX QXALTJR QXCRCTX QXCRROL QXDRPCTX QXDRPROL
QXMERGE QXRNIX QXSTXMLV QXTRTBL
These variables were INPUT but not kept.
Variable QBSTLPL in DB2ACCT was not input because its
conditional INPUT should have been at 276 vice 280.
Thanks to Steve Wood, DST Systems, USA.
Thanks to Terry L. Berman, DST Systems, USA.
Change 27.017 Undecoded TOKDANAM non-tokens NOHOME/NOPROGRAM now set
EXTY80TK their segment-specific variables TOKHOME/TOKPROG to value
IMAC80A 'NOHOME' or 'NOPROGRAM', and logic was added to print
VMAC80A the first ten instances of undecoded TOKDANAM values with
VMXGINIT ***MXGNEWDATA: messages and a hex dump on the SAS log.
Feb 20, 2009 -NOTHREADMAX and NOSHMMEMAX non-tokens create new variable
Mar 13, 2009 TOKNOTHR and TOKNOSHM with those text values, and real
token LDAPHOST decodes and populates new var TOKLDHST.
-However, it was discovered that there can be multiple
instances of the (301) segment, with different TOKSUBSY
values, so these "TOKDANAM-specific" variables
TOKASIZM TOKDCE TOKGID TOKHOME TOKLDAP
TOKLDHST TOKNOSHM TOKNOTHR TOKPROG TOKUID
cannot be kept in the TYPE80nn event datasets, since only
the last value would be output. Instead, new TYPE80TK
dataset is now created, with both the TOKDANAM-specific
variables, and TOKSUBSY, TOKDANAM, TOKCHARV and TOKNUMRV
replications to give you easier reporting choices.
Thanks to Bill Arrowsmith, EuroClear, BELGIUM.
Thanks to Maurice Peek, EuroClear, BELGIUM.
Change 27.016 -SMF 42 Subtype 25 (Rename Member), NEWMEMNM/OLDMEMNM were
VMAC42 misaligned, because SMF42PF1 plus 3 reserved bytes only
Feb 20, 2009 exist in the subtype 24 record.
-The three member name fields NEWMEMNM/OLDMEMNM/AORMEMNM
in subtypes 24 and 25 are theoretically variable length
fields, so they were INPUT x $VARYING8. SMF42PML/QOL, but
those lengths are always 8 bytes, so now $EBCDIC8. is
used, which also makes them correct under ASCII SAS.
-The subtype 25 record has a minor error: SMF42NT/NRTRIPLT
the number of triplets, is 3, but 4 triplets are present.
The fourth points to ICHRUTKN, so MXG tests the offsets
rather than trusting the NRTRIPLT.
Thanks to David Kaplan, DTCC, USA.
Change 27.015 Support for processing DB2 GTF records was revised.
UDB2GTF -The SORT FIELDS= statement in UDB2GTF must be changed to
VMACSMF only sort on the first field; without this change, there
Feb 20, 2009 was no error, but the output records were incorrect.
-The _GTFDB2 macro now sets ID=101 if IFCID=239 is found.
-The massive number of DEBUG statements are no longer
printed on the log, unless you choose to enable debugging
in the UDB2GTF program.
Thanks to Tony Curry, BMC, USA.
Thanks to Steve Wood, DST Systems, Inc, USA.
Change 27.014 -SAS option TRANSCODE=NO is now set for all $HEX variables
DOC so they are NOT translated from EBCDIC to ASCII or vice
FORMATS versa. Normally when a SAS dataset is moved between
UTILCVRT different platforms (XPORT,CIMPORT,etc.), all character
UTILXRF1 variables are translated, but this is most unwelcome for
VMXGINIT MXG variables that contain $HEX values (CPUTYPE changed
VMXGSUM from '2086'x to '8786'x). The TRANSCODE attribute is set
Mar 8, 2009 in SAS V9 with syntax "ATTRIB var1 var2 TRANSCODE=NO;"
May 4, 2009 but since it does not exist under SAS V8, and there still
are MXG sites limping along on archaic SAS V8, two new
GLOBALed macro variables, &MXGNOTRA and &MXGNOTRB, are
defined in VMXGINIT by this macro logic:
%IF &SASVER GE 9 %THEN %DO;
%LET MXGNOTRA= ATTRIB ;
%LET MXGNOTRB= TRANSCODE=NO;
%END;
%ELSE %DO;
%LET MXGNOTRA= * ;
%LET MXGNOTRB= ;
%END;
and then this statement was added in each of the 300+
members that create $HEX variables
&MXGNOTRA var1 var2 var3 &MXGNOTRB ;
so the TRANSCODE=NO attribute will be set under SAS V9,
but under SAS V8, that statement becomes only a comment.
-In addition to variables formatted with the $HEX format,
there are character variables that contain hex values but
they are formatted with MXG-created $MGxxxxx formats. The
FORMATS member was read to select those format names, and
lookup format $MGNOTRA was created to validate that these
"$MG-HEX" variables also have the TRANSCODE=NO specified.
New QA tests read FORMATS to discover any new "$MG-HEX"
formats, and update the $MXNOTRA table when new formats
are found (if I forget when creating a new one!).
-In March, 2009, SAS V9 did not pass the ATTRIB TRANSCODE
into a dataset created by a SAS VIEW, but in May, 2009,
that was corrected by HotFix E9BC81 SAS Note SN-035112,
and this change text was revised.
-However, it was also discovered that the dataset created
by the PROC CONTENTS OUT= operand does NOT contain the
TRANSCODE attribute; that OUT= dataset is a major input
for MXG's QA testing of variables. While the printed
output of PROC CONTENTS does show the TRANSCODE
attribute, it is ONLY printed for datasets that have a
variable with TRANSCODE=NO specified. Fortunately, the
SASHELP.VCOLUMN dataset does contain the TRANSCODE
attribute for every variable, so UTILXRF1 was revised to
use that dataset to add TRANSCODE to the OUT= XREFDATA
dataset used for QA analysis. SAS Development has
indicated their intention to correct the omission in PROC
CONTENTS OUT= in a future release.
-UTILCVRT can be used if the dataset was already moved to
the new platform, to "un-translate" the $HEX variables;
it's comments were updated.
-And, for WPS, the VMXGINIT default sets MXGVIEW=NO.
-New $MGNOTRA is created in FORMATS by reading the FORMATS
member to identify MXG-created formats that have HEX data
values, and then it is used in the QA tests to ensure all
of those variables do indeed have TRANSCODE=NO specified.
-Because this change can be recognized by the existence of
&MXGNOTRA in each updated member, I did NOT change the
"LAST UPDATED:" text at the top of the 300+ members that
created a total of 9831 $HEX-containing variables.
I also did not add the TRANSCODE attribute to the DOCVER
nor to the ADOCxxxx descriptions, as there's no room for
a new attribute, and because a PROC CONTENTS will show it
if you really need to confirm its value for a dataset.
Change 27.013 TMON for MQ Series INPUT STATEMENT EXCEEDED RECORD for QM
VMACTMMQ subtype; MXG expected 18 reserved bytes that don't exist.
Feb 18, 2009
Thanks to Paul Volpi, UHC, USA.
Change 27.012 This enhancement to select DB2 reports by DATABASE set a
ANALDB2R new MXG world record, with fifteen iterations needed to
VFMT102 resolve all possible permutations discovered in testing!
Feb 17, 2009 Selection by DATABASE uses the HEX values of OBID/DBID to
Feb 21, 2009 select the desired observations from DB2 datasets, but
if IFCID=105 and 107 were traced, they are used to map
hex values to text names. If you did not trace 105/107s,
or no 105/107 for the OBID/DBID being reported was found,
the reports will print the HEX value instead of the name.
New documentation in comments for the AUDIT= subparameter
list the IFCIDs needed for full AUDIT report generation,
as well as those that do contain the Database ID field.
-If only PMACC02 was specified, and if both ASUMDB2A and
DB2ACCCT datasets exist in the DDNAME/LIBREF pointed to
by the PDB=xxx operand of %ANALDB2R, and if USEACCT=YES
was specified, ASUMDB2A was always used when DB2ACCT
should have been used.
Thanks to Scott Swindling, Nordstrom, USA, who tested each iteration!
Change 27.011 Support for CTG V7.2 (INCOMPATIBLE, new CTG_RECID=7 made
VMAC111 INPUT STATEMENT EXCEEDED RECORD LENGTH error). That new
Feb 19, 2009 subtype is not documented in SC34-6961-00, but protection
for any new subtype was added, with a NOTE that new data
exists in the future.
-CTG_RECID=3 for GD (Gateway Daemon) added new variables:
CTGDFSRV='DEFAULT*SERVER*FOR*GATEWAY'
CTGHOSNM='HOSTNAME*OF GATEWAY*COMPUTER'
CTGIHAEX='CICS*REQUEST*EXIT*CALLS'
CTGISYNC='SYNCONRETURN*FAILS'
CTGLHAEX='CICS*REQUEST*EXIT*CALLS'
CTGLSYNC='SYNCONRETURN*FAILS'
Thanks to Renato Guerra, SGS Banco Popolare di Verona, ITALY.
Thanks to Davide Marone, SGS Banco Popolare di Verona, ITALY.
Change 27.010 Variable SMF70CIX is now output in PDB.TYPE70PR dataset,
VMAC7072 as it is the CPU Pool Number. While it has been INPUT
Feb 16, 2009 for years, it was only used as an index to find out the
engine type of each LCPUADDR, to store into SMF70CIN; it
was Martin's SlideShow that educated me to the fact that
it is also the CPU pool number, and hence worth keeping.
http://www.slideshare.net/MartinPacker/much-ado-about-cpu
Thanks to Martin Packer, IBM, EUROPE.
Change 27.009 -SYSLOG MSGID IEF233D was captured by ASMTAPEE in ML-43,
VMACTMNT last summer, but VMACTMNT was not updated to decode it,
Feb 13, 2009 causing "UNEXPECTED" messages to be printed on the log.
That MSGID is now output by VMACTMNT in TYPESYMT dataset.
Support for IEF233D in ASUMTAPE was already in place.
-SYSLOG messages that do NOT contain DSNAME are created if
your site has NOT specified COM='MONITOR DSNAME' in your
SYS1.PARMLIB(COMMNDxx). This causes either blank DSNAMEs
in PDB.TYPESYMT and PDB.ASUMTAPE, or, it caused DSNAME to
have "MEDIAn", because the SYSLOG MSGID IEC705I was
incorrectly parsed when DSNAME was not populated. The
location of the DSNAME in IEC705I is variable, so MXG's
parsing was revised to only INPUT the SYSLDSN if the text
ends in 'MEDIAx'. A new warning message is printed if the
last field is not MEDIAx, and a warning if the sss field
is blank, so I can validate my parsing of that instance.
Thanks to Yves Cinq-Mars, IBM Global Services, CANADA.
Change 27.008 z/VM 5.2 MONWRITE BROKEN CONTROL RECORD ERROR, because
VMACVMXA MXG unconditionally INPUT variable PFXCPUTY in 4 subtypes
Feb 13, 2009 but the other 8 subtypes input that field conditionally.
These four subtypes are now also conditionally INPUT
(0.1 SYTSYP, 3.2 STORSP, 3.20 STOSXP, 5.3 PRCPRP) based
on the length of the segment.
Thanks to Tom Draeger, Aurora, USA.
Change 27.007 Support for IBM's ENQ/DEQ Monitor was initially added in
FORMATS Change 26.323, but several fields were not documented by
VMACENQM IBM in the DSECT; the ENQFLAG1/ENQFLAG2 are now decoded,
Feb 11, 2009 and the description of ATTR1 bit settings were deduced.
Change 27.006 Several logrec character variables were length $200 due
VMACEREP to that pre-SAS-V8-length-limit, or were input $CHAR200
Feb 14, 2009 but then reduced because of shorter $HEX format length.
These revisions were made:
New SDWA $400. $HEX800. Removed: SDWA1, SDWA1A.
New SDWARC1 $456. $HEX912. Removed: SDWARC1A,1B
New SDWARC2 $16. $HEX32.
New SDWARC3 $32. $HEX64.
New SDWARC4 $360. $HEX720.
New SDWAVRA $255 $HEX510. Removed: SDWAVRA1.
New LXC2SNI $228. $HEX456. Removed: LXC2SNI1,2
Old SLHIRB increased to $HEX128.
Thanks to Ken W. Kasten, Embarq, USA.
Change 27.005 -The _RPDBID macro previously printed PROC FREQ tabulation
BUIL3001 of SMF Record IDs that were read by BUILDPDB (by SYSTEM).
BUILD001 Now, it prints ID+SUBTYPE with the new IDANDSUB variable,
BUILDPD3 e.g., IDANDSUB=110.002 for the ID=110 SUBTYPE=2 records.
BUILDPDB Additionally, the output of the PROC FREQ is now created
MONTHASC in the new PDB.SMFRECNT dataset.
MONTHBL3 -The WEEKly and MONTHly PDB build programs were updated to
MONTHBLD create the SMFRECNT there as well, sorted BY ZDATE.
MONTHBLS -All of the WEEK/MONTH programs are enhanced so that they
MONTHDSK will NOT fail when an expected dataset does NOT exist.
MONTHWEK This means you can implement a new BUILDPDB on any day of
WEEKBL3 the week (previously, the only safe day was to implement
WEEKBL3D on the first day of your week, so all seven day-of-week
WEEKBL3T PDBs had the new dataset for the new WEEKly job.), and on
WEEKBLD any day of the month for the MONTHly job. Now, by using
VMACID SAS OPTIONS NODSNFERR NOVNFERR instead of just NODSNFERR,
Feb 12, 2009 the DATASET-NOT-FOUND is protected by NODSNFERR, and the
BY-VARIABLE-NOT-FOUND is protected by NOVNFERR.
Well, almost: A WARNING: BY VARIABLE NOT FOUND will be
printed on the SAS log, but that warning does not set
_ERROR_, so there is NO return/condition code created,
which is exactly what is desired for this condition.
However, it is inconsistent for a WARNING message to
not set a condition code, but since we do NOT want that
here, SAS Technical Support has said the "WARNING" text
will be changed to "NOTE" in the future.
Thanks to Diane Farias, IBM Global Services, CANADA
Change 27.004 Support for SMF 113 Hardware Instrumentation Services HIS
EXTY113 record, documented in SA23-2260,SA23-2261 and added by
FORMATS APAR OA25755 (and possibly other APARs), creates TYPE113
IMAC113 dataset with six Basic, six Program State, sixteen Crypto
TYPE113 and twenty-four Extended counters of Level One, Two and
TYPS113 Three Data and Instruction Cache activity counts for each
VMAC113 CPU engine. The counts are accumulated, so the TYPS113
VMXGINIT member, which does the de-accumulation in the _S113 SORT
Feb 8, 2009 macro, must be used, or with BUILDPDB, you must add the
_S113 product sort macro in your EXPDBOUT member.
Thanks to IBM z/OS Developer Support Program for providing SMF data!!
Change 27.003 Support for Tivoli Automation SMF 114 record.
EXTY114 Creates new TYPE114 dataset from subtype 1 record.
FORMATS This was originally completed on Jan 11, 2009, as Change
IMAC114 26.298, but I accidentally re-used/overwrote that change
TYPE114 text. The was no change to the code delivered in 26.26.
TYPS114
VMAC114
VMXGINIT
Jan 11, 2009
Feb 9, 2009
Thanks to Siegfried Trantes, Gothaer Systems GmbH, GERMANY.
Change 27.002 -Original MXG 26.26 ONLY. Corrected in Feb 12 Version.
READDB2 -READDB2 in MXG 26.26: might not create all datasets that
Feb 11, 2009 you requested, and could impact ANALDB2R(PDB=SMF,...) as
Feb 16, 2009 the READDB2 member is invoked by ANALDB2R to read SMF.
Feb 17, 2009 Last minute changes for IFCID=255 and DB2STAT4 were made
Feb 20, 2009 but validation focused only on that correction.
-If VMXGTIME was being used, when READDB2 tried to resolve
a local macro variable it got a bad value placed in a
local macro variable by VMXGTIME. This generated a
WARNING: MACRO VARIABLE NOT RESOLVED. The macro variable
name was changed in READDB2 to prevent the conflict.
-The Second READDB2 in the re-dated MXG 26.26 could fail
if the DB2= operand was used to select DB2 SubSystems.
Fortunately (for me!), this caused an actual 180 ERROR
condition before any data was read, so it was NOT like
the first (insidious) error that you could overlook until
you tried to read a non-created DB2 dataset, thus this
error did not require another refresh! But the revision
revealed an unrelated/unreported inconsistency with the
documentation, if you had multiple selection criteria,
like %READDB2(DB2=DB2X DB2Y, PLAN=PLANA PLANB). Those
criteria were ORed, so all PLANs from DB2X or DB2Y were
selected, plus all subsystems with PLANA or PLANB were
also selected. The logic is now revised to AND all of
the selection criteria, so now only PLANA or PLANB from
only either DB2X or DB2Y would be selected.
And, a cosmetic change was made so that the selection
criteria are printed on the SAS log, so you can see what
was requested.
-A pair of additional errors were also corrected. Only
DB2ACCTP was created from ACCOUNT if IFCIDS=ALL was used,
and calling READDB2 from ANALDB2R could cause this error:
DATA=ZZDB2PST; %
ERROR: OLD-STYLE MACRO NAME % MUST CONTAIN ONLY
LETTERS, DIGITS, AND UNDERSCORES.
-May 20: Writing SMFOUT on PC's &RECFM corrected.
-May 24: The T102S225, DB2STAT4, IFCID=225 building was
significantly redesigned in Change 27.097.
Thanks to Raff Rushton, Kaiser Foundation Hospitals, USA.
Thanks to Scott Chapman, American Electric Power, USA.
Thanks to Tony Curry, BMC, USA.
Change 27.001 MXG 26.26 ONLY: PDB.RMFINTRV negative PCTCPUBY: HiperDisp
VMXGRMFI But ONLY if HiperDispatch is active, plus negative values
Feb 11, 2009 in variables PCTOVHTD CPUACTTM CPUOVHTM MSUINTRV MSUPERHR
MSU4HRAV and PCTOFHDW. A recalculation of CPUACTTM was
not tested with RMF data with HiperDispatch active (i.e.,
when SMF70PAT/CPUPATTM were GT zero). That recalculation
was removed by this change.
Thanks to Chuck Hopf, Bank of America, USA.
LASTCHANGE: Version 27.