IF DATEYYYY GT 80000 THEN ....
must be changed to read
IF DATEYYYY GT 0 THEN ....
This error was "fixed" by Change 13.178, but that change
was not actually made in my source library until now!
Thanks to H. van den Bergh, Rabofacet, THE NETHERLANDS.
Change 14.033 CMF user SMF record subtype 27 (Cache Controller) did not
VMACCMF recognize 3990-6 control unit records. Change the test
Mar 2, 1996 IF CMF27MDL = '93' ... to IF CMF27MDL IN ('93','96') ....
Thanks to Gavin Ring, Alcatel, AUSTRALIA.
Change 14.032 Support for FACOM MSPE/EX PTF 93061 for the ID=127 SMF
VMACF127 record has been updated by this user contribution.
Mar 2, 1996
Thanks to Ian Heaney, Toyota, AUSTRALIA.
Change 14.031 Specifying %ANALDB2R(PDB=SMF); unexpectedly requires a
ANALDB2R //PDB DD UNIT=SYSDA,SPACE=(CYL,(1,1))
READDB2 because three new-in-DB2-4.1-datasets default to PDB in
Mar 1, 1996 IMACDB2, and ANALDB2R did not intercept and override that
Mar 6, 1996 default for those datasets when it called READDB2, which
was the real culprit, and which was fixed by this change.
This change eliminates the need for //PDB when PDB=SMF
is specified.
Thanks to David Klein, City of New York DOITT, USA.
Change 14.030 Support for IMS log record processing for IMS 5.1.
ASMIMSL5
IMACIMS Note: MXG Strongly recommends you use a monitor, such as
IMACIMS7 Boole & Babbage's IMF (MXG support in TYPECIMS) or Candle
TYPEIMS7 ITRF (MXG support in TYPEITRF).See "IMS Technical Notes"
TYPEIMSA in MXG Newsletter TWENTY-FIVE before proceeding.
VMACIMS
VMACIMSA This is the revised ASMIMSL5 (use it instead of ASMIMSLG
Mar 5, 1996 for IMS 5.1), VMACIMSA and TYPEIMSA for the JCLIMSLG
Feb 15, 1997 algorithms.
I have also created a new member, TYPEIMS7, which reads
IMS 5.1 and earlier releases (you must set _IMSVERS in
member IMACIMS) to process only the 07 and 08 IMS log
records into new dataset IMS0708 which may be all that
you need for IMS log analysis if you need only the counts
of transactions and resources (i.e., no response time
nor LTERM identification). Dataset IMS0708 will have one
one observation for each IMS Program Schedule, with all
all resources (CPU, DL/I calls) for that schedule, and
variable NMSGPROC in IMS0708 is the count of transactions
that were processed during by that program. TYPEIMS7
does not depend on the ASMIMSLx architecture, and thus it
will be supported for all IMS releases in the future for
IMS accounting and resource capture.
Thanks to G. Cossio, Quercia Software S.P.A., ITALY.
Thanks to Sig. Moreschini, Quercia Software S.P.A., ITALY.
Change 14.029 DFSMS/rmm type "O" INPUT STATEMENT EXCEEDED RECORD LENGTH
VMACEDGS because ther are three different kinds of "O" records:
Feb 29, 1996
MORTYPE= nulls - owner details
= ones - end of volume/owner
= VOLSER - volume/owner information
and there is now owner details in the "ones" record.
The correction in MXG is to make VMACEDGS look like this:
+7 /*RESERVED*/ original
@; inserted
IF MORTYPE NE 'FFFFFFFFFFFF'X THEN inserted
INPUT inserted
MOOWNSUR $EBCDIC20. original
........ nine other lines " original
MOOWNVOL &PIB.4. original
@; inserted
IF LENGTH-COL+1 GE 4 THEN INPUT inserted
MOVOLNO &PIB.2. original
+2 original
@; original
Thanks to Chris Taylor, VF Information Technology Services, USA.
Change 14.028 A collection of discoveries and SAS/CPE product needs:
VMACDCOL -VMACDCOL. Variables UBRECOR and UMRECOR were removed
VMACEREP from the $HEX2 format and $NOTRAN informat, as they are
SPUNJOBS printable characters; ...THEN DAGFNCPY=1; was misspelled
VMACTPM and is changed now to ...THEN DAGFNCPU=1;
Feb 29, 1996 -VMACEREP. Data sets EREPDDR and EREPIOS did not contain
variable INCDTIME in their KEEP= list; now they do. In
EREPSLH dataset, variables SLHRSMAD, SLHRSMRC, SLHERRTP,
and SLHRSMST were not in their KEEP= list, but now are.
-SPUNJOBS. The DROP DATETIME; statement was replaced with
LABEL DATETIME='DATETIME*OF SHIFT*CALCULATION'; so that
DATETIME will now exist in PDB.SPUNJOBS (as it does in
PDB.JOBS already).
-VMACTPM. Variable SYSTEM was added to the KEEP= list
for dataset TYPETPMV.
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.027 New "IHDRyyyy" members are "INFILE header" exits which
IHDRDCOL are invoked after the header of a raw data record has
IHDRSMF been INPUT, so that you can filter or select which raw
Feb 29, 1996 data records are processed, or write out selected raw
Mar 13, 1996 data records to an external file, etc. The existing MXG
member IMACFILE is the "INFILE header" exit for SMF data
records, and examples in IMACFILE show how you to use an
"INFILE header" exit. The "IHDRyyyy" naming convention
created by this change has prefix "IHDR" for its purpose,
and the yyyy suffix identifies the name of the INFILE.
So IHDRDCOL is the "INFILE header" for raw records read
from the INFILE name of DCOLLECT. And so existing member
IMACFILE should have been renamed to IHDRSMF with the new
convention, but instead I have left IMACFILE as is (so no
incompatibility) and created dummy member IHDRSMF to say
that member IMACFILE should be used for SMF records.
Comments in each IHDRyyyy member document what variables
exist when the exit is invoked.
Mar 13: Discovered while IHDRDCOL exists, I had failed to
insert the %%INCLUDE SOURCLIB(IHDRDCOL) in VMACDCOL! It
goes immediately after the INCLUDE of (IMACZDAT).
Thanks to Chris Weston, SAS Institute Cary, USA.
Change 14.026 New values for Channel Path Description were added to MXG
FORMATS format $MG073CD in member FORMATS:
VMAC73 '12X:OPEN SYSTEM ADAPTER CHANNEL'
Feb 27, 1996 '13X:INTEGRATED SYSTEM DEVICE'
and an undocumented '04'x value found in data is under
investigation. Comments in VMAC73 were revised but no
code changes were made.
Thanks to Sandro Aiello, National Australian Bank, AUSTRALIA.
Change 14.025 Variable DASDMPL in datasets TYPE42DS and TYPE42SR is too
VMAC42 large; the equation must be DASDMPL=RESPTIME*DASDRATE;
Feb 27, 1996 instead of DASDMPL=RESPTIME*IOCOUNT; in two separate
Apr 10, 1996 segments of code. Note the equation has to be moved into
the DO; group after DASDRATE is calculated, and an
DASDMPL=.; must be inserted in the ELSE DO; if DURATM is
zero. (Dividing the old DASDMPL by DURATM will give you
correct DASDMPL in your pre-existing TYPE42xx datasets.)
Also, SMF42SSF was added to TYPE42VL so that SMF42DB2 can
be interpreted, as per APAR OW16039, on Apr 10, 1996.
Thanks to Phil Schwartz, Pershing, USA.
Change 14.024 MXG Support for CICS Excluded Fields is enhanced so that
IMACEXCL version-dependent-exclude-lists are supported. The three
Feb 27, 1996 user macros _CICXCU2 (V2 NON-ESA), _CICXCUS (V3 ESA) and
_CICXCU4 (V4 ESA) can now be used together so if you have
a different exclude list for V2 and for V3, you would
then use this statement:
MACRO _CICXCTR _CICXCU2 _CICXCUS %
and MXG will apply the appropriate exclude logic to the
appropriate SMF record (assuming, of course, that you
have used UTILCICS output as input to tailor IMACEXCL in
both _CICXCU2 and _CICXCUS (for this example).
The actual change which makes this possible is to insert
IF 33.0 LE SMFPSRVR LE 33.3 after MACRO _CICXCUS
and to insert END; before the single percent sign that
ends the MACRO _CICXCUS definition, and to insert
IF SMFPSRVR LE 3 after MACRO _CICXCU2
and to insert END; before the single percent sign that
ends the MACRO _CICXCU2 definition, and to then find the
last END; statement in MACRO _CICXCU4 definiton and move
it to just before the single percent sign that ends the
MACRO _CICXCU4 definition.
Also, GMT conversion of STRTTIME, ENDTIME for CICS 4.1
was added to IMACEXCL using MCTMNTAD as in VMAC110.
Thanks to Peter Weaver, Canadian Tire Acceptance Corporation, CANADA.
Change 14.023 NPM SMF type 28 record VVR (VTAM Virtual Route) segment,
VMAC28 variable VVRPSWMX and the 9 following VVRxxxxx variables
Feb 26, 1996 were trashed because of wrong input lengths.
Variable Was Input as Must be Input as
VVRPWSMX &PIB.4. &PIB.2.
... ... ...
VVRWAIT &PIB.2. &PIB.4.
VVRSND &PIB.2. &PIB.4.
VVRRCV &PIB.2. &PIB.4.
Thanks to David Faught, Woolworth Corporation, USA.
Change 14.022 For DB2 report PMAUD03, but only if your PDB is on tape,
ANALDB2R syntax error on dataset T102S169 because of a misplaced
Feb 26, 1996 semi-colon. Find %MACRO PMAUD03; then find t102s145;
Move that semi-colon that follows t102s145 to instead
follow the T102s169 on the next line (i.e., the select
statement ends after T102s169, not after t102s145).
Thanks to Joe Richard, MBNA, USA.
Change 14.021 INPUT STATEMENT EXCEEDED with EREP CLASRC='40'X record
VMACEREP due to a missing @! Find the LAST occurrence of LENLEFT,
Feb 26, 1996 and change the semi-colon to an at-sign semi-colon:
INPUT SDWAVRA1 $VARYING55. LENLEFT @;
Thanks to Victor Chacon , NYNEX Mobile Communications Company, USA.
Change 14.020 SMS has caused I/O errors when it does the allocation of
JCLINSTL SAS data libraries and sets default DSORG other than
Feb 23, 1996 DSORG=PS, so I have added DSORG=PS to the DCB= parameter
in member JCLINSTL, just in case!
Thanks to Andre Micheaux, Michigan National Corporation, USA.
Change 14.019 Support for OS/390 Release 1.0 is already in MXG 13.13!
none Well, at least according to IBM's early documentation,
Feb 22, 1996 there appear to be no impacting changes on MXG Software.
The value of MVSLEVEL in TYPE70 and PDB.RMFINTRV may be
SP5.3.0 or T010101, as IBM changed CVT field values, but
that has no impact on MXG's build programs. This note
will be updated if real data records do impact!
Change 14.018 Documentation of possible INCOMPATIBILITY, if your report
TYPETMS5 programs used the archaic TMSRECS or DSNBRECS datasets.
Feb 22, 1996 These very old data set names did contain most of the
important fields, but since version 9.9 when TYPETMS5
replaced TYPETMS, the MXG dataset names for the TMS data
have been TMS.TMS and TMS.DSNBRECD. If you missed that
change, your report program still ran, because datasets
TMSREC and DSNBREC were still in the //WORK file. But
last summer, to clean up the //WORK file, I added code to
delete the TMSREC TMSRECS DSNBREC DSNBRECS and DSNBRECD
datasets, so now your old program fails because it is
still looking for these nonexistent data sets! The fix
is to use the TMS.TMS for TMSRECx and TMS.DSNBRECD for
DSNBRECx in your report programs, but I apologize for
failing to alert you to this incompatibility!
Thanks to Guy Sayers, Fleet Services Corporation, USA.
Change 14.017 VARIABLE SYSTEM IS UNINITIALIZED message with ASMIMSLG
TYPEIMSA processing member TYPEIMSA is cosmetic because the SYSTEM
Feb 21, 1996 variable only exists if specified in a SYSPARM() on the
// EXEC statement, and SYSTEM is created separately in a
later phase of TYPEIMSA, but the error was introduced by
Change 13.237 (which added IMACZDAT logic). The block in
MXG 13.13 that reads: should have been:
IF _N_=1 THEN DO; IF _N_=1 THEN DO;
ZDATE=TODAY(); SYSTEM=SYSPARM();
END; END;
Thanks to Chris Metzie, University of Wisconsin, USA.
Change 14.016 Variable CSCS should not be used, as it is decoded into
VMACACHE separate variables CSHT, CSIS, CSPA, CSDS, CSIM, CSDC.
Feb 20, 1996 The MGCACST format on CSCS is also incorrect. Because
there are two reserved bits in CSCS, it is still kept (in
case IBM uses those bits) and is now formatted HEX2.
(Between 12.12 & 13.13, the CSCS=FLOOR(CSCS/32) statement
was removed, as it too was incorrect.)
Thanks to John Larry, W. H. Smiths, ENGLAND.
Change 14.015 Hipercache records for VSAM datasets were wrong; a field
EXHIPRBU had been missed, but moreover the MXG design was wrong.
IMACHIPR Dataset VMACHIPR was redesigned to now create new dataset
VMACHIPR HIPRVSBU containing detail buffer statistics from each of
Feb 16, 1996 the buffer segments
Mar 4, 1996 HIPBFS HIPBFT HIPBUFFS HIPFFH HIPFR HIPFTH HIPHFR
Mar 15, 1996 HIPHFW HIPHSB HIPHSR HIPHSW HIPIO HIPLK HIPMFH
HIPMTH HIPWR
and the new variables are then summed across each record
and output in HIPRVSAM dataset (replacing the twelve sets
of fourteen variables named SMFnnXXX that are no longer
created). With real data records, the better design was
obvious. Common variables allow joins between the two
datasets, should the need arise, and space is saved.
Mar 15: PRIMARY or SECNDRY added to labels for variables.
Thanks to Chuck Hopf, MNBA, USA.
Change 14.014 TLMS year 2000 dates were not decoded correctly after
VMACTLMS Change 13.186. A raw date value of '0102037F'x (century
Feb 15, 1996 bit, year 2, day 37, for Feb 6, 2002) should have printed
Feb 22, 1996 as 2002037 but instead printed 104037. In correcting my
error, I also decided to make the TLMS dates to be real
SAS dates instead of numbers.
The original TLMS code used numbers and since I
thought TLMS sites would get a free conversion to TMS,
I left the old format in place, but since I have to
correct this error, it made sense to go ahead and
convert the numbers into SAS dates. However, if you
are using any of the twelve date fields in tests in
your report programs (instead of just printing them),
you will need to change your report logic. The numeric
value of 2002037 becomes the SAS date value of 15377
(days since Jan 1, 1960) when DATEJUL() is used, so
it will print as 02Feb2002 when formatted DATE9.
However, TLMS uses two special values for the raw date
field; zero if the fx. retention period has expired,
and 9999999 if the tape is registered as 'permanent'.
I chose to force the zero value to a date of '01JAN1960'd
and the 9999999 value to a date of '31DEC2099'd (similar
to the way I handled strange dates in TMS records!).
To correct the MXG error AND convert to SAS dates, each
of the twelve lines for variables BAPURCH thru BAIDATE
must be changed from one line:
var=FLOOR(var/100000)+100+var+1900;
to these six lines:
IF 0 LT var LT 9999999 THEN DO;
var=1000*(FLOOR(var/1E5)*100+1900)+MOD(var,1E5);
var=DATEJUL(var);
END;
ELSE IF var EQ 0 THEN var='01JAN1960'D;
ELSE IF var EQ 9999999 THEN var='31DEC2099';
and those twelve variables are now formatted DATE9.
Thanks to Jorge Fong, City of New York, USA.
Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.
Change 14.013 INVALID DATA FOR HH,MM,SS messages with SAMS record. The
VMACSAMS three lines inputting HH MM SS with &NUM.2 need to be
Feb 15, 1996 changed to &NUM.2. (i.e., the final period was missing).
Fortunately, only variable SAMSTIME was incorrect.
Thanks to Shaheen Pervaiz, Acxiom, USA.
Change 14.012 Example JCL for reading Landmark's The Monitor for CICS
JCLTMON shows what is needed to process TMON/CICS data daily.
Feb 14, 1996
Thanks to Charles Brown, Fruit of the Loom, USA.
Change 14.011 DB2 4.1 type 101 subtype 1 (written only if more than 10
VMACDB2 Packages are called by a Plan) INPUT STATEMENT EXCEEDED
Feb 13, 1996 because of a mis-located line of code (and no previous
May 22, 1996 test data!). Find the second occurrence of statement
SKIP=LENQPAC-240;. Move the next line (IF SKIP GT 0 THEN
INPUT +SKIP @;) down (about 30 lines) so that it
immediately precedes the statement
%%INCLUDE SOURCLIB(EXDB2ACP);
May 22: original text of this change had -140 vice -240.
Thanks to Mick Glasson, Health Insurance Commission WA, AUSTRALIA.
Change 14.010 NOTSORTED error with WEEKBLD, WEEKBLDT, or MONTHBLD. The
MONTHBLD variable USER was added by Change 13.268 to ASUMCICS, but
WEEKBLD was not added in the _BYLIST macro for the _DSET CICS.
WEEKBLDT In all three members, change the bylist to read:
Feb 12, 1996 APPLID OPERATOR USER TERMINAL STRTTIME TRANNAME
Thanks to Scott Snyder, Card Establishment Services, USA.
Change 14.009 A truncated PSF type 6 SMF record caused INPUT STMT EXCED
VMAC6 error; the record had LN4=116 but there were only 82 byte
Feb 9, 1996 left in the physical record. While IBM is investigating,
to circumvent, change IF SMF6LN4 GT 84 THEN DO; to read
IF SMF6LN4 GT 84 AND LENGTH-COL+1 GE 32 THEN DO;
Thanks to Leonard Issacs, Motorists Mutual Insurance COmpany, USA.
Change 14.008 INVALID DATA FOR PWCOUNT in VMID=06 with PWCOUNT=0Ax. The
TYPEVM logic for decoding these invalid values in VMID=04 should
Feb 8, 1996 be copied into the VMID=06 processing to correct the bad
value for PWCOUNT (which is EBCDIC for 0-9, but then is
binary for larger values!).
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 14.007 Variable SMF73CPD has stored length of 39; the variable
VMAC73 must be added to the LENGTH statement with SMF73CPD $1
Feb 8, 1996 to correct the stored length. (SAS sets character length
from the first occurrence of the variable, and without
the LENGTH statement, SAS saw the FORMAT statement, and
set the length of the variable to the length of the
longest format value!). I know I must always add the
variable to the LENGTH statement - this one I missed!
Thanks to S. Lemaire, Comparex Information Systems, Belgium.
Change 14.006 SAS 5.18 only. Formats $MGERPDS/PHD/PMC/PRC/PSE and PSF
FORMATS were longer than 40 characters, causing errors. Formats
Feb 8, 1996 were re-worded to fit in 40 characters, to be consistent
with all formats, even though SAS version 6 has no error.
Thanks to Walter P. Kraslawsky, Library of Congress, USA.
Change 14.005 Invalid NETSPY type A record caused INPUT STATEMENT ERROR
VMACNSPY because NSPYENTL=108 in the record, but should be 340,
Feb 8, 1996 and with a minimum of 145 bytes. CA had no report of the
bad record, which only occurred sporadically. To avoid
the error until CA fixes it, in the block of code for
IF NSPYREC='A' THEN DO;
immediately before the statement
DO OFFNSPY=NSPYOFF TO ENDREC BY NSPYENTL;
insert
IF NSPYENTL GE 145 THEN
so the INPUT is only executed for valid records.
This note will be updated when more is heard from CA.
Thanks to George Janvrin, ITT Hartford, USA.
Change 14.004 INPUT STATEMENT EXCEEDED RECORD LENGTH for Type 64 if the
VMAC64 CF Cache Structure Statistics segment exists. The input
Feb 6, 1996 of three variables, SMF64BMH, SMF64CFH, and SMF64RIO must
be &PIB.4. instead of &PIB.8. in all three lines.
One sites also saw this when they brought up ESA 5.2.2.
Thanks to Diane Eppestine, Southwestern Bell, USA.
Change 14.003 Change 13.331 to support four-digit UCBs in this archaic
VMXGVTOF DASD grazer were wrong, producing RC=256 error messages.
ASMVTOC (Member ZASMVTOC is the prior iteration of ASMVTOC, so
Feb 9, 1996 you could revert.) This new ASMVTOC has been tested and
Feb 26, 1996 now appears to execute correctly, and with the second
iteration on Feb 26, the program has been verified with
actual four-digit UCBs. (ASMVTOC is archaic in that the
DCOLLECT utility and TYPEDCOL are the recommended method
for grazing your DASD VTOCs and VVDSs.)
Thanks to Astrid Fridtun, Statens DataSentral a.s., NORWAY.
Change 14.002 APPARENT SYMBOLIC MXGDEBUG error occurs if CONFIG06 is
VMXGINIT used instead of CONFIG, because VMXGINI6 (pointed to by
Feb 2, 1996 the archaic CONFIG06) did not include MXGDEBUG in its
list of macro names in the %GLOBAL statement.
Thanks to Will Evans, Consolidated Freight, USA.
Change 14.001 INPUT STATEMENT EXCEEDED RECORD LENGTH for STC subtype 8
VMACSTC record; support added in October finally read a real SMF
Jan 23, 1996 record and failed, because fields were re-defined in the
Feb 22, 1996 DSECT, but I missed the redefinition. After the line
ELSE IF SUBTYPE='....1000'B THEN DO; insert
M1=-1; before the line
INPUT @21+OFFSMF
Then, on each of the five lines inputting the variables
STC08CID, STC08MAG, STC08LS2, STC08XPT and STC08SLT,
put +M1 on each line, to the left of the variable
i.e., the input for STC08CID would then look like:
+M1 STC08CID $CHAR1. /*CAP*ID*/
so these redefined variables are input from the same
byte as their predecessors.
(Feb 20 correction added STC08CID and STC08MAG).
Thanks to Mike Hildman, Target Stores, USA.
Thanks to Chuck Hopf, MBNA, USA.
LASTCHANGE: Version 14
==========MXG 13.13 dated Jan 20, 1996, thru Change 13.332============
=========================member=CHANGE13================================
/* COPYRIGHT (C) 1984-1996 MERRILL CONSULTANTS DALLAS TEXAS USA */
This is MXG Version 13.13, dated Jan 20, 1996, thru Change 13.332.
MXG Version 13.13 is dated Jan 20, 1996, thru Change 13.332
Newsletter TWENTY-NINE, dtd Jan 20, 1995, thru Change 13.323
MXG Version 13.09 was dated Jan 10, 1996, thru Change 13.313
MXG Version 13.08 was dated Dec 15, 1995, thru Change 13.290
MXG Version 13.07 was dated Oct 30, 1995, thru Change 13.253
MXG Version 13.06 was dated Oct 10, 1995, thru Change 13.225
MXG Version 13.05 was dated Aug 21, 1995, thru Change 13.172
Early MXG Version 13.05 was dated Aug 11, 1995, thru Change 13.162
Newsletter TWENTY-EIGHT, dtd Aug 21, 1995, thru Change 13.162
MXG Version 13.04 was dated Jul 31, 1995, thru Change 13.149
MXG Version 13.03 was dated Jul 19, 1995, thru Change 13.120
MXG Version 13.02B was dated Jul 6, 1995, thru Change 13.111
MXG Version 13.02A was dated Jun 28, 1995, thru Change 13.101
Initl MXG Version 13.02 was dated Jun 19, 1995, thru Change 13.095
Real MXG Version 13.01 was dated May 3, 1995, thru Change 13.055
PreRe MXG Version 13.01 was dated Apr 26, 1995, thru Change 13.046
Early MXG Version 13.01 was dated Apr 1, 1995, thru Change 13.011
MXG Version 12.12A was dated Mar 20, 1995, thru Change 12.328
MXG Version 12.12 was dated Mar 1, 1995, thru Change 12.314
MXG Newsletter TWENTY-SEVEN, Mar 1, 1995, thru Change 12.306
Contents of member CHANGES:
I. MXG Software Version Status.
II. MXG Technical Notes
III. MVS Technical Notes
IV. DB2 Technical Notes
Dostları ilə paylaş: |