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



Yüklə 28,67 Mb.
səhifə80/383
tarix17.01.2019
ölçüsü28,67 Mb.
#98988
1   ...   76   77   78   79   80   81   82   83   ...   383

elapsed times. MXGACC01=YES creates a summary by

QWHSSTCK QWHSSSID QWHCATYP and QWHCAID. The datetime

value will reflect the value in the interval parameter.

If you use an interval of DATE/WEEK/MONTH the format of

QWHSSTCK is adjusted to DATETIME7. and any other interval

value it is adjusted to DATETIME13. If no interval is

specified it is adjusted to datetime16.

Example 1:

%ANALDB2R(MXGACC01=YES,INTERVAL=DATE,

PMACC01=NO,PMACC02=NO,PMSTA02=NO);

creates a summary of all DB2ACCT records in the input

PDB.DB2ACCT dataset, at date interval.

Example 2:

%ANALDB2R(MXGACC01= IF QWHCATYP=4; ,INTERVAL=DATE,

PMACC01=NO,PMACC02=NO,PMSTA02=NO);

creates a summary of all CICS DB2 account records with

an interval of date.

-MXGACC02=YES creates an unsorted detail report for every

record in DB2ACCT. Given the volume this is most likely

NOT what you want to do, without some selection criteria.

Example 1:

%ANALDB2R(MXGACC02=IF ELAPSTM GT 60 AND QWHCATYP=4;,

PMACC01=NO,PMACC02=NO,PMSTA02=NO);

creates the detail report, but only for CICS DB2 that

executed for over 60 seconds.

Thanks to Ron Wells, Springleaf Financial Services, USA.

Thanks to Richard Brooks, Springleaf Financial Services, USA.


Change 30.185 -VFMT102 is invoked by READDB2/ANALDB2R to build formats

ANALDB2R to decode the hex DBID and OBID values in the DB2 IFCID

READDB2 105/107 records, but it could be executed many times if

VFMT102 multiple IFCIDS or multiple reports were requested. This

VMXGINIT change prevents multiple executions within a single pass

Sep 15, 2012 of data by setting the global macro variable VFMT102 when

it is run the first time, and testing it to prevent the

re-execution. If ANALDB2R/READDB2 is restarted in the

same SAS session (possibly pointing to different data),

VFMT102 will be re-executed.

-Variable QW0145LN is printed instead of QW0145LO and $4.

format is added for QW0145SC in ANALDB2R audit reports.


Change 30.184 New INCODE= parameter added to permit input selection.

ANALINIT For example:

Sep 12, 2012 %ANALINIT(INCODE=IF DATEPART(READTIME) GE TODAY()-1;);

would report on only jobs submitted since yesterday.


Change 30.183 MXG 30.05/30.06. PROC FORMAT overlapping range error can

DOC occur with READDB2/ANALDB2R. Change 30.140 removed the

Sep 15, 2012 datetime from the format, but duplicates can exist if the

input spans a very large time frame. VFMT102 in 30.04 or

earlier can be used, so it is stored in the new VFMT102X,

created ONLY so that support@mxg.com can send that one

(renamed) member if you encounter the error. The VFMT102

was altered in Change 30.185 so it cannot be sent without

sending additional members to circumvent this error.

But: VFMT102X was removed in MXG 30.30.


Change 30.182 Support for zNEXT EC12 processors with 101 engines.

VMAC7072 There are no new variables kept in TYPE70 since all of

Sep 8, 2012 the CPU-specific variables for CPU 64 or higher have been

output in TYPE70EN dataset since Change 28.175.


Change 30.181 The "Split 70" logic did not provide exits for four data

EXTY70EC sets TYPE70EC, TYPE70EL, TYPE70EN, and TYPE70SP because

EXTY70EL they were thought to be internal and temporary, but they

EXTY70EN now have exits implemented so that users can make changes

EXTY70SP to those four datasets if needed.

VMAC7072


Sep 7, 2012

Thanks to Ruth Leonhardt, Xerox, USA.


Change 30.180 -Two problems both found in testing that does not impact

VMXGSUM the output but can improve efficiency of execution.

Sep 7, 2012 Case 1:

%VMXGSUM(INDATA=PDB.DB2ACCT,

OUTDATA=DB2SUM,

SUMBY=QWHSSSID,

SUM=DB2TCBTM,

MAX=MAXCPU,

INCODE=MAXCPU=DB2TCBTM;

);

In this case, the MXGSUM1 dataset contained all 500+



variables from DB2ACCT when only 3 were needed, because

the KEEP= list was not being applied to the output

dataset. Now, all variables in the parameter lists is

added as a KEEP statement to reduce DASD space required.

Case 2:

%VMXGSUM(INDATA=PDB.DB2ACCT,



OUTDATA=DB2SUM,

SUM=DB2TCBTM,

MAX=MAXCPU

);

In this case, the MXGSUM2 dataset was created by the



SORT and since there was no INCODE, the MAXCPU variable

did not exist so the PROC MEANS failed with a variable

not found error. Now, the KEEP logic after the SORT is

NOT suppressed when there is no first DATA step.

-Cosmetic. Deletion of temporary datasets used during the

course of VMXGSUM moved from the end to the points in the

code where they are no longer needed avoiding confusion

of the programmer on when/where they should be deleted.


Change 30.179 Formula changes from John Burg's SHARE presentation. For

ASUM113 the z196 (VN=2) 0.59 replaced 0.57, 1.67 replaced 1.6, &

VMAC113 0.61 replaced 1.00; the z10 (VN=1) 0.31 replaced 1.00.

Sep 3, 2012

Sep 17, 2012
Change 30.178 -Using a numeric variable in your SORTBY= tailoring option

ANALDB2R caused ERROR 48-59 citing PUT @1 &SORT $CHAR16 text. That

Sep 2, 2012 $CHAR format is not only NOT needed here (prints SORTBY=

Sep 4, 2012 variable's value, format not needed because all possible

variables here are MXG-formatted), it is THE PRESENCE of

the $CHAR format that causes this error, so its REMOVAL

eliminates this unintended consequence and oversight, and

now numeric variables like CONNTYPE and QWHCATYP that

exposed the error can be used in your SORTEDBY list, and

they will be added in a new QA test of ANALDB2R.

-In testing this change it was discovered that if you

ran PMACC03 without all of the input datasets (DB2ACCTP,

DB2ACCTB, DB2ACCTG) it would fail calling ASUMDB2p/b/g

members for those datasets. If the datasets do not exist

now, there will be an MXGNOTE printed on the log telling

you what was found, with processing to continue without

the missing datasets.

Thanks to Howard L. Curtis, Duke Energy, USA.


====== Changes thru 30.177 were in MXG 30.06 dated Sep 1, 2012=========
Change 30.177 SAS 9.2 z/OS ONLY VGETOBS didn't recognize tape datasets.

VGETOBS On z/OS, SAS 9.2 returns a blank in DICTIONARY.TABLES for

Aug 30, 2012 the number of OBS in a tape dataset, which caused VGETOBS

to return a blank value, but both SAS 9.1.3 and SAS 9.3

returned a bogus set of non-blank characters that proved

there was a tape dataset, so VGETOBS returned a one value

(it found a tape dataset), and VGETOBS could print a log

message that it had detected non-blank non-numeric text,

(but only if the NOEXIMSG internal option was enabled to

print suppressed log notes). Now, a blank value invokes a

new test (VGETDSN length GT 0) for the dataset name that

is used to return a value of one for a tape dataset.

Thanks to Robert Stoffregen, Great Lakes Educational Loan Svcs, USA.
Change 30.176 -Some cosmetic changes to better document the records that

ANALDB2R are being reported, and new options for the AUDIT= parm:

Aug 28, 2012 AUDIT=DML < runs as it currently does uses 143 and 144

Aug 31, 2012 AUDIT=DMLREAD - processes only IFCID 144 for DML

AUDIT=DMLWRIT - processes only IFCID 143 for DML

and a missing semicolon was found.

-Requesting PMACC02=YES by itself, after reading SMF plus

executing the ASUMDB2x members, resulted in overlaying

many old-style macros that caused error messages. Those

old-style substitution macros are now cleared in PMACC02.


Change 30.175 Support for IFCID=271 DB2 AUDIT PERMISSIONS trace record.

VMAC102 Dataset existed but none of the IFCID-specific fields

Aug 28, 2012 were input.
Change 30.174 -Allocation utilities VMXGALOC & VGETALOC permitted 8-byte

VGETALOC dates formats for mmddyy, ddmmyy, and yymmdd, but mmddyy

VMXGALOC and ddmmyy generate slashes in the constructed directory

Aug 28, 2012 names; this change allows 6 8 and 10 byte formats for the

Sep 16, 2012 mmddyy and ddmmyy but will replace them with the formats

mmddyyd and ddmmyyd that use a - rather than a /, like

the yymmdd format that already uses a - as documented.

-VGETALOC uses %LEFT %macro supplied by SAS in SASAUTOS

directory and MXG options in AUTOEXEU.SAS or AUTOEXEC.SAS

include SASAUTOS and MAUTOSOURCE to "autocall" it, but

%LEFT was not actually required in VGETALOC, so it was

removed so VGETALOC would not fail even if the site did

not have their SASAUTOS correctly allocated in AUTOEXEU.

-GETDATERANGE= parameter will now accept a number of days

relative to today to search. For example:

%VGETALOC(GETDATERANGE=-5 -9,BASEDIR=C:\MXG,

DATEFMT=YYMMDD.);

will look for directories in C:\MXG with dates of

12-09-06 thru 12-09-02 inclusive.

There is now also an MXGNOTE if any directories are not

found.

Thanks to Patricia J. Jones, DST Systems, USA.


Change 30.173 WARNING: "INVALID QMDA SEGMENT ACCOUNT values are blank"

VMACDB2 for records with QMDALEN=258, but QMDAASLN=110 (so there

Aug 27, 2012 really were only 110-56=54 possible data bytes remaining)

were printed because MXG incorrectly used QMDASFLN=247 as

the length of accounting data. But these records don't

contain JOB accounting data: text after QMDASFLN is an

exact repeat of the first 28 bytes of the QMDA segment,

QMDAPTYP,QMDAPVER,QMDAPREL,QMDAPMOD, and QMDAPLAT.

Now, MXG uses QMDAASLN instead of QMDASFLN to print any

warnings (so these false positives won't print), and the

text that follows QMDASFLN is INPUT into QMDAACCT based

on QMDAASLN. But, since QMDAACCT has never been KEPT in

PDB.DB2ACCT this change was really just cosmetic so the

false warning won't be printed on the log.

Thanks to Paul Billick, QVC, USA.
Change 30.172 -RMF III Enhancements, more:

VMACRMFV -New variables are added to the ZRBCPU file:

Aug 28, 2012 CPUCAPAD CAPACITY*ADJUSTMENT*INDICATION

CPUCAPRS CAPACITY*CHANGE*REASON

CPUDTIME TIME*DELTA*BETWEEN 2*DIAG CALLS

CPUIMMSU IMAGE*CAPACITY*MSU*LIMIT

NOTE: CPUDTIME will be missing for LPARs running as VM

Guests.


-New variables are added to the ZRBLCP file:

LPARCLUS LPAR*CLUSTER*NAME

LPARGRPM GROUP*MAXIMUM*LICENSE*UNITS

LPARGRPN CAPACITY*GROUP*NAME*FOR*LPAR

LPARONCS CENTRAL*STORAGE*ONLINE*IN MB

LPAROSNA OS*INSTANCE*NAME

LPARUPID USER*PARTITION*ID

NOTE: Variables LPARCLUS, LPARGRPN, LPARGRPM, LPARONCS

require RMF Monitor III data at the z/OS 1.12 Level to

be populated.

-Change 29.013 for CPCGRPLM, text and the INPUT statement,

were both reversed; the four byte variable is input first

and then the reserved four bytes are skipped.
Change 30.171 I had removed references to CICS stats dataset CICMNR, as

VMXGINIT IBM had never externalized that DSECT, so MXG had never

Aug 27, 2012 created any observations, and because it kept showing up

as an exception on QA reports. However, I also removed

the dataset token macro variables &PCICMNR and &WCICMNR

from VMXGINIT, which cause UNRESOLVED MACRO ERROR when

the new VMXGINIT was used with MXG 30.02 or earlier.

I should never have removed those macro variables and so

they are restored to be defined in VMXGINIT.

Thanks to Pat Hansen, ADP, USA.

Thanks to Mike Chaves, ADP, USA.
Change 30.170 Large increase in CICLDR observations count, 1,700,000,

EXCICLDR with only 70,000 CICSTRAN observations; there is one obs

Aug 27, 2012 for each program that has been active, but almost all of

the observations have zero Fetch Count (LDRFC) so this

change now output CICLDR observations ONLY if LDRFC is

no zero; that test is located in the EXCICLDR exit member

in case you ever want to change and output them all.

Thanks to Chuck Hopf, Independent Consultant, USA.


Change 30.169 -Dataset T102S083, IFCID=83, always had zero observations

FORMATS due to an LE test for QWHSRELN that should have been GE.

VMAC102 -IFCID=145 record with unexpected QWT02R1L=0 ABENDed with

Aug 25, 2012 invalid DO loop value. The records are continuations for

Oct 12, 2012 an SQL command with a total of 98,567 characters, so that

multiple SMF record are written, and the continuation SMF

records do not contain the expected R2O segment, so MXG's

logic was revised. However, a problem has been opened

with DB2 Support because the QW0145LE length-field is not

correct, and there is no explicit offset field to the SQL

text in both the initial and continuation records, so the

MXG input is heuristic based on the available records and

the actual SQL text length in each observation is in the

MXG-calculated QW0145LNTXT variable.

-Oct 12: IBM APAR PM74186 corrects the SQL length error.

-These new-in-DB2-V10 QW0145 fields are INPUT and kept:

QW0145IS QW0145SI QW0145OBNUM QW0145ACNUM

QW0145LL QW0145LNTXT

and format $MGD145I decodes the Isolation Level QW0145IS.

Thanks to Chuck Hopf, Independent Consultant, USA.


Change 30.168 Enhancement to ASM program that recreates RECFM=VB or VBS

ASMDBLKU data from downloaded ASCII "RECFM=U" that is now reloaded

Aug 24, 2012 back to z/OS into 32760 byte chunks that ASMDBLKU reads

Aug 29, 2012 to reconstruct the original VB/VBS file (perhaps so you

can terse it and send it on to a vendor), for sites that

don't have SAS on z/OS (when you would instead use the

MXG UDEBLOCK program to recreate valid VB/VBS files).

-JCL PARM field values of PARM=VB or PARM=VBS are now

supported. The default is VBS if no PARM field is coded.

PARM=VB creates RECFM=VB,LRECL=32756,BLKSIZE=0, while

PARM=VBS creates RECFM=VBS,LRECL=32760,BLKSIZE=0 as in

prior versions of ASMDBLKU. Any other PARM field values

will result in error message DBLKU29S and termination

with Return Code 16.

-New message DBLKU29I shows PARM field value if present.

-Message DBLKU25I now also shows the average LRECL of the

input SMFIN file.

-Message DBLKU26I now also shows the average LRECL of the

output SMFOUT file.

-New message DBLKU27I shows the number of input SMFIN file

records that were read at the minimum and maximum LRECL

values. This provides an idea if the record lengths on

input were biased toward these values.

-New message DBLKU28I shows the number of output SMFOUT

file records that were written at the minimum and maximum

LRECL values. This provides an idea if the record

lengths on output were biased toward these values.

-Maximum LRECL value for the output SMFOUT file was

incorrect in message DBLKU26I.
Change 30.167 MXG 30.04-30.05. The Debugging PUT _N_= YYYYDDD= at line

VMACIMS 3826 is deleted, to eliminate the unwanted log messages.

Aug 24, 2012

Thanks to David J. Schumann, Blue Cross of Minnesota, USA.


Change 30.166 Change 30.153 supported keeping PROGRAM and PROG1-PROGnn

ASUMCICX variables in PDB.ASUMUOW, but its tailoring instructions

ASUMUOW were incomplete, and you may need this updated IMACUOW.

IMACUOW To add PROGRAM (and optional PROG1-PROGnn variables):

VMXGUOW - you must update ASUMUOW to add (only) variable PROGRAM

Aug 24, 2012 to the MACRO _KUOWIDC definition,

- you must update ASUMUOW to add PROGRAM, plus any of the

PROG1-PROGnn variables that you want kept, into your

MACRO _KUOWPTH definition,

- if the PROGRAM name you want/need isn't the PROGRAM in

that last CICSTRAN in this UOW, then you will need to

use this new IMACUOW tailoring and start with Case 5 as

your MACRO _TRANUOW selection, but be aware there still

could be additional site-dependent mods required.

This example adds PROGRAM and PROG1-PROG3:

%LET MACKEEP=%QUOTE(

MACRO _YESOBS %

MACRO _NOOBS %

MACRO _KUOWPTH

EXECAPPL PROGRAM PROG1-PROG3 %

MACRO _KUOWIDC

APPLID USER LUNAME SYSTEM TERMINAL USERCHAR

PROGRAM

%

);



%INCLUDE SOURCLIB(VMXGUOW);

_NOOBS


OPTIONS NODSNFERR NOVNFERR;

_SUOWCIC /*SORT CICSTRAN DATA */

_SUOWDB2 /*SORT DB2 DATA */

_SUOWMQ /*SORT MQ SERIES DATA */

_SUOWSPN /* CREATE ASUMUOW DATASET */

%VMXGUOW;

_YESOBS

OPTIONS DSNFERR VNFERR;



If you use ASUMCICX to summarize the PDB.ASUMUOW CICS in

PDB.CICS output dataset, you may need to add PROGRAM to

the _BSUxxxx macro, as also now documented in comments.

The only code changed in this change was in IMACUOW, but

that is only the addition of the new Case 5 example.

Thanks to Charles Savikas, DCF, State of Florida, USA.


Change 30.165 Cosmetic. Existing $MGTMDAC format assigned to QW0142AC,

VMAC102 to decode A/C/D to ALTER/CREATE/DROP. Note that when an

Aug 23, 2012 MXG $MGxxxxx character format is assigned to a variable,

that variable must be in a LENGTH statement with the

input length; in the absence of a LENGTH statement, the

old $1 character variable is changed to the length of the

longest text in the $VALUE statement for that format.
Change 30.164 Support for six Tandem Prognosis data files creates these

EXTAPCPU six datasets;

EXTAPIPU

EXTAPJOB DDDDDD MXG MXG CREATED

EXTAPOBJ DATASET DATASET DATASET FROM

EXTAPPHY SUFFIX NAME LABEL INFILE

EXTAPVOL

IMACTAPR TAPCPU TAPRCPU TANDEM PROGNOSIS CPU TAPRCPU

TYPETAPR TAPIPU TAPRIPU TANDEM PROGNOSIS IPU TAPRIPU

TYPSTAPR TAPJOB TAPRJOBS TANDEM PROGNOSIS JOBS TAPRJOB

VMACTAPR TAPOBJ TAPROBJECT TANDEM PROGNOSIS OBJECT TAPROBJ

VMXGINIT TAPPHY TAPRPHYSVOL TANDEM PROGNOSIS PHYSVOL TAPRPHY

Aug 24, 2012 TAPVOL TAPRVOLUME TANDEM PROGNOSIS VOLUME TAPRVOL

JCLTEST9


Aug 26, 2012 The TYPETAPR or TYPSTAPR members will create all six MXG

Aug 31, 2012 datasets, reading each of the six input files, but the

Sep 25, 2012 individual datasets can be created with the _Tdddddd

to create and the _Sdddddd token to sort each one. See

examples in comments in VMACTAPR.

-Sep 25: DD MON YYYY HH:MM:SS format for CPU001 supported.


-These problems need to be resolved by Prognosis vendor:
JOBS fields: 014,034,040-044,082,083:
a. Invalid values in 014 - IR_ELAPTIME_STRING

1:29


109-05:50:31

48

b. Invalid values in 034 - IR_STARTTIM_STRING



Values of 19 AUG 2012 and 02 MAY 2012 but the

IR_STARTTIM_TIMESTAMP is the same these records.

c. What are the units, where's the decimal, one obs has:

040 IR_SENDRESP value 0.0185

042 IR_PERFORM value 0.0104

043 IR_RESPTIME value 0.0185

044 IR_CPUSECS value 133877 - if in microseconds,

then 0.133877 is larger than response.

d. Range of values are strange:

082 IR_SEQNUM - 1617862657, 8, and 1628929

083 IR_ANCSEQNO - 1617861633, 0, and 1895169
VOL fields: 061,062,063
e. 061 IR_FULLTIME_STRING 21 OCT 2605: 20:52:57

062 IR_FULLTIME_TIMESTAMP 0

063 IR_FULLTIME_GMT_OFFSET 0
CPU fields 001/002 string and timestamp inconsistency:
f. CPU has IR Time String format 8/20/12 with the time

0:00 (no seconds), but format 20 Aug 2012 0:00:00 is

used in the other records.
g. CPU has IR Timestamp value 2.12212E+17, which doesn't

have enough digits to decode correctly; other records

have 212212195260000000 microseconds, which does have

enough digits and after adding the Tandem constant to

convert from proleptic time, is a valid GMT datetime.
-Notes on data structure issues that are circumvented:
-The record delimiter in the tandem file is the unix "LF"

but that is changed to "CRLF" if the file is copied to a

Windows platform. Macro variable MXGCRLF transparently

sets the TERMSTR option of the INFILE statement to use

the correct delimiter. It is set to TERMSTR=CRLF on WIN

platforms, to TERMSTR=LF on all other ASCII platforms,

and it is blank on z/OS. It can be changed with %LET.

-The clue you have the wrong record delimiter is an error

"ARRAY EXCEEDED" that prints the first two records where

you can see the text date field after the last IR header

name is listed as another field in that first record.

-The JOBS "comma-delimited" file has double quotes around

all character fields, and some contain embedded commas,

which required special handling due to MXG's use of SCAN

function which has no DSD option. A vendor option to

to change the delimiter to a tab would have been nice.

Double quotes were removed, and the commas restored.

-GMT Offset is not provided in the IPU record.

-All fields with "PERC" are labeled (MXG-style) "PCT".
Change 30.163 Windows IIS Server Log record with strange URIQUERY value

VMACWWW C63BCB3DB05CA94A1ECF2B1C13C048097E3456C966691FE6EEB4168

Aug 21, 2012 D55EB32905A6221CB8CA5C525

Sep 28, 2012 that did not contain the expected equal sign caused MXG

to loop; that unexpected text value is now protected.

-Data records with ^M (CR) were created when IIS file was

moved to AIX could be stripped using DOS2UNIX command,

but can also be read with MXG using

%LET MXGCRLF = TERMSTR= CRLF ;

before the %INCLUDE of TYPEWWW, because this change added

&MXGCRLF in the INFILE statement in VMACWWW.

Thanks to Xiaobo Zhang, FISERV, USA.


Change 30.162 Documentation. The RACF field AUDITFID is MXG variable

VMAC80A RACF264 in RACF event datasets TYPE8028/29/30/44/45/8055,

VMACRACF created from SMF 80 records, a 16-byte $HEX32 formatted

Aug 21, 2012 variable because it contains both hex and text:

e.g.: 'C8C6E2F0F0F93D0B00000000004D385B'X.

and the RACF field AUDITFID is MXG variable AUDITID in

dataset RACF0900 from IRRDBU00 RACF UNLOAD UTILITY data,

a $32 character variable with the above hex as text.

Both variables have been in MXG for years, but I have

added "AUDITFID" text to both variable's label.

Thanks to Mark Jacobs, Time Customer Service, USA.
Change 30.161 -RMF III Further Enhancements:

ASMRMFV -A new message RMFV033E is issued when a VSAM Read Error

Aug 19, 2012 occurs to show the current and maximum Relative Record

Number, RRN, of the RMF III record being read, and the

return/reason codes from the failed read operation. This

message will aid in the investigation of sporadic VSAM

read I/O errors that go away when ASMRMFV is rerun. We

will use these messages to circumvent the error.

-NOTE: We have never had a VSAM Read error repeat with a

rerun; if you error with ABREAD please add a //SYSUDUMP,

and send the dump to support@mxg.com so we can resolve.

-The SHOWCB macro calls that collect RMF III VSAM file


Yüklə 28,67 Mb.

Dostları ilə paylaş:
1   ...   76   77   78   79   80   81   82   83   ...   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