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



Yüklə 28,67 Mb.
səhifə163/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   159   160   161   162   163   164   165   166   ...   383

revised when that logic has been added and tested.

Thanks to Jerry Urbaniak, Acxiom CDC, USA.

Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 24.041 As noted in Change 23.132, the new MACHTIME variable was

VMAC7072 created but not validated, and my guess to add SMF70HOF

VMAC89 was incorrect; test data shows that SMF70HOF is to be

Apr 7, 2006 subtracted in VMAC7072 to get back to true GMT.

May 1, 2006 May 1: test 89 data confirmed SMF89HOF is also to be

subtracted in VMAC89 to create MACHTIME; Change 24.063.

Thanks to Manfred Giezendanner, Credit Suisse, SWITZERLAND.

Thanks to Gion Cabernard, Credit Suisse, SWITZERLAND.


Change 24.040 CICS/TS 3.2 iteration 2 time fields 12 bytes, April.

VMAC110 CICS/TS 3.2 iteration 3 time fields Pib8.8/4096.

Apr 7, 2006 Sep 21: UTILEXCL expanded for Iteration 3.

Sep 19, 2006 Oct 14: Updates for the changed Statistics Subtypes

Oct 14, 2006 (INCOMPATIBLE except for DST,DSR,MNG):

STID DSNAME New Variables added.


- 2 SMS

==> Nothing New in DSECT.

- 64 CICDST DSTCIUHI DSTCIULO DSTNIUHI

DSTNIULO


==> But 20 bytes added are not doc'd.
- 65 CICDSR DSRCIULO DSRCIUHI

==> But 20 bytes added are not doc'd.


- 67 CICFCR DFHA17DS DSECT.

==> Nothing New in DSECT


- 74 MQG MQ Connection Statistics Global

New


==> DFHMQGDS DSECT does not exist
- 81 MNG New Compression Variables
==> DFHMNGDS DSECT is not current.
-109 ISR IP Connection (Resource)

New


==> DFHUSRDS DSECT does not exist

-117 SJG


==> Nothing New in DSECT.

-117 SJR


==> Nothing New in DSECT.
Change 24.039 New example program to create a Monthly PDB from only the

JCLMNTHW six weekly PDBs that might be required to span the prior

MONTHWEK month when only WEEK PDBs are to be read. This example

can be run on any day of the next month to create last

Apr 7, 2006 Month's PDB library. You would still need to tailor:

May 4, 2006 JCLMNTHW - the _SELDSN macro to list only the datassets

that you want created, and

MONTHWEK - delete two lines (MACRO _DSET, MACRO _BYLIST)

for each dataset that you do not want created.

May 4: Revised to read 6 weekly files; while only five

are needed for the normal MONTHBLD on the first of

the month, some months (July 2006) would need to

read six weekly PDBs to create that month's PDB

if only the week PDBs were to be read.

Thanks to William Carroll, Grange Insurance, USA.

Thanks to Jim Horne, Lowe's Companies, Inc, USA.


Change 24.038 "ERROR: UNABLE TO CREATE PDB.MXGENG.DATA BECAUSE VIEW

VMXGENG PDB.MXGENG.VIEW ALREADY EXISTS" with MXG 24.01 BUILDPDB

Apr 5, 2006 occurs only if OPTIONS='USER=PDB' was specified

For BUILDPDB that option should never be used. It

tells SAS to write all datasets that would have been

written to the //WORK DDname, to instead be written

to the //PDB DD. But the BUILDPDB design is to write

first to the //WORK DD, sort and write the output to

the //PDB DD, so you can get I/O between volumes and

not hammer the //PDB DATASET by read and write to a

single PDB library for both work and output.

The VMXGENG code used to create MXGENG as a VIEW, and

with USER=PDB, that created PDB.MXGENG.VIEW in the //PDB

library each day, but you can replace a SAS VIEW with a

SAS VIEW of the same name. But Change 23.328 revised

VMXGENG to create a DATASET of the same name, rather than

a VIEW, and (for reasons I don't understand) SAS will not

let you replace a VIEW with a DATASET, so this error

occurred when the new MXG Version wrote to a //PDB that

had been created by the prior version, that still had the

VIEW. By removing the USER=PDB option, the MXGENG and

similar MXG internal facilities' data will be written to

//WORK which is temporary and goes away at job step end,

so the replacement of a VIEW with a DATASET never is an

issue.

Thanks to Karen Fry, Comerica, USA.



Thanks to Theresa Johnston, Comerica, USA.
Change 24.037 A new version of the CLRMFV TSO Clist, the driver for the

CLRMFV ASMRMFV RMF Monitor III decompression utility, plus major

DOCLRMFV enhancements in the documentation in the DOCLRMFV member.

Apr 4, 2006

This CLRMFV version reduces the number of ASMRMFV calls

for users with many LPARs, and provides more flexibility

to specify the input and output data sets, so perhaps it

reduces the need to tailor CLRMFV or at least is easier.


There are no changes required for the ASMRMFV program.
Enhancements:
A new parameter CALLBY() lets the user control the

granularity of the RMF Monitor III data passed to ASMRMFV

in each call. CALLBY(DSN) invokes ASMRMFV once for each

and every RMF Monitor III data set. This setting is NOT

recommended due to overhead and is only included for

compatibility with earlier versions of CLRMFV.

CALLBY(SID) invokes ASMRMFV once for each unique LPAR and

is compatible with CLRMFV default behavior in prior

versions. CALLBY(ALL) invokes ASMRMFV once for all LPARs

and is ideal for users (such as our installation) who

want to process many LPARs at once with ASMRMFV with

minimal overhead. CALLBY(ALL) is the new default.


The ONECALL() parameter is now obsolete. If ONECALL(NO)

is coded, it is converted to CALLBY(DSN). If ONECALL(YES)

is coded it is converted to CALLBY(ALL). ONECALL() will

be removed entirely in a future version of CLRMFV, but is

here so you have plenty of time to remove it and use the

CALLBY() instead.


A new parameter INLLQ() lets the user specify the low

level qualifier if needed for the input RMF Monitor III

data set names. The default is null. Similarly a new

parameter OUTLLQ() lets the user specify the low level

qualifer for the output sequential data set(s). The

default is OUTLLQ(RMFIII) and produces the same data set

name as in prior CLRMFV versions.
A new parameter OUTDISP() gives the user more control on

the allocation method for the output data set(s). There

are three possible values: NEW, MOD, and OLD. The default

is OUTDISP(NEW) and produces the same behavior as prior

CLRMFV versions. See the DOCLRMFV documentation member

for more details. Regardless of this parameter setting

ASMRMFV always appends data from multiple input files

into the output file(s). Only the initial output file

allocation procedure is affected by OUTDISP().
A new parameter OUTDCL() allows the user to specify an

SMS Data Class for the output file(s). The default is

null. This is a companion to OUTMCL() and OUTSCL()

parameters which were available in the prior version for

SMS Management Class and SMS Storage Class respectively.
A new parameter OUTVOL() allows the user to specify a

non-SMS volume serial(s) for the output file(s). The

default is null.
A new parameter OUTVOL#() allows the user to specify a

maximum volume count for the output file(s). The

default is null. The z/OS maximum is allowed 255 and

CLRMFV will validate the value.


A new parameter OUTDEV#() allows the user to specify a

device count for the output file(s). The default is

null. The z/OS maximum allowed is 59 and CLRMFV will

validate the value.


A new parameter TS() allows the user to specify time

stamping on CLRMFV messages. The default is TS(NO) and

only the very first and last messages are time stamped.

TS(YES) causes all CLRMFV generated messages to be time

stamped and so provides the behavior in prior CLRMFV

releases. TS(NO) reduces CLIST overhead.


CLRMFV will now validate that the length of the total

PARM field passed to ASMRMFV does not exceed z/OS 100

character maximum and fail if this is not the case. As

before the //SYSIN DD in JCL can be use to provide

additional ASMRMFV parameters to overcome this z/OS

limitation.


The DOCLRMFV documentation member is enhanced, expanded,

and clarified to explain all the new parameters.


Migration Issues:
With the new CLRMFV default of CALLBY(ALL) the single

output file size will be now the sum of space used for

all the prior LPAR files with the old CLRMFV version .

The SPACE() parameter will need to be increased

substantially if output is to DASD to avoid SB37 abends

or alternately the output file will have to be directed

to tape. The new OUTDEV#() parameter can also help with

the additional space needs by spreading the space needed

over multiple volumes.
The benefit is a reduction in CPU usage by ASMRMFV

because initialization, termination, and summary code is

only used once instead of once for each LPAR. Users who

prefer not to make changes to support CALLBY(ALL) should

specify CALLBY(SID) to get the prior behavior.
With CALLBY(ALL) the single output data set name will be

of the form &OUTHLQ.ALL.&OUTLLQ where &OUTHLQ is the

value of OUTHLQ() and &OUTLLQ will be the value of

OUTLLQ(). So DSN= on the //RMFBSAM DD statement in the

MXG RMF III PDB Build step will need to be changed

accordingly. A DD concatenation of files from multiple

LPARs will no longer be required and the extra DDs should

be removed.


Since all RMF Monitor III data sets will be dynamically

allocated at once with CALLBY(ALL), users may need to

substantially increase the value of DYNAMNBR= in their

JCL invoking CLRMFV. Otherwise the Dynamic Allocations

done by CLRMFV can fail. The TIOT SIZE parameter in the

ALLOCxx member in SYS1.PARMLIB ultimately determines the

maximum size value allowed for DYNAMNBR=. This is

discussed in the DOCLRMFV member.


As a side effect since CALLBY(ALL) results in ASMRMFV

being invoked only once, the ASMRMFV summary report

produced will be for the grand totals from all LPARs

instead of 1 summary report per LPAR as in the prior

version. Users who want the earlier behavior should use

CALLBY(SID).


A special thanks to Acxiom leadership for allowing this

effort to continue to go forward.

Thanks to Jerry Urbaniak, Acxiom CDC, USA.
Change 24.036 An extra, undocumented 8 bytes have been added to the

VMACRMFV RMF III ASI table in z/OS 1.7, although IBM will issue

Apr 4, 2006 a documentation change in the future. This change tests

for ASIVERE3 GE '10'X to skip the extra 8 bytes.

Thanks to Jerry Urbaniak, Acxiom CDC, USA.

Thanks to Rodger Foreman, Acxiom CDC, USA.


Change 24.035 XAM SYS error INPUT STATEMENT EXCEECED LENGTH was caused

VMACXAM by an unexpected value of 'FFFF'x in the NSIMBUSY field,

Apr 4, 2006 or 65536 decimal, for the number of fields in the array

HFCHSIM that follow this count, which MXG tried to read

when there were no fields following.

Now, MXG detects this value, and bypasses the logic to

read any elements of HFCHSIM array.

The 'FFFF'x value is actually -1 if input as Integer

Binary, and is set by XAM because IBM no longer keeps

track of concurrent channels in use, so there no longer

is an HFCHSIM array to INPUT.

Thanks to Brian Carter, EDS UK Mainframe Hosting Services, ENGLAND.

Thanks to Jeff Gribbin, EDS UK Mainframe Hosting Services, ENGLAND.
Change 24.034 Converting a character variable that contains a hex value

DOC (e.g., a four-byte character variable DEVCHAR='1F1A')

Apr 4, 2006 into a numeric variable that contains that hex value

Apr 20, 2006 (e.g., a two-byte numeric variable DEVNR=1F1Ax when it is

FORMATed hex4.) can be done using the HEXnn INFORMAT

in an INPUT function:

DATA;

DEVCHAR='1F1A';



DEVNR=INPUT(DEVCHAR,HEX4.);

FORMAT DEVNR HEX4.;

will store the decimal value 7962 in DEVNR, which will be

printed as 1F1A with the HEX4. format.

This change was rewritten on April 20, when the HEXnn.

format was suggested in a SAS-L posting by Jiann-Shiun

Huang. Below, is the original April 4 change text:
The format $MGHEXC can be used to convert a character

variable that contains a hex value in EBCDIC text into a

numeric variable with the value formatted as HEX.

For example, if DEVCHAR='1F1A' is DEVNR='1F1A'x, then

this code will create numeric variable DEVNR:

DEVNR= 4096*INPUT(PUT(SUBSTR(DEVCHAR,1,1),$MGHEXC.),2.)+

256*INPUT(PUT(SUBSTR(DEVCHAR,2,1),$MGHEXC.),2.)+

16*INPUT(PUT(SUBSTR(DEVCHAR,3,1),$MGHEXC.),2.)+

INPUT(PUT(SUBSTR(DEVCHAR,4,1),$MGHEXC.),2.);

The $MGHEXC format was created to decode SYSLOG character

Device Number, but can be used for any hex-text .

Thanks to DJ Chen, Florida Department of Corrections, USA.

Thanks to Jiann-Shiun Huang, AmerUs Group, USA.

Thanks to Nick Johns, Sainsbury, ENGLAND.


Change 24.033 When UTILEXCL detects CMODNAMEs of EZA01 and EZA02, you

IMACICE2 must tailor members IMACICEZ, IMACICE1, and IMACICE2 to

Apr 4, 2006 process those data. The fields INPUT in IMACICEZ and E2

are consistent at all sites, but the number of fields in

the IMACICE1 exit varies from site to site, so if MXG's

REPORT ONE lists IMACICE1 to be tailored, you must then

look at REPORT THREE to see exactly which fields are in

your data, and will have to change the INPUT and LABEL

statements if your data does not contain all twelve of

those fields. This list is an excerpt of REPORT THREE

that is overlaid with the MXG variables that are INPUT.
MEMBER=IMACICEZ:

CMODHEAD CMODNAME MXG VARIABLES

EZA01 INIT S 001 8 TCPINITM TCPINICN

EZA01 READ S 002 8 TCPREATM TCPREACN

EZA01 WRITE S 003 8 TCPWRITM TCPWRICN

EZA01 SELECT S 004 8 TCPSELTM TCPSELCN

EZA01 OTHER S 005 8 TCPOTHTM TCPOTHCN
MEMBER=IMACICE1:

CMODHEAD CMODNAME MXG VARIABLES

EZA01 EZA01 A 001 4 EZA01A01

EZA01 EZA01 A 002 4 EZA01A02

EZA01 EZA01 A 003 4 EZA01A03

EZA01 EZA01 A 004 4 EZA01A04

EZA01 EZA01 A 005 4 EZA01A05

EZA01 REUSABLE A 006 4 EZA01A06

EZA01 ATTACHED A 007 4 EZA01A07

EZA01 EZA01 A 008 4 EZA01A08

EZA01 EZA01 A 009 4 EZA01A09

EZA01 EZA01 A 010 4 EZA01A10

EZA01 EZA01 A 011 4 EZA01A11

EZA01 EZA01 A 012 4 EZA01A12


MEMBER=IMACICE2:

CMODHEAD CMODNAME MXG VARIABLES

EZA02 CONN A 001 4 EZA02CON

EZA02 STARTED A 002 4 EZA02STA

EZA02 INVALID A 003 4 EZA02INV

EZA02 DISTRAN A 004 4 EZA02DIT

EZA02 DISPROG A 005 4 EZA02DIP

EZA02 GIVESOKT A 006 4 EZA02GIV

EZA02 SECEXIT A 007 4 EZA02SEC

EZA02 NOTAUTH A 008 4 EZA02A08

EZA02 IOERR A 009 4 EZA02A09

EZA02 NOSPACE A 010 4 EZA02A10

EZA02 LENERR A 011 4 EZA02A11

(See also text of Change 25.018.)

Compare your UTILEXCL report with those three IMACICEx's.

The IMACICEZ and IMACICE2 should always match; contact

support@mxg.com (send UTILEXCL report) if they don't.

If IMACICE1 in your REPORT THREE ends with "ATTACHED" as

the last field (i.e, you only have 7 fields in EZA01),

then must EDIT the IMACICE1 member into your tailoring:

-change the test for MCTSSDRL to GE 28 instead of GE 48

-delete the LABELs for variables EZA01A08 thru EZA01A12

-change the INPUT statement to read

INPUT (EZA01A01-EZA01A07) (&PIB.4.) @;

-You create REPORT THREE with the _RPTEXCL macro run with

or after your UTILEXCL execution:

//SYSIN DD *

%INCLUDE SOURCLIB(UTILEXCL);

_BLDDICT;

_BLDEXCL;

_RPTEXCL;

-This change added text in labels for EZA02A08-EZA02A11

with their contents (NOTAUTH,IOERR,NOSPACE,LENERR).

-This text was revised Oct 10, 2007; see Change 25.215.

Thanks to Erling Andersen, SMT Data A/S, DENMARK.
Change 24.032 -SPLIT70 rewrite could cause PCTCPUBY/PCTMVSBY in TYPE70

VMAC7072 to be too small, for CPs that were not online for a full

Apr 3, 2006 interval. The recalculated PCTCPUBY used DURATM in the

Apr 5, 2006 denominator instead of SMF70ONT for these CPs.

-NRCPUS was wrong if an LPAR is WLM Managed AND the LPAR

has any IFAs, which affected many PCT calculations. When

an LPAR is WLM Managed, (LPARWLMG='Y'), MXG used variable

SMF70BDA=SMF70BDA/SMF70DSA, documented as the average

number of engines under WLM control, as NRCPUS, but

impossible values of 10.27 for a system in a CEC with

only 10 CP engines was observed. Using the sum of

SMF70ONT (online time of each engine) showed there were

only 8.27 CP engines online during that interval, and

IBM's own Partition Data Report had 8.3 for the Average

Processor NUM for that LPAR for that interval. In reply

to my "impossible" value allegation, IBM RMF Development

replied that SMF70BDA samples include both CPs and IFAs,

and thus the 10.27 value was not impossible, as there

were 8.27 CPs and 2 IFAs online; however it is a

completely useless value to use for anything.

As a result, the MXG calculation of NRCPUS is now always

calculated from the sum of SMF70ONT for CP engines, and

SMF70BDA is no longer used for NRCPUS.

And SMF70BDA will also include zIIPs, if any exist.

Thanks to Marco A. Micchia, Uniocredit Global Info Services, ITALY.
Change 24.031 Cosmetic cleanup of MXG variables during ITRM validation

ASUMTAPE for their dictionary updates:

VMAC80A -VMACTMNT: Variables SYSLDDN,SYSLDSN now labeled.

VMAC94 -VMAC80A : Variables TSREADTI,TSTIME now formatted, TSTIME

VMACTMNT is now KEPT in TYPE80TS dataset.

VMXG70PR Variable TOKDANAM now labeled.

VMACTMO2 -VMXG70PR: Formats for new variables added for 60 LPARs

Apr 3, 2006 were missing in ASUMCEC dataset.

Apr 10, 2006 Sort order in _BSU70PR was incorrect, but it

was not used, so only caused confusion and

deceptive documentation. Correct BY list is

SYSPLEX SYSTEM SYSNAME SMF70GIE

-ASUMTAPE: Instances of %VMXGWORL inside the MACRO _DEBUG

require double percent signs.

-VMAC79: Variables R799CNX2-5 were incorrectly decoded.

R799CNX is now labeled even though its decoded.

-VMAC94: Variables S94XLCSI/S94XLCLS are now kept; they

had been misspelled as XCLSI/SCLSL.

-VMACTMO2: Label for TAWRDCT corrected; QA stream now

tests for duplicate/different labels.

Thanks to Chris Weston, SAS Institute ITRM, USA.
Change 24.030 Solaris 9 changed the format of the year in sar data from

TYPEUSAR YY to YYYY; code was revised to support either format.

Apr 3, 2006

Thanks to Greg Meyer, ITresources, USA.


Change 24.029 ERROR.CMRFILE. FILE SEGMENT LENGTH IS 16 BUT 220 EXPECTED

VMACMVCI messages are eliminated. The two file segment sizes are

Apr 2, 2006 supported. The short segment will cause missing values

in most variables in CMRFILE, but the data is valid.

Thanks to Dr. Alexander Raeder, ATOSORIGIN, GERMANY.
Change 24.028 Support for APAR PK15468, which adds variable QWSnPSRB,

VMACDB2 Preemptable SRB CPU Time consumed by SRBs in the Address

Apr 1, 2006 Space named in QWSnASID. Note that this SRB CPU time in

the new QWSnPSRB variable is included in QWSnSRBT.

Thanks to Roger L. Rush, Nav-International, USA.

Thanks to James S. Lazowski, Nav-International, USA.


Change 24.027 SQL Text in DB2 102 Audit Trace IFCIDs 140,141,142,145

VMAC102 was missing after Change 24.01, for DB2 Version 7 and

Apr 1, 2006 earlier, because QW014nLE was only INPUT for DB2 8.1.

Now, IF QW014nLE=. THEN QW014nLE=QW014nLL; corrects.

Thanks to Jim Kovarik, AEGON USA, USA.
Change 24.026 Equal signs were missing from most of the value in the

FORMATS $MGSYSIP format definition.

Apr 1, 2006

Thanks to Lars-Olof Thellenberg, Svenska Handelsbanken, SWEDEN.


Change 24.025 Five 4-byte SYNCSORT fields had expanded 8-byte fields

VMACSYNC that MXG failed to use when the 4-byte fields were full.

Apr 1, 2006 These variables are now reset if their 8-byte field is

greater than their 4-byte field:

CHARACTS INRECS OUTRECS INSERTS DELETES

Unfortunately, the input and output byte count variables,

SIBYTES and SOBYTES exist only as 4-byte fields and do

not have 8-byte counterparts.

Thanks to Lawrence Jermyn, Fidelity Systems, USA.
Change 24.024 New E2dddddd members created for "2 Phase" MXG datasets:

E2TY70 -Most MXG datasets are "SIMPLE" or "One Phase": obs are

E2TY70PR OUTPUT to a _Wdddddd dataset in the _Edddddd exit macro

VMAC7072 (which %INCs the EXdddddd exit member) from the raw data,

Apr 1, 2006 then _Wdddddd is sorted to create the _Ldddddd (PDB).

May 1, 2006 For those datasets, code in the EXdddddd member can be

used to create new variables and label them, and the

_Kdddddd macro is used to KEEP those new variables.

-But when datasets are created in a "Second Phase", those

original EXdddddd exit cannot be used for your SAS code

that creates your new variables; instead, you must use

a new exit member, the "Second Phase" exit. The name of

the member is E2dddddd, to be somewhat consistent with

the original EXdddddd naming; your SAS code to create or

modify variables, and LABEL, FORMAT or LENGTH statements

would be put in your E2dddddd exit member.

Note: all variables you create in that exit member

will automatically be KEPT, so you do not need to list

them to be kept. In fact, if you create any temporary

variables in your exit code, you would need to DROP

them so they won't be kept in the output dataset.

-The old EXdddddd exit member had an old-style macro

counterpart, MACRO _Edddddd, which could be redefined in

your IMACKEEP member. So this new "Second Phase" exit

member also has an old-style macro counterpart, named

MACRO _2dddddd, which can alternatively be used to tailor

these datasets.

-The SPLIT70 redesign changed the creation of TYPE70 and

TYPE70PR datasets from "SIMPLE" to "SECOND PHASE", and

thus invalided the use of EXTY70/EXTY70PR exit members

to add variables to the TYPE70 and TYPE70PR datasets, so

this first implemenatation of "Second Phase" exits are

the E2TY70 and E2TY70PR members added by this change.

May 1: SPLIT70 redesign documentation, related note:

You cannot drop these variables

SYSPLEX SYSNAME SMF70GIE SMFTIME

from TYPE7xxx RMF datasets. They are required

to reassemble the pieces, and the MXG logic.

-Example to add SHIFT to the PDB.TYPE70 and PDB.TYPE70PR

datasets you would need to add these two old-style macro

redefinitions in your IMACKEEP tailoring member:

MACRO _2TY70

%%INCLUDE SOURCLIB(IMACSHFT);

%

MACRO _2TY70PR



%%INCLUDE SOURCLIB(IMACSHFT);

%

Thanks to Lawrence Jermyn, Fidelity Systems, USA.



Thanks to Warren Cravey, Fidelity Systems, USA.


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   159   160   161   162   163   164   165   166   ...   383




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

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin