this look like a Year 2000 problem, but it was just bad
documentation! Now, TELLOGFT is the LOGF datetime value,
new variable TELLOGON is the calculated LOGN datetime
value, and new variable TELLOGTM is the elapsed session
duration.
Thanks to Freddie Arie, Texas Utilities, USA.
Thanks to Jerome Vitner, Experian, USA.
Change 17.348 This GRAF example failed if you did not have SAS/GRAPH;
GRAFLPAR while the actual PROC GPLOTS were protected, the graph
Jan 6, 2000 control statements AXIS1, SYMBOL1, etc, were not and
caused AXIS1; to create a 180 syntax error.
Thanks to Michael E. Rounceville, Shaw Industries, USA.
Change 17.347 APAR OW42559. Variable UCCOLDT contains 1900001F for
VMACDCOL data on Jan 1, 2000, and records will be lost until the
Jan 5, 2000 end of January, 2000, according to that APAR text.
Change 17.346 INVALID DATA FOR IOSSTIME error because an additional 4
VMACICE bytes were added to the subtype 8 ICEBERG SMF record, but
Jan 5, 2000 MXG failed to protect for a change in segment size. The
correction is to insert these two lines:
SKIP=LENSEG-128;
IF SKIP GT 0 THEN INPUT +SKIP @;
immediately before this line:
_EICE8NP /*INC SOURCLIB(EXICE8NP); _WICE8NP .... */
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Change 17.345 MXG 17.06-17.09 only. INVALID NUMERIC DATA CECSER=...
ASUM70PR error because MXG 17.06 added statements that used CECSER
Jan 5, 2000 as a numeric variable, but it is created as a 6-byte
character variable. The actual CPU Serial number
contained xxC4, which surfaced this error.
The test IF CECSER=. THEN CECSER=.; must be changed
to IF CECSER=' ' THEN CECSER=' '; and the
test IF CECSER=. THEN DELETE; must be changed to
IF CECSER=' ' THEN DELETE;
Thanks to Darlene Wnukowski, Schreiber Foods, Inc, USA.
Change 17.344 Year 2000. Support for ZARA Release 1.3 (INCOMPATIBLE).
VMACZARA Release 1.3 is the only Y2K Ready version of ZARA, and
Jan 5, 2000 the record format was changed to the API records, so you
will need this change to support ZARA records. In
addition to 1.3 record changes, MXG's logic for the
FILDATEX was wrong; the test FILDATEX GE 1999365 was
corrected to read:
FILDATEX EQ 1999365 OR FILDATEX EQ 1999366 OR
FILDATEX EQ 1999999)
Thanks to Norbert Ravarani, European Commission, LUXEMBURG.
Change 17.343 Variable NEXTENT, the number of extents on this volume,
ANALDSET was added to dataset DSETOPEN created by ANALDSET. The
Jan 3, 2000 DCOLLECT/TYPEDCOL is probably better for analysis of
Feb 2, 2000 dataset extents, because DCOLLECT sees all datasets on a
volume at the time DCOLLECT is run, while ANALDSET only
sees datasets that were closed in input SMF file time
interval (SMF type 14,15,64). Nevertheless, if you need
to track which job and which open is causing datasets to
extend, using this revised ANALDSET will now provide
NEXTENT for both VSAM and non-VSAM files. The structure
of ANALDSET was also revised; no longer do you need to
IEBUPDTE step to create the temporary tailoring PDS
library; the revised program now tailors instream using
%LET MACKEEP= architecture.
Feb 2: _N30, _N1415, _N64 added to null all datasets and
then define the wanted; creation of new TYPE30MR caused
the earlier revision to fail, but now its futurized.
Thanks to Tien Truong, CITICORP, SINGAPORE.
Change 17.342 Year 2000. TYPE1415 variables EXPDT and CRDATE were not
VMAC1415 converted to yyyyddd format (they were overlooked in
VMXGINIT Change 16.330) and are still in cyyddd format, so they
Dec 31, 1999 print as 100001 for 1Jan2000. This change adds in the
Jan 12, 2000 algorithm from member YEAR2000 to convert both EXPDT and
CRDATE to value 2000001 instead of 100001, and changes
their label to show YYYYDDD as their value. Member
VMXGINIT is also needed if you are still at MXG Version
16.16, or you can insert this statement:
%LET WTY1415=WORK;
as your first //SYSIN DD statement.
Thanks to Rebecca Cates, PKS Information Systems, USA.
Thanks to Frank Cortell, CSFB, USA.
Change 17.341 Year 2000. MXG created SAS date variables CREATED,
VMXGVTOF EXPIRES, and LASTUSED are wrong in Y2K in this archaic
Dec 31, 1999 VTOC reading program (which was replaced by DCOLLECT),
although the julian date variables CRDATE, EXPDT, and
LASTUSE are correct. The correct equations are:
CREATED=DATEJUL((CRCENT+19)*100000+CRDATE);
EXPIRES=DATEJUL((EXCENT+19)*100000+EXPDT);
LASTUSED=DATEJUL((LACENT+19)*100000+LASTUSE);
The incorrect equation produced dates that were either
off by one day if YEARCUTOFF=1900, or off by 36525 days
if YEARCUTOFF was 1960.
Thanks to Geoff Morley, Origin Netherlands, THE NETHERLANDS.
Change 17.340 Three cases of "$EBCDIC8 " were changed to "$EBCDIC8."
VMACOMVT
Dec 24, 1999
Thanks to Freddie Arie, Texas Utilities, USA.
======Changes thru 17.339 were in MXG 17.09 dated Dec 22, 1999======
Change 17.339 INPUT STATEMENT EXCEEDED RECORD LENGTH for EREP records
VMACEREP because the HDRIS flag bits were not being tested for all
Dec 21, 1999 record subtypes. IBM's EREP writes out truncated records
when it runs out of buffer space, it sometimes doesn't
edit the record but writes out what's in the buffer, and
writes out incomplete records, all of which are flagged
by HDRIS and BYTE0 flag bytes. MXG covered most but not
all cases, writing out an MXG WARNING that EREP had
created bad records, but now all cases are protected.
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Change 17.338 -The calculation of BPHITRAT, Buffer Pool Hit Ratio, in
VMACDB2 DB2STATB dataset was revised based on Don's research: The
Dec 20, 1999 new algorithm substitutes QBSTRIO for QBSTSIO, and
restores QBSTSPP, which was removed due to negatives:
BPHITRAT=
QBSTGET-(QBSTRIO+QBSTSPP+QBSTDPP+QBSTLPP)/QBSTGET;
-QBSTSPP had been removed when MXG had negative ratios,
but it is better to use it (as it includes all prefetch
pages, regardless of whether these pages were discarded
before actually being used by the application), so that
negative values indicates a potentially serious problem
that could be overlooked without QBSTSPP: pages that are
read via prefetch, discarded before use, and then read
via synchronous sequential read. Large values in QBSTSIO
would also be true for this case, but negative BPHITRAT
would be less likely to be overlooked. Without QBSTSPP,
the equation calculated terrific buffer hit ratios that
were meaningless, since they did not consider the number
of pages that were read via normal sequential prefetch.
Thanks to Don Deese, (CPExpert), Computer Management Sciences, USA.
Change 17.337 -Remove TYPE79 processing, not used in IBM reports.
ANALRMFR -Remove TYPE76 processing, not used in IBM reports.
Dec 20, 1999 -New optional parameter ALLTYPE= to build TYPE70-75,
TYPE77 & TYPE78 datasets, or build only those record
types needed for the reports that are requested.
-New optional parameter DEVICEC=, allows selection of
only certain device classes for device reports.
-Update Channel Avtivity report column TYPE of channel.
Change line
IF LPARCPUS GT 0 AND LPARNAME NE 'PHYSICAL' THEN DO;
To
IF LPARCPUS GT 0 THEN DO;
Thanks to Neil Ervin, Charles Schwab & Co.
Thanks to Al Sherkow, Management Strategies, Ltd.
Thanks to Susan Walters, Michelin Tires, USA.
Change 17.336 Variables IMSVERS, IMSRELEASE, and SMBCLASS were changed
VMACITRF from character to numeric (input now with &PIB.1.) to be
Dec 20, 1999 directly readable and to now make sense!
Thanks to Warren E. Waid, JC Penny, USA.
Change 17.335 -Support for Windows 2000 Build 2195 changed field counts
EXNTACRS from the Beta 3 release, so the code was revised to read
EXNTDIST only the Build 2195 records:
EXNTIACC Memory - AVAILMEK and AVAILMEM variables added.
EXNTIACS Logical Disk - Instance Name restored (was missing).
EXNTIATC Print Queue - Instance Name restored (was missing).
EXNTIATS Web Service - SRVUPTME (service up time) added.
IMACNTSM Job Object - Instance Field added, sometimes, but
VMACNTSM data fields are accumulated.
VMXGINIT Job Object Details - Instance Fields added, sometimes.
Dec 19, 1999 Note: we're still researching why some of the Job and
Job Detail records contain no instance fields,
and NTSMF will need to be revised to deaccumulate
the Job Object counters.
-New Objects found in Build 2195:
Dataset dddddd Description
ACSRSVPS NTACRS ACS/RSVP Service
DISTRNCO NTDIST Distributed Transaction Coordinator
IASACCTC NTIACC IAS Accounting Clients
IASACCTS NTIACS IAS Accounting Server
IASAUTHC NTIATC IAS Authentication Clients
IASAUTHS NTIATS IAS Authentication Server
Thanks to Jim Quigley, Con Edison, USA.
Change 17.334 Variables PGBKSYSA PGBKLPA SHPGINAU SHPGOUAU SHPGINES
VMAC71 SHPGOUES in TYPE71 are now converted to rates per second
Dec 19, 1999 and their labels corrected, since they paging rates.
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.333 Support for additional Landmark TMVS subtypes, including
EXTMVXC WG (Workload Manager) and XC (Coupling Facility), and
EXTMVXC1 additional fields in other records are now decoded and
EXTMVXC2 created. Test data was available, and most number have
EXTMVXC3 been verified, but there was lots of coding here!
EXTMVXC4
IMACTMV2
VMACTMV2
VMXGINIT
Dec 15, 1999
Thanks to John Jackson, Redcats, UK.
Change 17.332 INPUT STATEMENT EXCEEDED error for VSM subtype 24; the
VMACSTC input of STC24MID should have been $EBCDIC6 instead of
Dec 15, 1999 $EBCDIC8.
Dec 21, 1999 In addition, variable STC13TIM is now corrected by the
addition of DEL6070 (the delta seconds between unix's
1970 epoch and SAS's 1960 epoch - see Change 17.195),
and further protected in case STC changes that to the
TODSTAMP format in the future!
And more: All of the VSM timestamps (except SMFTIME) are
on GMT, and there is no offset provided!
And finally, just in time for the 17.09 build, the bit
test for STC11TOL had an extra 9th postition to delete.
Thanks to Herb Strazinski, US Bank, USA.
Change 17.331 Variable SMF77RF2, a second status indicator, is input to
VMAC77 match RMF report replication in member ANALRMFR.
Dec 14, 1999
Thanks to Bruce Widlund, Merrill Consultants, USA.
Change 17.330 17.05-17.08 only. STOPOVER and/or BAD RECORD messages
VMAC80A if you have installed APAR OW39128, which added RPDSNAME
Dec 13, 1999 to the WHEN (66) decoding, but I believed IBM and read in
with INPUT RPDSNAME $EBCDIC44. But actual data records
show the segment is variable length. Change the above
line to read: RPDSNAME $VARYING44. RACFDLN
Thanks to Joseph J. Faska, Depository Trust, USA.
Change 17.329 Partition Data Report, *PHYSICAL* values zero. Change
ANALRMFR IF LPARCPUS GT 0 AND LPARNAME NE 'PHYSICAL' THEN DO;
Dec 10, 1999 to
IF LPARCPUS GT 0 THEN DO;
References to TYPE79 were removed, as it is not used in
any reports, and caused space problems if PDB=SMF was
specified.
Thanks to Neil Ervin, Charles Schwab & CO.
Thanks to Al Sherlow, Management Strategies, Ltd., USA.
Thanks to Susan Walters, Michelin Tires, USA.
Change 17.328 This utility to show the size (MegaBytes) of each data
UTILCONT set in a SAS Data Library did not have the DETAILS
Dec 10, 1999 parameter specified, and thus returned zero when run
under SAS Verson 6, 7, or 8. Now it always works.
Thanks to Jerry Urbaniak, Peoples Energy Corporation, USA.
Change 17.327 The order of the code in IMACACCT was revised, so that
IMACACCT the &MACACCT invocation now is located after the LABEL
Dec 7, 1999 statement and before the LENGTH statement, so that the
length and label of the account variables can both be
changed instream. For example, this syntax in //SYSIN:
%LET MACACCT=
%QUOTE(
DROP ACCOUNT4-ACCOUNT9 SACCT4-SACCT9
LENACCT4-LENACCT9;
LENGTH ACCOUNT3 SACCT3 $12; ) ;
will drop and change the length as indicated.
Thanks to Paul Oliver, BHP Petroleum, AUSTRALIA.
Change 17.326 Documentation only. The old //PROCLIB DD DSN=xxxxxxx
INSTALL statement was replaced some time ago by the JCLLIB
Dec 7, 1999 statement. An example of that syntax is:
//PROCLIB JCLLIB ORDER=MXG.USERID.SOURCLIB
Thanks to MP Welch, SPRINT, USA.
Change 17.325 This CICS utility to detect what PTFs are installed so
IMACPTF that you can then update member IMACPTF to tell MXG what
UTILCICS is installed has been cleaned up. The double output for
Dec 6, 1999 OMEGADLI, CANMQ, and CANWLMSC were removed, the test for
PTF UN98309 should have been for SMFPSRVR=51.0 instead of
SMFPSRVR=41.0 (and the associated comments in member
IMACPTF were corrected to 51.0), and the test for DBCTL
now tests for CMODNAME=DBCTL.
Thanks to Harry Olschewski, DeTecCSM GmbH, GERMANY.
Change 17.324 The WTIRIOTM (inter region wait time) in ASUMUOW was the
ASUMUOW sum of all of WTIRIOTM values from all transactions in
Dec 6, 1999 the unit of work, but this value is meaningless, as the
multiple waits in the TOR, AOR, etc., were summed. Now,
the WTIRIOTM in ASUMUOW is the WTIRIOTM from the first
transaction, which is also the source of IRESPTM, as this
will provide a more meaningful indication of IR wait for
the unit of work.
Thanks to Alan Meyer, Prudential-Bache Securities, USA.
Change 17.323 -This utility to understand the sequencing of CICS TOR/AOR
UTILUOW transactions now avoids all duplicates in the reports by
Dec 5, 1999 adding variables APPL5, TRAN5, ... TRAN10 to the BY list
for the PROC SORTs of datasets FIRST/MIDDLE/LAST/MOREONE,
and variable INDEX was added at the end for a better sort
sequence.
-Comments for Report 5 were enhanced, because when DBCTL
is used, there are lots of non-mirror transactions with
RTYPE=D that belong to one unit-of-work, that show up in
Report 5 and that are correct and should use case 1.
-Eliminated the first step (and IEBUPDTE to create a temp
PDS for tailoring) by using the 16.04 design to override
instream.
Thanks to Harry Olschewski, DeTecCSM GmbH, GERMANY.
Change 17.322 -Parameter SYNC59 will correct the RMFINTRV interval for
EXRMFINT sites still stuck with SYNC(59) in SMFPRMxx in PARMLIB.
RMFINTRV Because MICS originally used the end-of-interval SMFTIME
VMXGRMFI to summarize data, they required the RMF interval to be
Nov 30, 1999 at 59 minutes rather than on the exact hour. This new
Dec 21, 1999 parameter will "correct" the STARTIME in PDB.RMFINTRV
by adding one minute to STARTIME and ENDTIME so your old
13:59 to 14:59 report shows 14:00 to 15:00.
-Member IMACKEEP was only included if PDB=SMF.
-Parameter IMACWORK=NO did not function in VMXGRMFI, and
it has been corrected, redefined, and redocumented in
member VMXGRMFI. The default IMACWORK=YES causes MXG to
use definitions in member IMACWORK to create workloads in
dataset PDB.RMFINTRV in addition to any workloads that
are created in the WORKnn= parameters in your %VMXGRMFI
invocation. Now, if IMACWORK=NO is specified, not only
is the INCLUDE of IMACWORK suppressed, but also the old
MXG workload variables (BATxxxx,TSOxxxx,..,OTHnxxxx) will
NOT be created in PDB.RMFINTRV; only the workloads that
you define in your %VMXGRMFI invocation will create
workload variables (but you can still create workloads
with those old prefixes in your invocation and they will
be kept).
-Member RMFINTRV now invokes %VMXGRMFI to create the data
set PDB.RMFINTRV, using the IMACWORK definitions, to
exploit the VMXGRMFI performance enhancements (by using
VMXGSUM, especially in SAS V8, when entire data steps can
be skipped due to the new PROC MEANS INHERIT feature).
-An example of how you can invoke VMXGRMFI multiple times
to create additional "RMFINTRV" datasets that are at the
Hour (RMFINTHR), or at the Shift (RMFINTSH), etc., are in
sample VMXGRMFI invocations in member RMFINTRV.
-If you have tailored EXRMFINT to provide labels for OTHxx
variables, your definitions will be used for RMFINTRV,
but if you use VMXGRMFI to create a different dataset
name (like RMFINTHR), you will first need to change the
OUTPUT in your EXRMFINT to read OUTPUT _LRMFINT ; cause
if you don't, you'll get a 455-185 error due to your old
OUTPUT statement in your old EXRMFINT member.
Thanks to Normand Poitras, Banque Nationale du Canada, CANADA.
Change 17.321 Support for IIS Log provides event records with identity
EXIISLOG of user, IP Address, byte counts, etc. in new dataset
IMACIISL IISLOG. This support reads the #FIELDS list of fields and
TYPEIISL populates only those variables in your log records. All
VMACIISL possible IIS Log variables are kept in IISLOG dataset, so
Nov 27, 1999 compression is strongly recommended to eliminate wasted
Dec 19, 1999 space, especially since many character variables are
defined as $64, but usually contain far fewer characters.
Of course you can always use MACRO _KIISLOG to drop any
unwanted variables as well.
Thanks to Xiaobo Zhang, Insurance Services Office, USA.
Change 17.320 The logic to detect the last-complete-interval-time to
ASUMTALO control SPINTALO was imperfect, and could cause part of
Nov 24, 1999 the data for an hour to be split into two separate obs
Dec 5, 1999 in two day's separate PDB.ASUMTALO datasets. The logic
Dec 20, 1999 was revised, which required a change in the sort order of
dataset PDB.ASUMTALO to now be BY DEVICE DEVNR ALOCSTRT.
In addition, we are now using SAS Views to "pipe" data
and avoid physical writing and then reading records.
This works fine, but prints notes on the log reading:
"A stored DATA STEP view cannot run under a different
operating system.", which has no impact.
Thanks to Greg Jackson, National Life of Vermont, USA.
Change 17.319 Landmark DB2 Version 3.0 caused INPUT STATEMENT EXCEEDED
VMACTMDB error, because MXG tried to input the CF fields (starting
Nov 24, 1999 with variable DABRH) that don't exist in that version.
The INPUT statement was revised.
Thanks to Paul P. van den Brink, MeesPierson, THE NETHERLANDS.
Change 17.318 Documentation. MXGTMNT TMNT010E WRITE FAIL RC=0024 will
ASMTAPES result if you try to create SMF records with MXG's Tape
Nov 24, 1999 Mount monitor, but have excluded that SMF record number
in your SMFPRMxx member. Depending on how your SYSPROG
chose to code the TYPE/NOTYPE, etc parameters, you may
have to update SMFPRMxx before you can write the SMF
record, and you'll get one of these messages for each
tape dismount and deallocation.
Thanks to Steve Smith, BMC, USA.
Change 17.317 ABEND 2415 due to no RECFM=U in //NULLPDS DD in SAS proc,
MXGSAS and message "INVALID RECFM is DCB NOT (U|F|V)" is printed
on your SYSMSG, if your SMS ACS allocation rules for new,
Nov 23, 1999 temporary PDS libraries leaves RECFM blank, and you are
Nov 29, 1999 using MXG 17.04 or later. The permanent fix from SAS is
Jan 31, 2000 in Usage Note G645 for V6, Usage Note 1651 for V8, is to
add RECFM=U to the //NULLPDS DD statement in SAS proc.
The ABEND was precipitated by MXG 17.04, which added an
INFILE read of //SOURCLIB during initialization, but as
SOURCLIB is also in SASAUTOS, SAS opened that DD, which
concatenates the //NULLPDS DD, and SAS cannot tolerate
a blank value for RECFM when an INFILE is opened.
The MXGSAS JCL Procedure was changed, but if you use
// EXEC SAS instead of // EXEC MXGSAS, you will need to
add RECFM=U to the //NULLPDS DD in the SAS procedure.
The //NULLPDS DD statement exists in the SAS JCL proc,
but it is there only for maintenance and testing, and it
and was included in MXGSAS only for consistency. That
default was changed from only DCB=BLKSIZE=6160, to now
DCB=(RECFM=U,BLKSIZE=6160).
Adding RECFM=FB to //NULLPDS fixed the ABEND and it was
my initial circumvention, because MXG 17.04+ reads from
the //SASAUTOS DD, which points to RECFM=FB datasets.
Now, SAS Technical Support and I now agree that RECFM=U
is slightly the better choice: Both work fine now, but
NULLPDS is also used in //STEPLIB, which is read by IBM
programs, so using RECFM=U protects if a future OS/390
release decides not to tolerate RECFM=FB in STEPLIB.
Thanks to Mike Kepler, Wright State University, USA.
Thanks to Phil Wise, Wright State University, USA.
Thanks to Eladio Aviles, Arizona Public Services, USA
Change 17.316 WARNING: BIT MASK TOO LONG, TRUNCATED ON THE LEFT occurs
VMAC80A if two bytes of bits are compared with a one byte field,
Nov 23, 1999 but the warning is not detected by the compiler, and it
give no clue as to which statement is in error, which was
introduced in Change 17.094 decoding of keyword bits.
Three tests for KW08AUDT, 8 tests for KW25SPEC, and two
tests for KW25ADSP were stripped of the right eight dots.
eg, the line IF KW25ADSP='........1........'B THEN ...
now reads IF KW25ADSP='........1'B THEN ...
Thanks to Joseph J. Faska, Depository Trust, USA.
Change 17.315 MXG 17.08 only. I introduced typos into IMS Log members
ASMIMSL6 when I updated the MXG library from the tested members,
ASMIMSL5 and one more houskeeping statement was added to TYPEIMSA:
ASMIMSLG - TYPEIMSA:
TYPEIMSA Semicolon was missing in this statement:
Nov 22, 1999 IF MTYPE EQ: 'T' THEN STRTTIME=GUTIME; /*RESET....*/
Nov 23, 1999 New statement ENDTIME=STRTTIME; was inserted after
the WSRVTS=ENDTIME-NEWSQ6; statement (line 864).
- ASMIMSL6/L5/LG: Three statements must be changed:
BNZ P301000I should be BNZ P031000I.
CLI MTYPE+3,=C'P' should be CLI MTYPE+3,C'P'
MVI MTYPE+3,=C'T' should be MVI MTYPE+3,C'T'
- ASMIMSL6:
Blank line before label P031000C must be removed.
I thought that my revisions had been re-tested before
MXG 17.08 was sent, but it is now painfully obvious that
they were not!
Thanks to Alan Green, Zurich, ENGLAND.
Change 17.314 The de-accumulation of the Web Server TYPE1032 data was
VMAC103 expanded to BY SYSTEM HOSTNAME IPADDRES PORTNUMB SMFTIME;
Dostları ilə paylaş: |