Jun 20, 2014 MXG logic had assumed the segments were in order, the BMC
Jul 9, 2014 insertion of their 32 segment caused the QWAC fields to
to be blank/missing, as the insert prevented segment 2
being input. Logic is now independent of the order.
-Using %READDB2(IFCIDS=BMC); worked fine on ASCII but did
not work on z/OS, because the test "IF &IFC GT 3" is true
on ASCII when &IFC is BMC, but the collating sequence on
z/OS causes BMC to be LESS than 3, so BMC subtypes were
not read. The test now explicitly tests for 'BMC'.
-Observed: TITLE CREATED BY _T102BMC; created an error;
the title must be in quotes to prevent macro _T102BMC
from being resolved as code!
Thanks to Janet Smith, BMC, USA.
Thanks to Tony Curry, BMC, USA.
Change 32.147 -ODS doesn't support character variables with $HEX format:
DOC SAS development investigated this issue with their XML
Jun 26, 2014 parser and the problem is caused because the values have
to be converted to XML, and Unicode values in
user-defined formats are not supported by the ODS
Graphics procedures.
Furthermore, ODS does not use the FORMATTED value of a
variable that contains hex values:
%INCLUDE SOURCLIB(TEST73);
PROC SGPLOT DATA=TYPE73;;
SCATTER X=STARTIME Y=PCHANBY/GROUP=SMF73CPD;
FORMAT SMF73CPD $HEXCHAR.;
RUN;
So it is necessary to create a new variable with the
format and use it:
DATA PLOT/VIEW=PLOT;
SET PDB.TYPE73;
CHANTYPE=PUT(SMF73CPD,$MG073CD.);
PROC SGPLOT DATA=PLOT;
SCATTER X=STARTIME Y=PCHANBY/GROUP=CHANTYPE;
-JMP doesn't support variables with ATTRIB TRANSCODE=NO.
The TRANSCODE= attribute can be changed with a DATA step
DATA NEW; ATTRIB variable TRANSCODE=YES; SET OLD;
Or with a PROC DATASETS
proc datasets lib=work memtype=data;
modify type73;
attrib _all_ TRANSCODE=YES;
run;
fails with errors:
attrib _ALL_ TRANSCODE=YES;
-
22
76
ERROR 22-322: Syntax error, expecting one of the
following:
a name, -, :, FORMAT, INFORMAT, LABEL, LENGTH, _ALL_,
_CHARACTER_, _CHAR_, _NUMERIC_.
ERROR 76-322: Syntax error, statement will be ignored.
Thanks to MP Welch, Bank of America, USA.
Change 32.146 Cosmetic, line "@; PUTLOG _N_= COL= DCVSGLNG=...; INPUT"
VMACDCOL left from testing Change 32.103 is now deleted.
Jun 23, 2014
Thanks to Clayton Buck, UNIGROUP, USA.
Change 32.145 Cosmetic. MXGNOTEs that VMXGSUM is bypassing a step or a
VMXGSUM sort that is not needed, are suppressed, unless you have
Jun 23, 2014 set %LET MXGEXIMSG=YES to print those suppressed notes.
Change 32.144 MXG 32.03-32.05 INVALID STID=60 CICS/TS 2.3 Statistics
VMAC110 error was not protected by Change 32.077, which had only
Jun 23, 2013 protected CICS/TS 3.2-5.1. The IBM error being protected
is that DSGLLEN=128, the correct length of the header, is
not the 136 byte length of each TCB segment. Previously,
all 136 bytes were always INPUT without a length test.
But CICS/TS 5.2 increased the length to 160, so 32.077
reset DSGLLEN to 136, but with data only back to 3.2 for
validation, the test was (65 LE SMFPSRVR LE 67). Now
(63 LE SMFPSRVR LE 67) is used to protect both CICS/TS
2.3 and 3.1 by resetting DSGLLEN to 136.
Thanks to Craig North, FHG, ENGLAND.
Change 32.143 The CPUZIPTM for SYNCSORT was a missing value for COPY or
VMACSYNC SORTs that did not use Sort Works DDs. MXG code was
Jun 22, 2013 revised, after discovering that the DS H'0' field in the
DSECT after then SMFWKEXL DS H'0' field does NOT exist
when NRSORTWK=0.
Thanks to Richard Krueger, Sentry Insurance, USA.
Change 32.142 READDB2 failed if FIRSTOBS NE 1 or OBS NE "enough" for
READDB2 the internal DATA steps needed to build the code, if you
Jun 22, 2014 asked for individual IFCIDS. Now, the original values for
FIRSTOBS/OBS are stored, the text for the code and sorts
are generated, and then they are restored to control the
SMF records read. Note, however, that you will then need
to reset FIRSTOBS=1 and OBS=MAX after READDB2 to process
the output datasets. For example, to read a single SMF
record for a single IFCID:
OPTIONS FIRSTOBS=123456 OBS=123456;
%READDB2(IFCIDS=376);
RUN;
OPTIONS FIRSTOBS=1 OBS=MAX;
PROC PRINT . . .
Change 32.141 Support for IFCID=376, but the DB2 V11 DSECT shows that
VMAC102 the last field is QW0376PN, which ends in byte 165 of the
Jun 21, 2014 record which has LENGTH=662, so a PMR is to be opened
with IBM DB2 support to determine if those extra bytes
are real or trash. In addition, the QW0376TS value, a
timestamp, contains '19871FAF182106A5'x, which I do not
recognize as a valid datetimestamp.
Thanks to Paul Walters, Navy Federal Credit Union, USA.
Change 32.140 -RACF SMF 80 INPUT EXCEEDED error because STATE field for
VMAC80A DISTRICT OF COLUMBIA DC exceeded the $VARYING16 LENVAR,
Jun 21, 2014 and SAS only INPUTs 16 bytes even when LENVAR is 24.
Informat changed to $VARYING32.
-Variable TOKMCARRIER now decoded into TYPE80TK dataset.
Thanks to David W. Chambers, Norfolk Southern, USA.
Change 32.139 -MXG 32.05 only, ONLY if BUILD606/BUILD3606 logic (or user
VMAC113 program with ELSE _CDE113). MXG 32.05 had this commented
Jun 20, 2014 debug statement *PUTLOG // _N_= ID= SUBTYPE= //; after
the MACRO _CDE113 statement, which caused a 180 syntax
error when preceded by the ELSE statement.
BUT: had I used /* PUTLOG . . . */ syntax, there was
NO ERROR!
The commented debug statement is now removed.
-If the EXPDBCDE member was used to add SMF 113 to your
BUILDPDB or if you used UTILBLDP, there was no error.
-But this goes all the way back to Change 15.354, (1998)
which was supposed to ensure that all SMF processing
members had syntax of IF ID= . . . immediately following
their MACRO _CDExxxx statement, so they could be used in
BUILD606/BUILD3606. I now find these other members also
didn't comply with 15.345; they all had a semicolon ahead
of their IF statement, which is now removed:
VMAC110 VMAC111 VMACBVIR VMACCDC VMACCMHM VMACCTCD
VMACGUTS VMACID VMACIPAC VMACMVTP VMACSHDE VMACZCOS
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
====== Changes thru 32.138 were in MXG 32.05 re-dated Jun 18, 2014======
Change 32.138 First MXG 32.05. VMACRMFV had a syntax error due to last
VMACRMFV minute untested update I rushed in at the last minute.
Jun 18, 2014 Update was an attempt to match Delay Percents in MXG to
IBM RMF III reports, but research is still in progress.
Four lines with WHEN ( ) AND syntax were incorrect but
are now removed.
Thanks to Robert B. Richards, OPM, USA.
Thanks to Matthew Brooks, OPM, USA.
Change 32.137 -All JCLTESxx members now all test with TESSxxxx members,
JCLTES91 which invoke all of the PROC SORTs so that the existence
JCLTES92 of BY variables is validated in testing. Previously, the
JCLTEST9 TESTxxxx members were used, which did not test SORTs.
JCLTESS9 -Members JCLTESS9, JCLTEST9, and JCLTES92 are identical;
TESTOTHR the multiple names are kept because of prior references.
Jun 18, 2014 -TESTOTHR had a mislocated %END; statement that is fixed,
but any of your code that %INCLUDES SOURCLIB(TESTxxxx)
should be changed to use TESSxxxx instead per preceding,
but the TESTxxxx members will remain in MXG forever.
Thanks to Jim Horne, Lowe's, USA.
====== Changes thru 32.136 were in MXG 32.05 dated Jun 16, 2014=========
Change 32.136 VMACSMF: CICS version variable SMFPSRVR is formatted
VMACSMF with existing MGVERCIC so the version (e.g. TS5.1) is
UTILEXCL printed instead of its internal value (e.g. 68).
Jun 16, 2014 Since SMFPSRVR is not formatted in the other members,
Jun 19, 2014 the VMACSMF format will apply to all datasets read from
infile SMF with a CICS Version value in SMFPSRVR.
-UTILEXCL: Options NOCENTER improves report formatting.
-IMACICEZ: Comments revised: this member always inputs
five fields so it is removed from REPORT THREE-A as only
its comment block needs to be removed.
-IMACICE1 and IMACICE2: Comments revised to direct you to
use REPORT THREE-A to EDIT to find your number of fields.
Change 32.135 Labels for NDM datasets from a single subtype are now
VMACNDM explanatory. Multi-subtype datasets are still labeled
Jun 14, 2014 with the list of subtypes, but comments were updated to
list all of the subtypes that are documented.
Thanks to MP Welch, Bank of America, USA.
Change 32.134 Datasets BVIR322/BVIR323/BVIR324 for some POOLs were NOT
VMACBVIR output. The test for ATLGVOLS=0 that terminated the scan
Jun 14, 2014 on the first instance was invalid as there are many pools
AFTER that test. Now, all 32 possible pools are scanned
and only those with ATLGVOLS GT 0 are output, so all of
the active POOLs are output.
Thanks to Doug Medland, IBM Global Services, USA.
Change 32.133 -VMXGSUM is enhanced to support "concatenation" of "PDBs".
VMXGSUM Existing VGETDDS logic is implemented in VMXGSUM. The new
Jun 14, 2014 syntax %VMXGSUM(INDATA=CICSTRAN,USEVGETDDS=CICTRN:); will
input all DDNAMES/LIBNAMES from CICTRN1 up to CICTRN99.
INDATA must be set to a SINGLE dataset without a LIBNAME
reference, but it may include a (KEEP=VARA VARB ...)
modifier. The DATA step is passed as a view to the SORT.
-To fully support concatenated PDBs on tape, OPEN=DEFER is
forced when USEVGETDDS is specified.
Change 32.132 CALLEDBY= parameter added for internal use by MXG.
VGETDDS NOTES telling you what was allocated are suppressed
Jun 14, 2014 unless MXGEXIMSG=YES.
Change 32.131 -%READDB2(IFCIDS=BMC) created the 11 BMC APPTUNE datasets
READDB2 but then failed because _S102BMC macro does not exist.
Jun 13, 2014 Using IFCIDS=ALL does circumvent this error, but now the
individual _Sdddddd macros for the 11 BMC datasets are
invoked when IFCIDS=BMC is specified.
-Redundant code block for BMC removed in READDB2.
Thanks to Tony Cury, BMC, USA.
Change 32.130 Support for doc APAR OA35811 (replaced, FIN) by OA54385,
VMACRMFV for RMF III GEIG3 corrects the length of GEIRSTRF in z/OS
Jun 8, 2014 2.1 to 8 bytes, but actual data records show GEIRSTRF was
also 8 bytes in 1.13. But the code changes caused by the
doc APAR is that GEIRPOOL, the Average Online Real
Storage, is no longer used in z/OS 2.1 and GEIRSTRF is
the replacement. So this MXG change stores GEIRSTRF back
into GEIRPOOL in z/OS 2.1 so your existing reports using
GEIRPOOL will be correct without change.
But there appears to be an undocumented change in 2.1, as
I THINK (TO BE VALIDATED) that the order of subsequent
GEILF4K and GEILP4K in 1.13 were reversed in 2.1. When
input as originally documented, these are the values:
GEILF4K GEILP4K
(Fixed) (Pageable)
1.13 60 316,680
2.1 108,180 0
which seems to be wrong for 2.1.
Thanks to Victoria Lepak, Aetna, USA.
Thanks to Steven Yucha, Aetna, USA.
Thanks to Miguel Mercado, Aetna, USA.
Thanks to Micheline Bissell, Aetna, USA.
Change 32.129 Protection for zero length data that printed this message
VMAC80A SMF 80 SEGMENT 301 HAS UNDECODED TOKDANAM=
Jun 6, 2014
Thanks to David Kaplan, DTCC, USA.
Change 32.128 Variable QBGLNW='PAGE-IN*WRITE*AROUND' now INPUT and kept
VMACDB2 in dataset DB2GBPST. Field was added in DB2 V11.
Jun 6, 2014
Thanks to Giuseppe Giacomodonato, EPVTECH, ITALY.
Change 32.127 New %VMXGDEL0 utility can delete all datasets with zero
VMXGDEL0 observations, with or without a report of members and
Jun 11, 2014 their count of obs, or only a report can be generated.
While zero-obs datasets take essentially no disk space,
some SAS procedures open all datasets in a data library,
creating unnecessarily long menu lists. But, use this
tool with care, since if you delete zero observation
datasets from a "daily PDB" library, you could easily
cause other jobs (that still reference old datasets that
are no longer populated) to fail when you delete members.
This was handy to use after %READDB2(IFCIDS=ALL) so only
the populated T102Snnn datasets remained
Thanks to MP Welch, Bank of America, USA.
Change 32.126 Support for new Subtype 1 of HIS SMF ID=113 creates new
VMAC113 DDDDDD DATASET DESCRIPTION
ASUM113 TY1131 TYPE1131 HIS HARDWARE MONITOR DETAIL
Jun 2, 2014 IBM will not enhance the original Subtype 2 (accumulated
values), and the Subtype 1 contains interval delta values
so the first observation(s) are not lost in TYPE1131. The
ASUM113 program creates both ASUM113 (ST=2) and ASUM1131
(ST=1), but ASUM1131 should be used if it is populated,
as it will have more observations than ASUM113.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.125 New MGIBMxx formats created to support MOBILE WORK.
FORMATS Preliminary MOBILWRK program to identify Mobile Work.
MOBILWRK See the MOBILWRK member in MXG 32.05 for documentation.
MOBWRK00
MOBWRK01
MOBWRK02
MOBWRK03
MOBWRK04
MOBWRK05
MOBWRK73
MOBWRKS3
MOBWRK83
MOBWRKC3
MOBWRKD3
MOBWRKI3
MOBWRKM3
MOBWRKW3
TESTMOBQ
TESTMOBP
JUN 16, 2014
Thanks to Al Sherkow, I/S Management Strategies, Ltd.
Change 32.124 The DOCVER member, which documents all variables in all
UTILVREF MXG datasets, is enhanced by the addition of the BYLIST
May 31, 2014 for all datasets that are sorted. Most "important" MXG
datasets are sorted when the TYPSxxxx member is used to
SORT from WORK to PDB, but some datasets still have only
a DATA step to COPY from WORK to PDB. Contact support if
you use a dataset that is not sorted and be prepared to
send data, since actual data records are required to find
the BY list that removes duplicated.
Thanks to MP Welch, Bank of America, USA.
Change 32.123 Support for RSD USER SMF ACCOUNTING record Version 2.1
EXRSDSDS creates four new datasets:
EXRSDSES dddddd dataset description
EXRSDSEP RSDSDS RSDSDSET RSD SMF ACCOUNTING DATASET
EXRSDSNL RSDSES RSDSAESR RSD SMF SLR ACCOUNTING
FORMATS RSDSEP RSDSAEPR RSD SMF EPR ACCOUNTING
IMACRSDS RSDSNL RSDSANLR RSD SMF NLR ACCOUNTING
VMACRSDA Support for RSD USER SMF AUDIT record Version 2.1 is a
VMACRSDS complete rewrite with replaced variable names in the
VMXGINIT RSDAUDIT dataset.
Jun 8, 2014 Aug 11: Action Codes 36 and 84 are now recognized and
Aug 11, 2014 processed. FORMATS were updated for action codes.
Dec 10, 2014 Dec 10: Test for UNKNOWN AUDIT ACTION is removed, so now
Dec 22, 2014 all action codes are output. New AUDACT records all have
the same physical structure, the full record has been
read, and AUDOBJI is populated so you can split/store it
if needed, as done now for some AUDOBJT values.
Dec 22: Lines over 72 shortened.
Thanks to Rosa Maria Martinez Alonso, Bustia, SPAIN.
Thanks to Raul Juan Rincon, Bustia, SPAIN.
Change 32.122 VMXGPARS did not correctly parse quoted strings if there
VMXGPARS was a blank embedded in the quoted string, which caused
May 29, 2014 UTILBLDP to generate invalid syntax errors.
Change 32.121 UTILBLDP new option SORTOUT=NEVER prevents output SORT of
UTILBLDP all datasets, intended for MXG internal use. SORTOUT=NO
May 29, 2014 suppressed SORTs of most data, but still sorted these:
7072 DB2 HSM NTCP ROSC TMDB TPX 103 28
because they contain accumulated values that require the
sort to deaccumulate. NEVER prevents even those sorts,
but leaves invalid values for those datasets, so use of
SORTOUT=NEVER prints a warning message when used.
Change 32.120 Support for optional CICS user SDA fields.
IMACICSD
UTILEXCL
VMAC110
May 27, 2014
Thanks to Trevor Holland, ANZ, AUSTRALIA.
Change 32.119 Support for IMS56FA records from IMS 13.1 (INCOMPATIBLE,
VMACIMS due to inserted fields).
May 27, 2014
Thanks to Rudolf Sauer, T-Systems, GERMANY.*
Change 32.118 ANALID= parameter added to READDB2 to create SMF Audit
READDB2 report when set to YES. Only the SMF records that are
May 25, 2014 required for the READDB2 request are reported.
Change 32.117 Incorrect ID Test for ID=140 corrected to ID=104.
VMAC104
May 23, 2014
Thanks to Robert A. Obee, IMS Health, USA.
Change 32.116 XAM CRITICAL ERROR with SEGLEN=84 was a false error; that
VMACXAM is a valid length for the SYTSYP segment in zVPS 5.4 so
May 21, 2014 the MXG "protection" for invalid FTP transfer added in
Change 32.057, which tested only for the known mangled
100 value now accepts 84 as valid, suppressing the error.
Thanks to Robert K. Hare, Comerica Bank, USA.
Change 32.115 VMXGSRCH failed if there were no datasets in the LIBNAME
VMXGSRCH pointed to by the LIBNAME= parameter.
May 17, 2014
Change 32.114 READDB2 with PDBOUT="non-PDB" still wrote to PDB.DB2ACCT
READDB2 and if there was no //PDB in JCL or no LIBNAME PDB, the
May 17, 2014 job abended. Additionally, if STATISTICS was specified
(instead of the RECOMMENDED STATS argument), errors in
PROC SORTs for STAT0/1/2/4/225 would also fail. Missed
because a LIBNAME PDB always existed in the QA tests.
Unrelated, with recommended STATS specified, datasets
DB2STAT0 1 2 4 DB2ST225 and T102S225 were left in WORK,
but they are now deleted.
Thanks to Frank Bereznay, IBM Global Services, USA.
Change 32.113 Support for APAR OA44319/OA44322 for SMF ID=42 ST 5 and 6
VMAC42 statistics to TYPE42SR, TYPE42VT, and TYPE42DS datasets.
May 17, 2014 TYPE42SR TYPE42VT TYPE42DS Description
S42SCA1U S42VDA1U S42DSA1U AVG*DEVICE*ACTIV ONLY*TIME
S42SCB1U S42VDB1U S42DSB1U AVG*DEVICE*BUSY*TIME
S42SCC1U S42VDC1U S42DSC1U AVG*I/O*CONNECT*TIME
S42SCD1U S42VDD1U S42DSD1U AVG*I/O*DISCONNECT*TIME
S42SCHRD S42VDHRD S42DSHRD ZHPF*READ*COUNT
S42SCHWR S42VDHWR S42DSHWR ZHPF*WRITE*COUNT
S42SCM1U S42VDM1U S42DSM1U AVG*COMMAND*RESPONSE*TIME
S42SCP1U S42VDP1U S42DSP1U AVG*I/O*PENDING*TIME
S42SCQ1U S42VDQ1U S42DSQ1U AVG*CONTROLUNIT*QUEUE TIME
S42SCR1U S42VDR1U S42DSR1U RESPONSE*TIME
S42SCT1U S42VDT1U S42DST1U AVG*TOTAL*READ*DISCONNECT
Change 32.112 Documentation. TYPE113 variable SM1132SP is labelled as
VMAC113 the processor speed in cycles per microsec, so it has a
May 15, 2014 value of 5504, while MXG-created variable EFFGHX is the
processor speed in GHZ, a value of 5.504. While SM1132SP
could be changed, it is pervasively used in many of the
calculated ratios, and changing its value now would not
only require those calculations to be changed, they would
then not match the equations in John Burg's many papers.
Thanks to Scott Barry, SBBWorks Inc., USA.
Change 32.111 Support/corrections/enhancements for IDMS Version 18.
VMACIDMJ -PMRHTYPE=4 PMHSEQN=2 record +4 needed for doubleword
VMACIDMS alignment; variable INSTTTI created and kept in the
TYPEIDMJ IDMSINS dataset.
May 12, 2014 -Variable DBKOWNER no longer kept in IDMSTAS dataset;
it exists only in IDMSDBK dataset.
-Variable TASTITI is incorrectly spelled, but so as to
prevent current programs from failing, the correctly
spelled variable TASTTTI is equated and kept in the
IDMSTAS dataset.
-Members TYPEIDMJ and VMACIDMJ, which reads the INFILE
//DCLOG rather than SMF format data, were revised so
that they now use the VMACIDMS member, eliminating need
for dual maintenance.
Thanks to Mark S. Miller, APL, USA.*
Change 32.110 Variables FSCIPHER FCCFIPS140 FCCIPHER4 are added to both
FORMATS TYP11903 and TYPE11970 datasets. Variable FCCFIPS140 and
VMAC119 existing SMF119ML_CN_TTLSFP TTTTLSFP variables are
May 12, 2014 decoded with $MG119FP format.
Thanks to Jerome Vitner, Experian, ENGLAND.
Change 32.109 Variable STATCTM1, when non-zero, was incorrect; the TU4.
IMACICDB INFORMAT was replaced by &PIB.8.6/4096 to properly input
May 11, 2014 the duration value.
Thanks to Raymond Dunn, CIGNA, USA.
Change 32.108 -RMF III Fixes, Enhancements, Documentation upgrades.
ADOCRMFV -Fix for possible S0C4 Abend when processing an ASI table
ASMRMFV in the first MINTIME interval after a Service Policy
Jun 12, 2014 activation.
-Possible incorrect data for Service Class, Report Class,
Workload, or Resource Group extensions in the ASI output
record for the MINTIME interval immediately after a
Service Policy activation.
-Investigation found that RMF III copies all ASI entries
from the prior MINTIME interval to the new MINTIME
interval after a Service Policy activation.
-If the number of Service Classes, Report Classes,
Workloads, or Resource Groups in the Service Policy has
changed after Service Policy activation, the indexes for
some of those copied ASI entries will not match the
corresponding sections in the active Service Policy.
This causes the Abend or incorrect extension data
conditions.
-ASMRMFV will now use the prior Service Policy to resolve
indexes in the copied ASI entries for this particular
MINTIME interval. Once all of the ASI copied entries are
processed, normal use of the active Service Policy will
resume for the remaining entries and for all other
MINTIME intervals.
-New message RMFV078I will indicate when the new ASI index
FIND logic is in use after a Service Policy activation
and for how many copied entries it was used.
-Four new FIND error handling parameters are added:
SCERR=, RCERR=, WLERR=, and RGERR=. These are
respectively for Service Class, Report Class, Workload,
and Resource Group indexes.
-An ASMRMFV FIND error occurs when the index value for one
of the above 4 data categories exceeds the number of
actual entries for that category in the active Service
Policy.
-Possible setting values for SCERR=, RCERR=, WLERR, and
RGERR= are IGNORE, WARN, and ABEND. Each may be
shortened to as few letters as desired down to a single
character I, W, or A respectively.
When a setting is IGNORE:
SCERR= RCERR= WLERR= RGERR=
------ ------ ------ ------
Message(s) None None None None
Return Code Unchanged Unchanged Unchanged Unchanged
When a setting is WARN (default):
Dostları ilə paylaş: |