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



Yüklə 28,67 Mb.
səhifə253/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   249   250   251   252   253   254   255   256   ...   383

%ANALDB2R(

PDB=PDB,


DB2ACCT=DB2ACCT,

DB2ACCTB=DB2ACCTB,

DB2ACCTP=DB2ACCTP,

... );


The documentation in the comments has been revised;

the code has been in place since version 14.14!

Thanks to Alan Fendler, Pershing, USA.

Thanks to Harold Wentz, Pershing, USA.


Change 17.086 The DCOLLECT example had LRECL=644 in comments, but you

JCLDAYDS must specify LRECL=32756. With LRECL=644, DCOLLECT sets

May 6, 1999 a Return Code of 4 and a message that it encountered a

record that was too long to process, but does not ABEND,

and some of the records are not created. (Fortunately,

the long records are the SMS structure definitions for

Storage Class, Storage Group, etc., rather than the real

Dataset and Cluster records used for accounting/sizing.

Thanks to Chuck Hopf, MBNA, USA.
Change 17.085 Support for RACAL IT Security's SRM product for HSM SMF

EXSRMHAP record creates three new datasets:

EXSRMHDV SRMHSMAP SRM HOST SECURITY MODULE APPL

EXSRMHNU SRMHSMDV SRM HOST SECURITY MODULE DEVICE

FORMATS SRMHSMNU SRM HOST SECURITY NULL RECORD

TYPESRMH The Null Record dataset is created from records that have

TYPSSRMH no Device nor Application segment, just a 36-byte record;

VMACSRMH it is not clear of what use they may be.

VMXGINIT

May 6, 1999

Thanks to Choo Hui Chuin, Maybank, MALAYSIA.
Change 17.084 -The %INCLUDE of IMACIMSA should have been just before the

TYPEIMSA MACRO _VARxxxx definition, and has been moved, but there

VMACIMSA was no error since IMACIMSA is re-included by TYPEIMSA.

May 15, 1999 -The _KIMSBMP macro was added to the step that builds the

BMPS dataset so that full tailoring is supported.

Thanks to Chris Weston, SAS Institute, USA.


Change 17.083 The label for variable STRTTIME was changed to INTERVAL

VMAC25 START TIMESTAMP because in BUILDPD3, the type 25 label

May 4, 1999 was overriding the CICS and other Interval datasets.

I should have chosen a different name for the JES3 TYPE25

dataset, but its too late for that now, but changing its

label will eliminate the JES3 confusion.

Thanks to Neil Musitano, Jr., Department of Veterans Affairs, USA.
Change 17.082 DATASET PDB.TYPE200 NOT FOUND results when TYPSIDMS is

VMACIDMS used; the four lines _STY200, _STY201, _STY202, _STY203

May 4, 1999 are deleted as the TYPE200 members were IDMS 10.2 only.

Thanks to Alan Deepe, Perot Systems Europe, ENGLAND.


Change 17.081 The invocation of the sort macro, _STMVS, should have

TYPSTMV2 been spelled _STMV2 in member TYPSTMV2.

May 4, 1999

Thanks to Kathy Gordon, General Nutrition, Inc, USA.


Change 17.080 Comments only were changed, on how to handle CADI record

IMACCADI with ID=239 instead of ID=6. Those comments are now the

May 4, 1999 MXG Note Example of using IMACFILE to change ID number.

Thanks to Bob Cooney,


======Changes thru 17.079 were in MXG 17.01 dated May 3, 1999======
Change 17.079 Yet another enhancement to the UTILBLDP utility that will

UTILBLDP create the //SYSIN file BUILDMXG to build your tailored

May 1, 1999 PDB. This iteration detects if CICS, DB2, TMNT, or TY74

May 14, 1999 data was requested, and if the ASUM member appropriate to

that data are not included, they will be added with a new

comment "/*RECOMMENDED*/". New options to run BUILDMXG

instead of creating the file, INCLAFTR= to name members

to be included after BUILDMXG runs, and SPINUOW to pass

the SPIN count for ASUMUOW build, if requested.
Change 17.078 Change 17.029 was also needed in MONTHBLD; two lines with

MONTHBLD non-blank character in column 72 caused failure, even tho

May 1, 1999 the syntax should be valid.

Thanks to David Gibney, Washington State University, USA.


Change 17.077 Chuck discovered that some PDB.ASUMTAPE observations with

ASUMTAPE STATUS=MISSEDMNT had TMNTTIME incorrect and traced some

May 3, 1999 to be caused by "multi-unit,never-used" tape mounts:

May 20, 1999 Using UNIT=(TAPE,2) allocates two tape drives, and

See 17.106 two scratch tapes will be initially mounted. When a

volume fills, writes switch to the second drive while

a new tape is mounted on the first drive, so at CLOSE

of the DDNAME, there will always be a hanging mount

that was never used and never opened. But MXGTMNT

saw that mount, and at deallocation time it writes the

SMF record with the actual (earlier) mount start and

end times; MXG sets VOLSER='UNKNWN' because without an

OPEN, the VOLSER is unknown. And IBM's type 21 SMF

record contains blanks for VOLSER for the dismount!

This and other discoveries led to revisions in internal

algorithms in ASUMTAPE, described below, but there was

no error in the number of observations in PDB.ASUMTAPE.

Some obs that previously had STATUS='MISSEDMNT' will now

be MATCHED, and a few will now be STATUS='WRONGVOL'.

-The VOLSER=UNKNWN mount records are no longer discarded.

They are for those "multi-unit,never-used" mounts in

which the MXGTMNT monitor is still waiting for a VOLSER,

and their type 21 record has blanks for volser.

-The "sorttime" used for MOUNT records is now based on the

end of mount timestamp, TENDTIME, moved two seconds back

to account for the MXGTMNT timer pop, but not moved back

before the start of the mount timestamp, TMNTTIME:

sorttime = MAX(TMNTTIME,TENDTIME-2);

These choices for sort order were tested:

TMNTTIME - start of mount (sampled) timestamp. Used

early, but found to cause many MISSEDMNT

events, correcting moved it before ALOCSTRT

so TENDTIME was used in 17.01/17.02.

TENDTIME - end of mount (sampled) timestamp. Used

in 17.01 and 17.02, revised above in 17.03.

Without subtraction, a few were found with

TENDTIME after the TY21TIME, which created

MISSEDMNT events, but the 2 second pop now

sorts the mount record before the dismount,

and the MAX(TMNTTIME) ensures the it will

not be shifted to earlier than TMNTTIME (as

that could put the mount before allocate).

SMFTIME - when record written, can be after TENDTIME,

eg., for "multi-unit,never-used" mounts

whose SMF records are written at (sampled)

deallocate time, so SMFTIME can even be

after TY21TIME.

-Some MISSEDMNTs had mount records, but their mounts had

been discarded due to missing JESNR, which was used to

recognizing a new JOB. I have revised that logic to not

require JESNR, and thus can keep those mount records.

-Some MISSEDMNTs are for "start-up effect missed-mounts"

whose mount had occurred before the begin time of the SMF

file (ALOCSTRT earlier than the first dismount), but they

occur on the first day's run of ASUMTAPE and are

eliminated when the SPIN library takes effect on the

second run.

-Some MISSEDMNTs are now STATUS=TY21ONLY, because the test

is now IF ALOCSTRT LE TY21TIME LE ALOCEND THEN (added

test for ALOCEND) so that 21s with times after the end of

the held alloc record are recognized.

-Some MISSEDMNTs are now STATUS=WRONGVOL, because I found

I can recognize many instances of the operator putting in

(intentionally) an incorrect volume (when he/she cannot

find the correct volser, the stick in any tape to knock

down the outstanding mount message).

-Some remaining MISSEDMNTs in non-VTS environment are the

result of allocation recoveries when allocation switching

occurs; sometimes the mount was seen but the wrong job

name was put in the mount record so the mount did not

match up. A new version of MXGTMNT is in testing that

may be able to detect this state and correct or eliminate

those bad mount records.

-This revision now matched 13,822 tape mounts, found 5

WRONGVOL, 26 TY21ONLY, and only 24 are now MISSEDMNTs!

Thanks to Chuck Hopf, MBNA, USA.


Change 17.076 Type 73 with APAR OW15406 (IODF date expanded to YYYY)

VMAC73 and first 17.01 printed debugging lines on the SAS log:

May 1, 1999 YYYY IODFTIME=25MAR1999:08:24:18.00 _N_= ....

because the PUT statement had not been deleted.

Thanks to MP Welch, SPRINT, USA.
Change 17.075 The SORT order in these examples did not include SYSPLEX

ANALMTP variable in the PLOTs of TYPE70 and RMFINTRV, causing

ANALMPL a NOT SORTED error. SYSPLEX was added to RMF sort order

Apr 30, 1999 in MXG Change 16.288 but these examples were overlooked.

Thanks to MP Welch, SPRINT, USA.
Change 17.074 EXCP/IOTM variables did not exist in TYPE434 because the

VMAC434 "%INCLUDE SOURCLIB(IMAC434);" statement should have been

Apr 30, 1999 "%INCLUDE SOURCLIB(IMAC30IO,IMAC434);". This error was

introduced in the MXG 16.04 redesign.

Thanks to Mike Hoey, Ameren Services Corporation, USA.
======Changes thru 17.073 were in MXG 17.01 dated Apr 29, 1999======
Change 17.073 -SAS Version 7 causes error message on SYSMSG that options

AUTOEXEC CODEPCT and BLKSIZE(TAPE) are not supported in V7, but

CONFIGV7 there a return code of zero is set, so there is no real

Apr 28, 1999 error condition. To eliminate those messages, however,

new CONFIGV7 member exists and it can be used instead of

CONFIG in your MXG SAS JCL procedure. (Note that members

CONFIG, CONFIG07 and CONFIG08 are identical, and they are

for SAS Version 6.07 thru 6.09.).

Note: Feb 17, 2000: Members CONFIGV8 and CONFIGV7 are

the same and eliminate warning messages on the SAS log

with SAS Version 8.

-For ASCII execution, member AUTOEXEC is the equivalent of

CONFIG and it has been updated to pass the same options

for ASCII MXG execution as are set by CONFIGV7 for MVS.


Change 17.072 ANALDALY's sort order had not been updated to include the

ANALDALY SYSPLEX variable (BY SYSPLEX SYSTEM STARTIME), causing a

Apr 28, 1999 NOT SORTED error message.

Thanks to MP Welch, SPRINT, USA.


Change 17.071 Duplicate obs were detected and deleted from MQMACCT data

VMAC116 set (type 116 MQ-series accounting) because identical 116

Apr 28, 1999 records are created, in pairs and triplets (284 removed

of 24,000). The sort macro _BTY116 was expanded to hold

the full set of unique variables, but each observation is

from a different SMF record, so variable SMFRECNR was

added to the KEEP list, so that no records are duplicates

and so none are deleted by the SORT. (TYPE116 does not

sort, so it deleted no observations; only if you used the

TYPS116 member or the _S116 or _Sty116 macros were dupes

removed.) Further investigation with IBM is planned.

Note added Feb 18, 2000: While SMFRECNR was added to the

KEEP= list for dataset MQMACCT, it was not added to the

BY-list macro, because it would prevent removal of dupes

that came in two different SMF-reading jobs. See the

sort revisions in Change 18.001 and discussion there.

Thanks to Freddie Arie, Texas Utilities, USA.
Change 17.070 Using ANALCNCR to count concurrency failed if the values

ANALCNCR for start or end were missing. ANALCNCR now deletes any

Apr 28, 1999 input observations with missing timestamps (and reports

how many if any were found).

Thanks to Greg Jackson, National Life of Vermont, USA.
Change 17.069 Thirty-nine instances of "&NUM.2 "

VMACEDGR were changed to "&NUM.2. "

Apr 28, 1999 Retention Date field RDRETDAT can contain "WHILECATLG"

as date value; that string is now reported and new MXG

variable RDWILCAT='Y' and RDRETDAT will be missing.

Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.


Change 17.068 Change 16.078 increased variables CSTORE and ESTORE in

RMFINTRV dataset TYPE71 to eight bytes stored length, but RMFINTRV

Apr 28, 1999 had the variables in the new LENGTH 8 and in the old

LENGTH 4 statement; remove them from LENGTH 4 statement.

Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.
Change 17.067 Inconsistent documentation and code, but thankfully with

VMXGSUM no impact. The invocation of &INCODE1 is now located

Apr 28, 1999 after the invocation of &INCODE instead of before, but we

have never used &INCODE1= nor do I really think anyone

else would have; it was really there just for insurance

if we ever needed it.

Thanks to Jan van Lent, Hudson Williams Europe, GERMANY.
Change 17.066 Several IMACs still had active macro definitions for the

IMACxxxx "_L and _K" macros that should have been removed in the

Apr 21, 1999 16.04+ design (they are now defined in the VMAC, and the

IMAC should be only comments). Only if you tried to use

the %LET MACKEEP= architecture to tailor these IMACs was

there a problem - your tailoring may have been ignored!

These IMACs were revised: IMACNTCP, IMACSTX, IMACSUIN,

IMACSUPR, IMACSVCC, IMACSTC, IMACICE.


Change 17.065 Eight DB2 variables in DB2ACCT and DB2STATS were only

VMACDB2 input if LENQXST was GE 428, for DB2 Version 6, but the

Apr 21, 1999 fields exist in DB2 Version 5.1. These variables

QXALOCL QXALOCC QXSTFND QXSTNFND QXSTIPRP

QXSTNPRP QXSTDEXP QXSTDINV

are now INPUT if LENQXST is GE 16, and the remainder of

the 6.1 fields are then input if LENQXST is GE 428.

Thanks to Ken Michalik, Kraft, USA.


Change 17.064 The ASMIMSLG/ASMIMSL5 programs still had symbolic value

ASMIMSLG &DFSMS set to 0 (for DFP) that must be changed to one if

ASMIMSL5 you have DF/SMS instead. If you overlooked this value,

Apr 20, 1999 you might read 107 out of 110 log tapes without error and

then fail with 0C4 abends on the other three log files!

I have made the default now to be DF/SMS installed with:

&DFSMS SETB 1

in both programs (ASMIMSL6 already had 1 as its default).

Thanks to David Pearce, Westpac Banking, AUSTRALIA

Thanks to Andrew Barrett, Westpac Banking, AUSTALIA


Change 17.063 Reserved Change.

Apr 20, 1999


Change 17.062 Comments only. TMON data can be dumped in two modes, and

EXITMON6 MXG supports only the "Data-Image" format. If the TMON

Apr 20, 1999 data instead is dumped with their "Export-Import" format,

an extra 104 bytes prefix each record. Comments remind

you to create "Data-Image" format, but also provide an

example of how to use the INFILE's START=105 value to

strip off those extra bytes so MXG can process the badly

dumped data anyhow!

Thanks to Coen Wessels, UNICIBLE, SWITZERLAND.
Change 17.061 The DASD Allocation Monitor program had return code 4 in

ASMDALO its assembly, but runs fine on an OS/390 2.4 system with

Apr 19, 1999 all of its UCBs below the 16MB line, while it 0C4's at

one site which has dynamic UCBs - we are investigating

and will update this text when more is known.

Thanks to Paul Parragio, U.S. Geological Survey, USA.


Change 17.060 "Final?" enhancement to MXG 16.04 architecture defines a

VMXGINIT new &Wdddddd macro variable for the //WORK destination of

VMACXXXX each MXG dataset, just like the &Pdddddd macro variables

Apr 17, 1999 for the output "PDB" destination. The macro _L and _W

are now defined with this syntax in their VMACs:

MACRO _Ldddddd &Pdddddd.DATASET %

MACRO _Wdddddd &Wdddddd.DATASET %

so any existing overrides of the _L or _W macros continue

to work, but instead you can use the simpler syntax:

%LET &Wdddddd = DDNAME ;

to redirect that dataset to DDNAME. That %LET can be

stored in your IMACKEEP member, or can be put ahead of

of the %INCLUDE program statement. I'm only sorry I did

not think of this in time to include in MXG 16.16!

This enhancement is transparent, unless you use USER=XYZ:

There were 272 members EDITed for this change.

Before, if you use // EXEC MXGSAS,OPTIONS='USER=XYZ'

all datasets that SAS wrote by default to //WORK would

be sent to the XYZ DDname, but now, SAS sees a real

DDNAME (yep, it happens to be "WORK", but SAS doesn't

see that, so the datasets are not output to XYZ).

Now, to send all //WORK datasets to the //XYZ DDname,

you can re-initalize MXG and change the work default:

%VMXGINIT(MXGWORK=XYZ);

%INCLUDE SOURCLIB(TYPExxxx);

and get the same effect as the USER=XYZ option.

Jan 2009: The preceeding example to send //WORK to //XYZ

has not worked since 2000. See Change 18.148.

The MXGWORK argument of %VMXGINIT was removed

in Change 26.310.


It took 240 minutes to locate and change the 2450 lines

in 272 members. It then took 120 minutes to locate and

correct the 19 characters in 17 lines in 14 members that

had been incorrectly typed. I had an error in 5.1% of

the members I edited, but that is only 0.7% of the lines
Change 17.059 Support for APAR OW37708 and/or APAR OW38073 add four new

VMAC42 variables, SMF42BUF/BMX/LRU/UIC to the TYPE42TO dataset,

Apr 16, 1999 with total and highwater mark of BMF buffers and BMF LRU.

interval and cycles until castout.


Change 17.058 For RMM/EDGS records EDGATYPE R or S, there are two

VMACEDGS different sets of variables depending on MSRMSTID. Now

Apr 16, 1999 both sets are decoded, and new variables MSUSTNAM,

MSMEDIA and EDGATYPE are added to dataset EDGSSREC.

Thanks to Richard Fortenberry, Mitsubishi Motor Sales of America, USA
Change 17.057 -Change 16.225 was incomplete; the INPUT of the variables

VMACHSM WFSCPUTM and WFSACCT was added in the ID+1 record but was

FORMATS not added in the ID record, but since the FSR segment is

Apr 16, 1999 now in the ID+1 record, there should be little impact,

unless you are missing the APAR that moved the segment.

-Format MGHSMFU was updated to include values 15 and 16,

for ABARS ABACKUP and ABARS ARECOVERY records.

Thanks to Richard Fortenberry, Mitsubishi Motor Sales of America, USA


Change 17.056 Support for the index information in DB2 Type 102 subtype

VMAC102 22 for DB2 5 and later is now decoded and creates ten new

Apr 16, 1999 variables in dataset T102S022.

Thanks to Scott Mcdonall, Southern California Electric, USA.

Change 17.055 Support for NTSMF new Quota Server object creates new MXG

EXNTQTAS dataset QUOTASRV.

FORMATS

IMACNTSM


VMACNTSM

Apr 15, 1999


Change 17.054 Using UTILBLDP to create your tailored sysin for BUILDPDB

UTILBLDP had errors and not clearly documented. If your tailoring

Apr 15, 1999 generated a MACRO _Edddddd .... statement, it was missing

an end comment on that line that cause a recursion error.

If you added the TMNT (MXG Tape Mount) product records,

you got an OPEN failure because UTILBLDP forgot that TMNT

records are in BUILDPDB by default. The missing "*/" is

now created, and your request to add TMNT records will be

used to set the _IDTMNT value without the OPEN failure,

so that observations are created in TYPETMNT dataset.


Comments were revised to document that you run %UTILBLDP

once to build an output text file, (BUILDMXG is now the

recommended name, and the recommended destination is in

your USERID.SOURCLIB). Then that "BUILDMXG" file with

your tailoring changes is used instead of the BUILDPDB

member in your daily job, either by pointing the SYSIN

of the daily job at BUILDMXG file:

//SYSIN DD DSN=USERID.SOURCLIB(BUILDMXG),DISP=SHR

or by replacing the %INCLUDE SOURCLIB(BUILDPDB); in your

daily PDB job with %INCLUDE SOURCLIB(BUILDMXG);

If you name the output file "BUILDPDB", it cannot be

put in the //SOURCLIB concatenation, because it will

recursively include itself. It could be put in a PDS

that is not in the SOURCLIB concatenation and pointed

to in that source library, but using BUILDMXG as the

member/file name for the output of UTILBLDP is much

safer and clearer.

Thanks to Keith McWhorter, State of Georgia DOAS, USA.

Thanks to Freddie Arie, Texas Utilities, USA.
Change 17.053 Typo in VMXGINIT caused _S110 (sort all type 110s) to

TYPS110 fail with APPARENT SYMBOLIC REFERENCE PCICCF9 error. The

VMXGINIT two occurrences of PCICCF0 in VMXGINIT were changed to

Apr 15, 1999 PCICCF9. The ultimate cause of the error, however, was

Jul 20, 1999 that the _S110 macro was not used in the TYPS110 member,

so it was not fully tested; now, _S110 will execute when

member TYPS110 (to sort all datasets) is tested.

Jul 20: Typos in text: PCICFCn changed to PCICCFn.

Thanks to Alex Torben Nielsen, TeleDanmark EDB, DENMARK.

Thanks to Tom Elbert, FORTIS, USA.


Change 17.052 Variable A08DURAT was missing in CICS/ESA 4.1 and later,

VMAC110 because the timestamps used to create it moved from the

Apr 14, 1999 STID=37 to the STID=39, and I overlooked creating the

duration variable from them. In addition, A08DURAT is

now truly the duration, since now the start and stop

variables are datetimestamps; previously they were only

a 24-hour time of day, so its calculation is direct:

A08DURAT=A08LBKDD-A08LBKCD;

Thanks to Harald Seifert, Huk-Coburg, GERMANY.
Change 17.051 A MACKEEP= example in Change 16.134 and DOCMXG does not

CHANGESS work safely, and was removed. The bad example showed

DOCMXG that you could sometimes tailor an _Edddddd exit macro

Apr 14, 1999 without using a semicolon and avoid the %QUOTE( ), but

that does not always work, depending on the contents of

the EXdddddd member used by the _Edddddd macro. Instead,

the second (and good) example showed that you should add

IF ... THEN DO; %include (member); END; logic around

the include of the EXdddddd member, and how to put the

MACKEEP= argument inside the %QUOTE ( ) function. This

is always safe, and only that second example was kept.

Thanks to C. Fred Kuhstoss, Norfolk Southern Corporation, USA.


Change 17.050 Using the new PDB.ASUMTAPE as input to member ASUMTMNT

ASUMTAPE can cause INVALID DO CONTROL error for "MISSEDMNT" mounts

Apr 14, 1999 because their TMNTTIME and TENDTIME variables were left

missing. But these MISSEDMNT events are all very fast

mounts, which had physical mount time in less than one

sample interval (max 2 seconds by default, may be 0.5),

so I have chosen to set the TMNTTIME and TENDTIME equal

to the ALOCSTRT datetimestamp for MISSEDMNT events in the

PDB.ASUMTAPE dataset to protect member ASUMTMNT.

Thanks to Greg Jackson, National Life of Vermont, USA.


Change 17.049 Typo caused no observations for dataset NPMSEEND. The

VMAC28 statement _E028SE1; after IF NPMSUBTY=49X THEN DO;

Apr 14, 1999 should be _E028SE2; (as in the comment).

Thanks to Bill Shanks, SEMA, ENGLAND.


Change 17.048 Support for IXFP/ICEBERG Subtype 8 and Subtype 6 fix.

EXICE8CL -IBM/STK mis-documented the IXFP SNAPSHOT DDSR segment,


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   249   250   251   252   253   254   255   256   ...   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