* copyright (C) 1984-2019 merrill consultants dallas texas usa



Yüklə 28,67 Mb.
səhifə356/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   352   353   354   355   356   357   358   359   ...   383

TYPEIMS, and the conditional tests were restructured.

Thanks to J. Cary Jones, Philip Morris, USA.
Change 08.117 Philip Morris has made this major contribution to MXG

ASMVTOC for DASD management and measurement. They replaced the

JCLDASD functional but slow %VMXGVTOR and %VMXGVTOC programs

VMXGVTOF (which used SAS and CVAF) to read the DASD VTOCs, with

ANALVVDS ASMVTOC, a very fast assembly program that extracts the

Aug 25, 1990 VTOC data into a flat file. JCLDASD is a jobstream to

execute ASMVTOC (and MXG's pre-existing ASMVVDS program)

and it uses VMXGVTOF and ANALVVDS (which were originally

named MPXGVTOC and MPXGVVDS in PreReleases) to

manage, measure, and recover DASD space. This has only

been repackaged before addition to MXG 8.3, but it

has been running at Philip Morris for some time. Note,

however, that it is now Merrill Consutants, and not

Philip Morris who is now responsible for problems!

Thanks to Tuanhung Doanvo, Philip Morris, USA.
Change 08.116 MXG's Quality Assurance job stream is contained in the

JCLUXREF two JCL members, one for 5.18, the second for 6.06, and

JCLUXRE6 the reporting ANAL.... members have finally been added

TESTANAL into the test stream!

Aug 25, 1990
Change 08.115 SAS 6.06 Compatibility. Macro compiler logic error.

ASUMVMON This circumvention was made before it was known that SAS

TRNDCICS ZAP Z6060916 corrected the problem. The %VMXGSUM macro

TRNDJOBS is invoked by these members, and should generate a line

TRNDRMFI SAS code for each variable in the NORMn= list, but this

TRNDTMNT error caused %VMXGSUM to terminate the scan early and the

TRNDVMON code generated was wrong, yet there was no error message!

Aug 24, 1990 The error was discovered because the scan truncated the

name of a variable, causing that variable to surface on

the list of variables without labels in the QA jobstream!

By moving the NORMn= variables in the 2nd and subsequent

lines, the problem seemed to go away, but now that there

is a zap for the problem, put it on and don't trust this

repositioning circumvention.

Thanks to Chuck Hopf, Hopf Consulting, USA.
Change 08.114 SAS 6.06 Compatibility. %VMXGFOR macro for FORCE option.

VMXGFOR See ZAP Z6060571 (which was superceded by Z6060969)

Aug 24, 1990 circumvented the need for FORCE on PROC SORTs, but since

that ZAP disables this new FORCE "feature", not all sites

may choose to disable FORCE. So, for those MXG sorts in

which the input and output data sets are the same, this

changes adds %VMXGFOR (which has value FORCE under 6.06,

and a null value under 5.18)in these 65 members. With

this source circumvention installed, the above zap is

now optional, instead of required, for MXG.


However, this change now makes two SAS options mandatory

for execution of MXG. SAS Options MAUTOSOURCE and

SASAUTOS=SOURCLIB is now required to locate the %VMXGFOR

macro which implemented this change. (These options have

always been required for MXG programs which used %MACROs,

such as ANALDB2R, but now ALL executions of MXG must use

these two options to resolve the location of %VMXG...

macros.)
ANALALL ANALAUDT ANALBNCH ANALBNC1 ANALCACH ANALCICS

ANALDB2R ANALDMON ANALDOS ANALESV ANALMNTS ANALMONI

ANALMPL ANALNAF ANALNPA ANALNPM ANALNPMR ANALNSPY

ANALPATH ANALPDSM ANALPROG ANALRRTM ANALSMF ANALSUPR

ANALTAPE ANALTURN ANALVARY ANALVM ANALVMDY ANALVMOS

BUILDPDB BUILDPD3 DIFFDB2 DIFFROSC DIFFTPX GRAFREGR

GRAFRMFI GRAFTMNT GRAFTRND IDMSAPND IDMSJANL JCLHSM

JCLTREND PDBTREND RMFINTRV SYSLOGJ3 TYPEDOS TYPEIMS

TYPEIMS1 TYPEIMS3 TYPEMONI TYPETMS UTILCICS UTILDUMP

UTILPRAL UTILSPAC UTILXRF2 VMACCRAY VMACVMON VMACVMXA

VMXGHSM VMXGSUM VMXGVTOC ZRBRPT1 ZRBRPT2


Change 08.113 Incompatible changes in MXG Trending were implemented by

DOCTREND this change, for prior users of MXG Trending data sets.

GRAFTRND The TREND.RMFINTRV and TREND.TYPE72 data sets have been

JCLTREND renamed to TREND.TRNDRMFI and TREND.TRND72 with MXG 8.3.

TRNDRMFI All that you need to do is to rename these two datasets

TRNDVDEV in your TREND library BEFORE you run the MXG 8.3+ TRND...

TRNDVMON programs, using:

TRND72


Aug 22, 1990 PROC DATASETS LIBRARY=TREND;

CHANGE RMFINTRV=TRNDRMFI

TYPE72 =TRND72 ;
Ok, so now you didn't see this note, you have run your

new TRNDRMFI, and discover only last week's data is in

your trend plots. Have we destroyed your old data? No!

It's still sitting in your TREND library, as datasets

RMFINTRV and TYPE72, but now you can't rename them, as

there's already a TRNDRMFI and TRND72 in your TREND!

In this case, you need only combine the old data sets

with the new data sets:

DATA TREND.TRNDRMFI;SET TREND.TRNDRMFI TREND.RMFINTRV;

DATA TREND.TRND72 ;SET TREND.TRND72 TREND.TYPE72;

and you will have lost nothing and will be compatible!

I apologize for the inconvenience of this change, but the

TREND data sets need to be named differently, because the

contents (especially TRND72) is quite different than the

TYPE72 data set.

The consolation may be the new member, DOCTREND, which is

a preliminary documentation of which members of the Trend

Data Base are built by which members of MXG Software!


Change 08.112 Chuck Hopf's excellent paper on generation of DB2PM-like

DOCDB2PM reports using ANALDB2R (which Chuck wrote) is now added

Aug 22, 1990 to the MXG documentation in DOCDB2PM.

Thanks to Chuck Hopf, Hopf Consulting, USA.


Change 08.111 NPM 1.3 Subtype 82 (x'52'), and perhaps other subtypes,

VMAC28 have BASNCPDT and BASNCPTM values of 0, which cause INPUT

Aug 22, 1990 function error when creating BASTIME from those fields.

In line 163610, replace THEN with AND, and insert a new

line containing BASNCPDT GT 0 AND BASNCPTM GT 0 THEN

to eliminate the error message.

Thanks to Ross Pover, Immigration & Ethnic Affairs, AUSTRALIA.
Change 08.110 MXG QA runs uncovered that variable STRTTIME was not kept

TYPEMONI in MONIDBDS and MONIUSER data sets built from Landmark

Aug 22, 1990 CICS data.
Change 08.109 MXG QA now includes testing of the TREND data base, and

JCLTRND as a result, the data sets built by the default TREND

TESTTRND options are documented (finally) in DOCVER and DOVER08

Aug 21, 1990 in MXG 8.3 and later.


Change 08.108 SAS 6.06 Compatibility. Eliminate multiple macro compile.

ASUMCICS These members defined %MACROs VMXGSUM and VMXGDUR using

ASUMDBDS %INCLUDE logic, but this causes a re-compile each time

ASUMDOS that the include is executed. Instead of using %INCLUDE

ASUMTMNT statements, these macros will automatically be defined

ASUMVDEV only one time by the combination of SAS system options

ASUMVMON MAUTOSOURCE SASAUTOS=SOURCLIB (which have always been

TRNDCICS recommended in MXG executions using %MACROs). In an

TRNDDOS unrelated change, DROP DATETIME was also added to each

TRNDJOBS invocation of VMXGSUM to save 8 bytes per observation.

TRNDRMFI

TRNDTMNT


TRNDVDEV

TRNDVMON


TRND72

Aug 21, 1990


Change 08.107 Addition of TREND testing to the MXG QA stream uncovered

TRNDDOS a syntax error, and the delete of DATETIME mention above

Aug 21, 1990 was also added.

Line 001600, delete (DROP=DATETIME) from line

Line 002800, change ;'); to ';

Insert new line after 002800

DROP DATETIME;);
Change 08.106 VM/370 Monitor processing could calculate incorrect value

VMACVMON for date timestamps, but only in the Western Hemisphere,

Aug 20, 1990 and only if the Monitor Start Record (0.97) timestamp in

GMT was after the 202-day interval midpoint and the local

timestamp was before the 202-day interval midpoint, which

at most could occur every 202 days. The error only occurs

in that one day's execution of MXG. The midpoint datetime

of the current 202-day interval was at 04AUG90:03:43:52.

If the VM/Monitor was started on that date at 00:00 local

time, all Western Hemisphere sites had a GMT of 05:00 or

later, and MXG calculated STARTIME 43 minutes too early!

Whew! The error is in the heuristic algorithm to decode

the 5-byte datetimestamp (only 202 days fit in 5 bytes).

and determine the timezone value, which did not protect

for the preceding situation. Replace lines 209200 thru

029600 (now and IF (16*MNHTOD ... to END; ) with:

IF (COLLTIME-BASETIME) GT 0.75*FFFFF AND 16*MNHTOD LT 0.25*FFFFF

THEN BASETIME=BASETIME+FFFFF;

ELSE IF (COLLTIME-BASETIME) LT 0.25*FFFFF AND 16*MNHTOD GT

0.75*FFFFF THEN BASETIME=BASETIME-FFFFF;

IF 16*MNHTOD GT FFFFFOV2 THEN LASTHALF=1;ELSE LASTHALF=0;

Thanks to Frank Putnam, Ryerson Polytechnical Institute, USA.


Change 08.105 IDMS 10.2 Batch Jobs ACCOUNT1-ACCOUNT3 fields were not

EXIDMTAS decoded, because no sample data had been seen. Now it has

Aug 20, 1990 been, and you can decode batch job's account fields into

those variables in Exit member EXIDMTAS, which should be

copied into your USERID.SOURCLIB and modified therein to

contain the appropriate substring operations. For example

if your three account fields are 17, 8, and 4 bytes long,

you would insert the below example. (Note that the first

byte of ACCOUNT1 begins in byte 2 of TASBFLDS):

IF TASTTYPE='.1......'B THEN DO; /* BATCH ONLY */

ACCOUNT1=SUBSTR(TASBFLDS,2,17);

ACCOUNT2=SUBSTR(TASBFLDS,19,8);

ACCOUNT3=SUBSTR(TASBFLDS,27,4);

END;


Thanks to Harold L. Correll, Harris Corporate, USA.
Change 08.104 CA7 (formerly UCC7) job scheduling package still corrupts

VMACTSOM SMF records, as first described in Newsletter TEN, 1986.

Aug 20, 1990 CA says 4 sites have reported the problem and they are

"looking into it", but have no immediate plan for a fix.

CA7 modifies the READTIME of a controlled job by writing

a non-zero value in the first byte of its julian date, to

flag that this job is under CA7's control. When that job

terminates, CA7 is supposed to remove its corruption and

restore the valid julian date, before the SMF records are

written. CA7 corrects the SMF record in IEFU83, after the

record has been built, and only corrects the SMF records

that it knows about. CA7 does not know about TSO/MON!!

TSO/MON creates SMF records for batch jobs that execute

TSO commands, and if that job is under CA7 control, that

SMF record contains corrupted READTIME values, causing an

"INVALID DATA FOR READTIME ...", a hex dump of the record

and several pages of variable=value error messages.

Since CA appears incapable of rapid response, and since

the error is likely to show up again, this specific fix

to CA7s corruption of TSO/MON records can generically be

used for any other (future) SMF record corrupted by CA7.

a.Locate all occurrences of inputting READTIME SMFSTAMP8.

in member (in VMACTSOM, lines 034700 and 068800). Change

all occurrences to now read READCA7S $CHAR8. instead.

b.Find the @; which terminates the INPUT statement you just

fixed (in VMACTSOM, lines 040100 and 072500). Insert four

lines after each @; which read:

IF SUBSTR(READCA7S,5,1) GT '01'X THEN DO;

SUBSTR(READCA7S,5,1)='00'X;

READTIME=INPUT(READCA7S,SMFSTAMP8.);

END;

Note that this fix is only waranteed thru Dec 31, 2099.



If CA7 is still corrupting SMF data in the year 2100,

(since they are overwriting the century byte of date)

the 01 in the algorithm will need to be changed to 02!

Thanks to Keith Mo, Empire Blue Cross Blue Shield, USA.


Change 08.103 SAS 6.06 Compatibility. VMXGSUM DROP= conflict.

ASUMVMON Change 8.089 in MXG 8.2 added DROP=MXGMISS MXGNMISS to

TRNDVMON the %VMXGSUM macro, but two members that invoke %VMXGSUM

Aug 12, 1990 already contained DROP= arguments, causing syntax errors

Aug 21, 1990 (that should have been caught in MXG 8.2 testing), and

thus this change only affects recipients of MXG 8.2. But

while we were at it, we also removed the unnecessary

includes discussed above in Change 8.108.

1.ASUMVMON, delete line 001200 to eliminate %INCLUDE.

Line 001600, remove (DROP=WFRENUM DATETIME)

Line 003700, change ;); to ;

Insert new line after 003700 containing

OUTCODE=DROP WFRENUM DATETIME;);

2.TRNDVMON, delete line 001100 to eliminate %INCLUDE

Line 001500 remove (DROP=WFRENUM DATETIME)

Line 003700 remove )

Insert new line after 003700

DROP WFRENUM DATETIME;);


Change 08.102 For the DB2ACCT Accounting data set in a Distributed DB2

VMACDB2 environment, the Distributed Header fields QWSHCCNT,

VMAC102 QWHDLUNM, QWHDNETI, QWHDRQNM, and QWHDUNIQ are now added.

Aug 12, 1990 In the type 102 trace correlation header, QWHCOPID is now

decoded. In both the 101 and 102 SMF records, MXG now

looks for all five possible header types.

Thanks to Mike Atterberry, Rockwell International, USA.
Change 08.101 ANALDB2R Accounting Trace Long worked if the Trace Short

ANALDB2R was requested, but if the Trace Long alone was requested,

Aug 9, 1990 a SORT VARIABLE error occurred. Adding SORTBY=DBT, to the

ANALDB2R invocation will make the problem go away, or

adding these four lines after line 018980 will fix it:

%IF &PMACC02 NE YES %THEN %DO;

%LET SORTN = 1;

%LET SORT1 = %QUOTE(DB2);

%END:

Thanks to Cindy Schinker, AgriData Resources, USA.


Change 08.100 Support for WSF 3.3.0 and WSF 3.3.4 SMF records from the

EXWSFACC WSF sysout archive product from RSD. Five data sets are

EXWSFAUD created, WSFACCT, WSFDSN, WSFERD, WSFEVTS, and WSFEVTP,

EXWSFDSN from the account record, and data set WSFAUDIT is built

EXWSFERD from the audit SMF record. The WSFACCT and WSFERD data

EXWSFEVP sets contain the total READ, WRIT, etc counts from all

EXWSFEVS of the DSNB sections, and the WSFDSN data set contains an

IMACWSF observation for each DDNAME/DSNAME accessed. The WSFERD,

TYPEWSF WSFEVTS (Screen) and WSFEVTP (Printer) datasets contain

VMACWSF CPU time for WSF processing, unique for sysout archivers!

Aug 6, 1990 Member IMACWSF identifies which SMF record is which.

Thanks to Victoria A. Lepak, Aetna Casualty and Surety Company, USA.


Change 08.099 A plethora of VM/XA changes were discovered in a search

VMACVMXA of INFO/SYS using KWS A MONITOR RECORD NEW UPDATE; some

Aug 6, 1990 of the documention for these VM/XA changes required the

actual script of the PTF, and the documentation leaves

a lot to be desired. This is especially sad, because the

VM/XA monitor itself was one of the best documented IBM

products in a long time. I guess that's the difference

between development and maintenance in IBM.

1.VM39921 added variable CALBASE to seven VM/XA datasets

(VXSCLADL,VXSCLDDL,VXSCLAEL,VXUSEACT,VXUSEATE,VXUSEITE)

to identify if this is the base VMDBK or adjunct VMDBK.

2.VM39196 added variable CALMODE to four VM/XA datasets

(VXMTRUSR,VXUSELON,VXUSEACT,VXUSEATE) to indicate the

architectural mode (ESA, XA, or 370) of the guest.

3.VM36026 added variable CALIOACT to VXSYTUWT and variable

HFIOACT to datasets VXUSEINT and VXUSEITE to count the

number of times the user has an asynchronous I/O that

was outstanding.

4.VM36104 adds two new VM/XA monitor records, 0.15 (SYTCUG)

and 0.16 (SYTCUP), measuring LPAR (Logical Partition) CPU

allocation (dispatched) duration. MXG builds two new data

sets, VXSYTCUG (per time interval) and VXSYTCUP (per LPAR

per time interval). The new data is identical to that

in the MVS TYPE70PR SMF data record, and reports on the

utilization of ALL of your LPARs on the hardware platform

whether they are executing VM, MVS, or DOS.

Thanks to Tom Healy, ChemNet Processing, USA.
Change 08.098 Support for IMS/ESA 3.1 IMS log processing is now added.

FORMATS While several additional fields were added to the IMS log

TYPEIMS records 07 and 08, because they were added at the end of

VMACIMS the log record, MXG 7.7 will not fail with IMS 3.1 data!

Aug 6, 1990 Several of the new fields are 8-byte time durations that

are not documented as to format in the IMS log DSECTS,

and the test data received to data was only from BMPs

that had zero values for these durations, so there is

still some validation/verification required. The new

data fields that have been added are:

DBCTL DB I/O measures:

DLRIOCNT - DBCTL DB I/O Count.

DLRTMEPL - DBCTL DB Locking Elapsed Time.

DLRTMEIO - DBCTL DB I/O Elapsed Time.

Delays during program scheduling:

DLRMINT - Wait time for Intent Conflict with another

PSB for scheduling.

DLRMPOL - Wait time for Pool Space for scheduling.

DLRMSCH - Elapsed time for Schedule Processing

(which includes both DLRMINT and DLRMPOL).

There is only one 07 record per program schedule, but it

describes NMSGPROC transactions, if multiple transacts

are executed by a single program schedule. As MXG has had

to do before, these new 07/08 fields are divided by the

NMSGPROC value and thus each ultimate transaction record

in TYPEIMS contains the average count/duration of these

new resource measures.

What has not been tested for IMS/ESA 3.1 is the data

compaction introduced (I think by an SPE to IMS) in

MVS 3.1.3. APARs OY19751, OY19854, OY19860, OY19863 are

involved, and IBM manual GC28-1057, MVS/ESA Data

Compression and Expansion Services describe the new

callable macro CSRCESRV which is automatically used by

IMS/ESA 3.1 to compress the OLDS and SLDS (System Log

Data Set, the input to TYPEIMS). I am still researching

if, when, and how the data compression occurs, and would

welcome an IMS/ESA log tape with compression in effect

so that I can figure out how to decompress it in MXG!

Thanks to Hamid Tavakolian, Continuum, USA.
Change 08.097 This circumvention member for the 344 Compiler error had

XMAC73 initialized variable LCI as numeric instead of character.

Aug 6, 1990 Line 014500 should be IF LCI=' ' then LCI=' ';

Only when data from before and after the circumvention is

installed, did this cause a conflict.

Thanks to Richard Evans, Mervyns, USA.


Change 08.096 SAS 6.06 Compatibility. PROC PRINT PAGE option.

ANALESV The PROC PRINT option PAGE no longer exists, and it has

Aug 3, 1990 been removed from this example report.

Thanks to Tom Simons, Matson Navigation, USA.


Change 08.095 SAS 6.06 Compatibility. LIBREF reuse as FILEREF.

MONTHBLD SAS Version 6.06 still does not properly recognize the

Aug 3, 1990 TAPECLOSE=LEAVE or FILECLOSE=LEAVE options when reading

or writing tape format SAS data libraries. Just like 5.18

did, a rewind of each tape library is issued after each

SAS data set is read/written, whereas the LEAVE options

should cause the tape to remain positioned at the end

of the SAS data set just read/written on that tape. The

problem is only that this causes many tape mounts if the

input or output data libraries are multi volumes, and it

causes lots of rewinds (and hence longer elapsed times)

even if only single volume tape libraries are involved.

The problem has been most pronounced in building the

monthly PDB (since that has the highest probability to

be multi-volume). MXG has provided a circumvention in

MONTHBLD for the output tape (ddname MONTH), but changes

in the SAS 6.06 language specifications were made. To

protect users from accidentally overwriting a SAS data

library with a FILE/INFILE statement, SAS 6.06 no longer

allows the same ddname for both a LIBREF and FILEREF at

the same time. The following circumvention is required

in MONTHBLD to free the LIBREF name so it can be reused

as a FILEREF (and, of course, the syntax only works under

SAS 6.06 so that version-dependent macros are required so

that the modified MONTHBLD executes under either 5.18 or

6.06!).


1.Before the second "MACRO _MNTHBLD" definition, insert

these two new compatibility macros:


%MACRO V6COMPEN;

%IF %SUBSTR(&SYSVER,1,1) GE 6 %THEN %DO;

LIBNAME TAPETEMP TAPE ; /*6.06+ TAPE ENGINE*/

%END;


%MEND;
%MACRO V6COMPCL;

%IF %SUBSTR(&SYSVER,1,1) GE 6 %THEN %DO;

LIBNAME TAPETEMP CLEAR; /*6.06+ CLEAR*/

%END;


%MEND;
2.Inside the second "MACRO _MNTHBLD" definition, after the

OPTIONS OBS=MAX; and before the DATA TAPETEMP._DSET;

insert (note double percent sign):
%%V6COMPEN;
3.Inside the second "MACRO _MNTHBLD" definition, after the

IF _BEGIN LE ZDATE LE _END; and before the DATA _NULL_;

insert (note double percent sign):
RUN; %%V6COMPCL; RUN;
Thanks to Bud Porter, City of Birmingham, USA.
Change 08.094 Truncated RMF type 79 SMF records resulted when SMF data

VMAC79 records that were actually LRECL=32760 bytes were dumped

VMAC79 with an incorrect LRECL=32756 specified in the SMF dump

Aug 3, 1990 or copy program. The correct LRECL=32760 must be used.

MXG detected and deleted the defective SMF records, but

did not note on the log this had been done. The type 79

subtype 1 record with 32760 bytes occurs only when there

are 331 or more address spaces active. This change now

reports when bad records have been found and reports that

they were deleted. Insert after line number 017100

(the end of MONITOR II Control SECTION):
L79EXPD=OFFSMF+SMF79ASS-3+SMF79ASL*SMF79ASN-1;

IF SMF79ASS GT 0 AND SMF79ASL GT 0 AND SMF79ASN GT 0

AND L79EXPD GT LENGTH THEN DO;

N79BADAS=1;

IF N79BADAS LT 10 THEN PUT

' EXPECTED ' L79EXPD

' BYTES, BUT LOGICAL DATA IS ONLY ' LENGTH

' BYTES IN RECORD. RECORD DELETED.';

END;

Thanks to Ken Trayes, General Electric Capital, USA.


Change 08.093 The 8.2 PreRelease copy of VMACZRB has now been validated

VMACZRB by the original author of the RMF III processing support,

Aug 3, 1990 who discovered that all X'04' must be changed to $ and

all X'52' must be changed to "not" signs. Guess what MXG

source code went from EBCDIC to ASCII and back to EBCDIC!

To avoid future character set conversion problems, I have

further changed all "not-symbol equal signs" to " NE ".

(In printing this change, which was down loaded from MVS

to PCDOS, the "not-symbols" were converted and printed as

"caret" symbols! Please do not use not-symbols!)

Thanks to Dick Whiting, Precision Castparts, USA.
Change 08.092 STC's 4400 Silo SMF record will contain a new subtype 7


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   352   353   354   355   356   357   358   359   ...   383




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©muhaz.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin