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



Yüklə 28,67 Mb.
səhifə176/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   172   173   174   175   176   177   178   179   ...   383

subsystems) is enabled, by z/OS 1.5, but I missed that

relocation. SMF73CSS is now conditionally INPUT from the

new location when that bit is enabled.

Thanks to Joel Giacobbe, Federal Reserve Bank, USA.
Change 23.104 The ASUMTALO/ASUMTMNT summarization of tape drives and

ANALCNCR tape mounts is enhanced so that you can summarize by

ASUMTALO "groups" that you define, and ANALCNCR can now be used

ASUMTMNT to determine which jobs were active at the time of the

May 3, 2005 maximum tape drive allocation.

May 11, 2005 -For ASUMTALO, the default assumed all tape devices were

May 16, 2005 shared across all systems in the PDB.TYPETALO input data,

May 18, 2005 and were thus summarized by DEVICE.

-For ASUMTMNT, the default summarized all tape mounts BY

SYSTEM as the high level variable.


a. This change provides these local tailoring options:
-For ASUMTALO, you can define a "group" variable and then

create it based on SYSTEM, and that "group" variable

will then be used as the high-level summary variable in

the BY statements. For example, you can create a group

variable named LOCATION and populate that variable with

this example using the new old-style macros "instream":

//SYSIN DD *

%LET MACKEEP=

%QUOTE(

MACRO _GRPALNM LOCATION %



MACRO _GRPALCD

IF SYSTEM IN ('SYS1','SYS2') THEN LOCATION='DALLAS';

ELSE IF SYSTEM IN ('XYZ1','XYZ2') THEN LOCATION='NYC';

%

);



%INCLUDE SOURCLIB(ASUMTALO);

-The ASUMTALO data will then show tape device utilization

for each DEVICE type within each LOCATION.
-For ASUMTMNT, you can also define a "group" variable and

create it based on SYSTEM, and that "group" variable

will then be used as the high-level summary variable in

the BY statements. The two macro names are different, in

case you want to sum TMNT different than TALO, but the

structure is similar in this example:

//SYSIN DD *

%LET MACKEEP=

%QUOTE(

MACRO _GRPMNNM LOCATION %



MACRO _GRPMNCD

IF SYSTEM IN ('SYS1','SYS2') THEN LOCATION='DALLAS';

ELSE IF SYSTEM IN ('XYZ1','XYZ2') THEN LOCATION='NYC';

%

);



%INCLUDE SOURCLIB(ASUMTMNT);

-The ASUMTMNT data will then report tape mount statistics

for each SYSTEM within each LOCATION. If you want your

mount statistics to be summarized by each LOCATION (and

nor for each SYSTEM at each LOCATION, you would just add

SYSTEM=' ';

as the last statement in your _GRPMNNG definition.
-For your daily "BUILDPDB" job, which normally includes

both ASUMTALO and ASUMTMNT, you can put all four of those

macro definitions (_GRPALNM,_GRPALCD,_GRPMNNM,_GRPMNCD)

in a single %LET MACKEEP= for that job (or they could be

defined in the IMACKEEP member and then would apply to

any execution of their respective ASUM members).


b. Revision to find contributors to maximum value:
-ANALCNCR was enhanced so that you can print each of the

input events that caused the "maximum concurrent value".

When you specify %LET MXGDEBUG=ANALCNCR; prior to the

execution of ANALCNCR, then dataset WORK.MXGDEBUG will

be created with the first phase observations, and you can

then use this program to find the time of the peak value,

and then print the specific input events that created the

maximum. For example, ASUMTALO calculates maximum tape

drives allocated, so you would use:

%LET MXGDEBUG= ANALCNCR;

%INCLUDE SOURLCIB(ASUMTALO);

PROC SORT DATA=MXGDEBUG;

BY DESCENDING CONCURNT;

DATA _NULL_;

SET MXGDEBUG;

IF DEVICE=:'9840HSM';

PEAKTIME=PUT(TIMESTMP,DATETIME21.2);

CALL SYMPUT('PEAKTIME',PEAKTIME);

STOP;

RUN;


PROC PRINT DATA=PDB.TYPETALO;

WHERE DEVICE=: '9480HSM' AND

ALOCSTRT LE "&PEAKTIME"DT LE ALOCEND;

RUN;


to print which observations from the PDB.TYPETALO data

caused that maximum tape drive allocations.

For ANALCNCR with other input data, the test for the

"DEVICE" variable would need to be changed to use the

appropriate variable, the SET PDB.TYPETALO would need

to be changed to the input dataset, and the correct

start and end variables would need to be used in the

selection around "&PEAKTIME"DT test.


c. Additional chagnes:
-ANALCNCR was revised to re-locate the INCODE= operand;

this was required so that the "group" support, above,

could be implemented.
-A new TRACE= option for internal debugging was created

in ANALCNCR, unlikely to be needed outside development!


-An unrelated enhancement was also made to ASUMTMNT; the

definition of the mount time values for each of the mount

"buckets" was externalized, so they can also be changed

by redefining those macros with %LET MACKEEP=, as above.

Thanks to Andre D. Walker, Bank of America, USA.
Change 23.103 Documentation. Selecting ANALDB2R for an interval period

ANALDB2R (13:00 to 14:00), MXG's criteria selects any transaction

May 3, 2005 that started in that interval, or ended in that interval,

or started before and ended after that interval, so the

MXG report can easily show an "INTERVAL DURATION" that is

greater than the one hour you requested, but it includes

all transactions that spent any time in the requested

interval. IBM's DB2PM reports appear to only include the

transactions that started and ended within the requested

interval, so MXG can report more activity than DB2PM.

Thanks to Peter Farrell, Commerce Bank of Kansas City, USA.
Change 23.102 Cosmetic, but confusing! The label for PAGEINS/PAGEOUTS

VMAC30 is corrected to the TOTAL PAGE IN/OUT FROM AUX STORE, as

May 3, 2005 they count both blocked and unblocked pages moved.

Thanks to Melanie Hitchings, BT, ENGLAND.


Change 23.101 Support for APAR OA10901, new SMF30ZNF variable with the

VMAC30 zAAP CPU Normalization factor is added to the datasets

May 2, 2005 TYPE30_V/PDB.SMFINTRV, TYPE30_4 and TYPE30_5.
Change 23.100 ASG/Landmark TMON for CICS/TS V2.3 supports CICS/TS 3.1

VMACTMO2 with toleration PTFs for their product, but there are no

May 1, 2005 changes to their data dictionary, i.e., there were no

changes made in their records to add any new 3.1 fields.

Thanks to Roland Schiradin, Alte-Leipziger, GERMANY.
Change 23.099 Support for IMS Version 9.1 was already in MXG 22.22:

VMACIMS -IMS Monitors: BMC IMF, Candle ITRF, Landmark TIMS.

May 1, 2005 -MXG's "Supported" TYPEIMS7 to create IMS0708 dataset

-MXG's ASMIMSL6/JCLIMSL6 to create IMSTRAN dataset.


-There were no significant changes by IBM to any of the

IMS log records in IMS Version 9.1, compared with 8.1.


-The three IMS Monitors that are fully supported by MXG

(and are STRONGLY recommended - See Newsletter 25!!),

BMC's IMF, ASG/Landmark's TIMS, and IBM/Candle's ITRF

products all create their own data records:

-IMF writes two records to the IMS log file, 'F9'x, 'FA'x

but there were no changes made by IMF Version 4.1.00 for

IMS Version 9.1 to the IMF records. However, MXG 22.08

is required for IMF records for all IMS versions, due to

corrections in sequencing of CIMSTRAN in Change 22.199.

Also, Change 22.241 in MXG 22.10 added ASUMCIMS example

for summarization of CIMSTRAN/CIMSDBDS IMF datasets.

-TIMS writes data to its own file; the last update to

TYPETIMS code was in MXG Version 20.09.

-ITRF writes additional records to the IMS log, but then

an ITRF program combines their records with IBM records

to create their file that MXG TYPEITRF then processes;

the last TYPEITRF code change was in MXG Version 17.09.
-MXG's only "Officially Supported" IBM-IMS-log-record read

program is TYPEIMS7, which combines log records 07 and 08

to create the IMS0708 dataset (capturing only resources,

with no response time). Those records were not changed

by IBM in IMS V9.1, but MXG Change 22.199 (in MXG 22.08)

was a major revision to the TYPEIMS7 logic for all IMSs.

- You must update the _IMSVERS macro in IMACIMS to tell

MXG the IMS version you are processing, and you cannot

concatenate IMS logs from different versions, as IBM

does not put a version number in their log records!


-MXG's "pseudo-supported" IBM-IMS-log-record read programs

in the JCLIMSL6 jobstream required no changes to support

IMS Version 9.1, but you must re-assemble ASMIMSL6 with

the IBM IMS Macro Library for IMS Version 9.1 to create

the load module for V9.1 records, and you must run

separate JCLIMSLx jobs with different load libraries and

process each IMS version's data separately; you cannot

concatenate the IMS logs from two versions and read with

JCLIMSLx. MXG 20.03 contained the last changes to these

members, and thus there was no need to create L7, L8, or

L9 suffixed ASMIMSLx/JCLIMSLx members.

-For processing JCLIMSLx/ASMIMSLx on ASCII platforms, MXG

Version 22.06 is required due to Change 22.128.
-IBM did insert fields in the IMS log 31x record in V9.1,

and VMACIMS is updated by this change (in MXG 23.04) for

that insert, but the insert was after any "important" IMS

data, and could only be observed if you were looking at

the IMS31I or IMS31O datasets that are written to //WORK,

but are neither kept nor used by MXG programs.

Thanks to Roland Brugger, Credit Suisse, SWITZERLAND.
Change 23.098 DB2 Version 8 restructured Package Data, and added many

VMACDB2 new variables to DB2ACCTP dataset:

Apr 30, 2005 QTXACHG QTXACHUS QTXACLMT QTXACLNO QTXACLUN QTXADEA

QTXADRNO QTXADRUN QTXAFLG1 QTXAILMT QTXAIRLM QTXALES

QTXALEX QTXALOCK QTXANPL QTXANRUN QTXAPREC QTXAQRY

QTXARLID QTXASLAT QTXASLMT QTXASLOC QTXASOTH QTXATIM

QTXAUNLK

QBACGET QBACSWS QBACRIO QBACSEQ QBACIMW QBACLPF

QBACDPF QBACNGT QBACSIO

QPCALLCT QPCLOSET QPDELETT QPDESCCT QPFETCHT QPINSRTT

QPLOCKCT QPOPENCT QPPREPCT QPSELECT QPUPDTET

Originally, the first ten packages executed by a plan

were written as ten segments in the SMF 101 subtype 0

IFCID=0003 records, and if more than 10 packages were

executed, additional SMF 101 subtype 1 IFCID=239 records

were created. MXG creates an observation in the DB2ACCTP

dataset from each package segment, independent of whether

it was in the 0003 or the 239 IFCID record. But with

DB2 V8.1, package segments are no longer written in IFCID

0003 records; instead only the IFCID 0239 records will

contain package data, and there are three new DSECTS

added that are always present, one of each for each

package segment.

(QXPK, QBAC, and QTXA, and in that order; the DB2 MACRO

Library had inconsistent documentation that will be

corrected with a doc APAR)

MXG will transparently use either 0003 and 0239 or just

0239 segments to create the DB2ACCTP observations, and

those added new variables will exist, but will only be

populated (i.e., non-missing) from DB2 V81 records.

Thanks to Steven Olmstead, Thomson BETA Systems, USA.

Thanks to Ray Willoughby, Thomson BETA Systems, USA.

Thanks to John B. Tobler, IBM Silicon Valley Lab, USA.
Change 23.097 Variables CTCKPNTS MAXLOCKS TOTLOCKS were added to the

VMACCIMS KEEP list of both CIMSTRAN and CIMSPROG, but those three

Apr 29, 2005 variables are only INPUT from the CIMSTRAN records, so

they are now removed from CIMSPROG KEEP list.

Thanks to Christa Neven, KBC Bankverzekeringsholding, BELGIUM
Change 23.096 Change 22.203 protected decoding of JCTJOBID if it was

VGETJESN blank or hex zero, to prevent unnecessary log messages,

Apr 29, 2005 but that caused TYPETASK to be blank in TYPE30_6 data,

because the "Early Address Spaces" records that are

written as type 30 subtype 6 interval records now have

have blanks for JCTJOBID.

(Historically, these records had JOB name in JCTJOBID,

then JCTJOBID was hex zeros, but now JCTJOBID contains

blanks in current z/OS type 30 subtype 6 records).

But they have SUBSYS='STC', so the logic was revised to

sets TYPETASK='STC' (and JESNR=.) if JCTJOBID is blank or

hex zero, and SUBSYS='STC'.

(And if blank-TYPETASK-value-messages are printed now,

more code will be added to test and figure it out!)

Thanks to Michael Creech, Fidelity Information Services, Inc, USA.
Change 23.095 Variable PCTCFULL='PCT OF*CACHE*USED' was added to the

VMAC41 TYPE41VF dataset. Variable SMF41FND is clarified in the

Apr 29, 2005 ADOC41 as the number of objects found in cache in this

interval, which is NOT the total number of objects in the

cache (that number does not exist in SMF 41 records).

Thanks to Ulrich Krueger, National Semiconductor Corp., USA.


Change 23.094 The PROC DATASETS for HSMSTAT needed MT=ALL because that

ASUMHSM dataset is a VIEW, and the default MemType=DATA caused a

Apr 29, 2005 warning note.

Thanks to Chris Weston, SAS Institute ITRM Development, USA.


Change 23.093 SMF 74 subtype 8 INPUT STATEMENT EXCEEDED RECORD LENGTH

VMAC74 because I didn't have any test data to catch my typos!

Apr 28, 2005 The INPUT of R748RCNT was missing a period, variables

R748AASP/AAWD/AACP are now PIB1/2/4 instead of RB8, and

variables R748XRCP thru R748XTDY are PIB4. and not RB4.

Thanks to Miguel Francisco Monferrer Carvajal, EDS, SPAIN.


Change 23.092 MXG 23.03 only, and only for ITSV/ITRM. Two hardcoded

VMXG70PR references to "PDB." caused errors with ITSV/ITRM. The

Apr 28, 2005 macro variable "&PTY70PR.." replaced them to correct.

Thanks to Chris Weston, SAS Institute ITRM Development, USA.


Change 23.091 SMF 6 record INPUT STATEMENT EXCEEDED RECORD LENGTH with

VMAC6 a VPS record with the Printway File Transfer segment. The

Apr 28, 2005 Changes 22.309, 22.321 are revised, based on the z/OS 1.6

SMF Manual, which documents both the basic and extended

mode for records created by SUBSYS='TCP', but the values

in SMF6INDC in SUBSYS='VPS' records are 5 and 3 instead

of the 1 or 7 expected, so MXG logic is revised again to

provide special handling for VPS SMF 6 records that have

a file transfer segment. But in one SMF 6 record written

for SUBSYS='PSF', it's file transfer segment does not

agree with either the basic or extended mode TCP segments

or with the PSF segment documentation, so heuristic logic

is added to (hopefully) protect PSF records as well.

Thanks to Udo Frohling, Kommunales Rechenzentrum Niederrhein, GERMANY


Spent week in NYC at The Plaza during its last week as a real hotel, but

our real purpose was to attend the Jammy Awards ceremony at Madison

Square Garden, where our "godson", Keller Williams won one of only nine

Jammy's: Best Live Album, "Stage". See http://www.kellerwilliams.net.


====== Changes thru 23.090 were in MXG 23.03 dated Apr 22, 2005=========
Change 23.090 Executing MXG under ASCII platforms has some differences:

INSTALL -If you use the ftp access method to read your MVS data

IMACFILE directly, you won't have a copy of the SMF data on your

Apr 22, 2005 ASCII system; although most sites back up their SMF data

on MVS, it is possible to backup your SMF data on your

ASCII platform, as you are reading SMF with ftp access.

Writing a 13GB backup file added 20 minutes run time.

See the article "Can you run MXG on a PC' in NEWSLTRS.

Or, if you want to create an SMF file on your ASCII

system that contains selected SMF data, the below example

shows how you can use the "IMACFILE" exit to create an

SMF VBS file on your ASCII system.

-The _NULL_ data step creates macro variable, &DATETXT,

with the date and time as a text string, which is then

used to create the name of the "backup" SMF VBS file.

-The "instream" tailoring statement %LET MACFILE= adds

the code inside the %QUOTE() function (required because

there semi-colons in the code that would otherwise have

terminated the %LET statement) to the exit that is taken

after the SMF header has been read.

If you want to select SMF records, you would add an

IF ... THEN DO; statement after the %QUOTE( and would

add an END; statement before the ) that ends %QUOTE.

The SMF header variables ID SMFTIME SYSTEM and SUBTYPE

are available for selection, although some records with

subtypes don't put their subtype in the SMF header.

-Example to read SMF via FTP and create a local SMFBKUP

file of the input SMF records:

The example shows how to concatenate multiple SMF files:

//SYSIN DD *

DATA _NULL_;

DATE=TODAY();

TIME=TIME();

DATETXT='D'!!PUT(DATE,YYMMDD10.)!!'-'!!'T'!!

PUT(HOUR(TIME),Z2.)!!'-'!!

PUT(MINUTE(TIME),Z2.);

CALL SYMPUT('DATETXT',DATETXT);

RUN;


FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'" ... )

USER='XXXXXX' HOST='YYYYYYY'

S370VS RCMD='SITE RDW' LRECL=32760

PASS='XXXXXXXX';

FILENAME SMFBKUP "C:\MXG\SMFDATA\&DATETXT" ;

%LET MACFILE=

%QUOTE(

RDW=LENGTH+4;



BDW=RDW+4;

FILE SMFBKUP RECFM=N LRECL=32760;

PUT BDW &PIB.2. '0000'X RDW &PIB.2. '0000'X

_INFILE_ @;

);

RUN;


%INCLUDE SOURCLIB(BUILDPDB);

RUN;


The backup file name c:\mxg\smfdata\D2005-04-19-T04-20

contains the date and time of creation of the file. The

backup file is slightly larger than the input file

(325,498,825 versus 325,484,807, or +14,018 bytes)

because each VBS record creates a separate block. And,

the FILE with RECFM=N option does print the output file

name on the SAS log, there is not message that any data

was written. SAS Technical Support says that is because

RECFM=N doesn't write records that none are counted, but

a suggestion to provide byte count has been made, so that

you will know if the file was actually written to.

-Comments with this example were added to IMACFILE and to

member INSTALL, but no there was no change to MXG code.

-Example to read SMF via FTP and select a subset of SMF

records to be created on the ASCII platform;

The example shows how to concatenate multiple SMF files:

//SYSIN DD *

DATA _NULL_;

DATE=TODAY();

TIME=TIME();

DATETXT='D'!!PUT(DATE,YYMMDD10.)!!'-'!!'T'!!

PUT(HOUR(TIME),Z2.)!!'-'!!

PUT(MINUTE(TIME),Z2.);

CALL SYMPUT('DATETXT',DATETXT);

RUN;

FILENAME SMF FTP ("'SYS1.SMF'" "'SYS2.SMF'" ... )



USER='XXXXXX' HOST='YYYYYYY'

S370VS RCMD='SITE RDW' LRECL=32760

PASS='XXXXXXXX';

FILENAME SMFBKUP "C:\MXG\SMFDATA\&DATETXT" ;

%LET MACFILE=

%QUOTE(


IF ID IN (70,72);

RDW=LENGTH+4;

BDW=RDW+4;

FILE SMFBKUP RECFM=N LRECL=32760;

PUT BDW &PIB.2. '0000'X RDW &PIB.2. '0000'X

_INFILE_ @;

);

RUN;


%INCLUDE SOURCLIB(VMACSMF);

DATA _NULL_;

_SMF;

RUN;


Thanks to Michael Gebbia, Eddie Bauer, USA.

Thanks to Glenn Bowman, Wakefern, USA.


Change 23.089 Variable DCVDVNUM, the Device Number, is retained from

VMACDCOL the DCOLVOLS record and kept in the DCOLDSET dataset;

Apr 21, 2005 this is possible because the DCOLLECT output is ordered

with the DCOLVOLS record before the DCOLDSETs on that

volume.

Thanks to Frank Lund, EDB IT Drift, NORWAY.


Change 23.088 -Variables EV40FLG1 EV40FLG2 and CATGNAME from RACFTYPE=40

EXTY8066 were incorrectly kept in TYPE8007 dataset and were not

IMAC80A kept in TYPE8008 dataset, now they are correct.

VMAC80A -Variables FROMRESN (13), VOLUME FVOLUME (14) and CLAS26NM

VMXGINIT (from RACFTYPE/DTP=26) are kept in TYPE8019.

Apr 23, 2005 -FROMVOLS in RACFTYPE=6 for RACFEVNT=8 is an 8-byte field,

Apr 27, 2005 but MXG only input 6 bytes, shifting SECLEVEL/SECLABEL.

May 12, 2005 Now, FROMVOLS is input as $EBCDIC8 and the "undocumented"

May 17, 2005 +2 bytes are removed from that INPUT statement.

May 29, 2005 -Variables KW09IG06 ande KW09SP06, UNIVERSAL, added to

May 30, 2005 dataset TYPE8009

-Variables SECLEVEL,SECLABEL,KW11SP28-29,KW11IG28-29

added to TYPE8011.

-Variables CLASSP02,04,05,06 added to TYPE8010,TYPE8013.

-Variable KW19CL07 added to TYPE8019.

-Variables KW19FC00-KW19FC07 replace 00-04, which were

incorrectly decoded.

-Variables KW24S102-S109 added, decoded from KW24RSV1.

-Variables KW25VI00-VI01 added, decoded from KW24OVIO.

-Variables KW59ST00-ST06 added, decoded from KW24STAT.

-Dataset TYPE8066 created for RACDCERT command; however,

only the standard RACF variables are output in this

iteration - time ran out for 23.02 QA, but this record

will be fully decoded in the next iteration.

-Variable LOGSTR change length to 200 from 64, but not

until May 12!

-Additional variables, thru KW24S132, KW24I117, KW24KERB

are decoded, May 17.

-ACEEUSER variable now kept in TYPE8024.

-Second (290) should have been (291).

-KW24SP46/KW24SP47/KW24IG46/KW24IG47 are corrected.

-KW11xx13 and later were incorrectly aligned with th4eir

bits and labels, and KW11xx28 and KW11xx29 should not

have been created for ALTDSD event.

-KW10ER00-KW10ER31 are now decoded and kept in both the

TYPE8010 and TYPE8013 datasets; all three of the sets

of bit maps KW10ERnn, KW10IGnn, and KW10SPnn are the same

for ADDUSER (10) and ALTUSER (13), except that some bits

that can be enabled for ADDUSER won't be for ALTUSER.

Thanks to Bill Arrowsmith, Euroclear, BELGIUM.

Thanks to Andrew Davis, Euroclear, BELGIUM.

Thanks to Aimee Steel, Euroclear, BELGIUM.


Change 23.087 -If USERADD= contained two references (SYNC/208 SYNC/214)

UTILBLDP with different SMF IDs, UTILBLDP generated incorrect code

VMXGINIT but now it will use only the first reference.

BUILDPDB -EXPDBOUT=%INCLUDE SOURCLIB(ASUMPRTR); used in Example 7,

BUILDPD3 failed. Unfortunately, because of macro timing issues,

BUILD001 the only way UTILBLDP can create a %INCLUDE statement

BUIL3001 for EXPDBOUT= required a new macro variable, &BLDPOUT,

Apr 21, 2005 to be defined in VMXGINIT and inserted in the BUILxxxx

members where _EPDBOUT is invoked.

Thanks to Robert Chavez, OfficeDepot, USA.


Change 23.086 DB2STATS variable QDSTNQR2 should not have been DIF()'d.

VMACDB2 Variable QDSTQDBT should have been, and now is DIF()'d

Apr 21, 2005 as it contains accumulated values.

Thanks to Fred Nijdam, Rabobank, THE NETHERLANDS.


Change 23.085 Dataset ICEBRGCH old variables ENDTIME,STARTIME were not

VMACICE adjusted in VMXGTIME macros, old variable CHANSPED is now

Apr 19, 2005 converted to bytes and FORMATed MGBYTRT as it is channel


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   172   173   174   175   176   177   178   179   ...   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