COPYRIGHT (C) 1984-2021 MERRILL CONSULTANTS DALLAS TEXAS USA
MXG NEWSLETTER THIRTY-FOUR
****************NEWSLETTER THIRTY-FOUR**********************************
MXG NEWSLETTER NUMBER THIRTY-FOUR October 1, 1998
Technical Newsletter for Users of MXG : Merrill's Expanded Guide to CPE
TABLE OF CONTENTS Page
I. MXG Software Version 16.04 is available upon request. 2
1. MXG 16.04 is a major internal redesign of MXG, the new "MACKEEP"
II. MXG Technical Notes 5
1. Dropping or Removing variables from MXG datasets. 5
2. All variables formatted with MGBYTES are now stored in 8-bytes. 6
3. OS/390 variable TYPETASK has values 'JOB','STC','TSU', for .... 7
4. The MXG Tape Mount Monitor, MXGTMNT, does not see all VTS mounts. 7
III. MVS Technical Notes 7
1. APAR OW17469 corrects a problem with excessive SMF ID=80 records. 7
2. APAR OW31598 for OS/390 2.4 is needed to correct JES2 type 26 SMF 7
3. APAR PQ09932 for TCP/IP V3 SMF type 118 record corrects wrong byte 8
4. APAR OW32140 reports increased CPU time for WLM functions if you 8
5. Boole and Babbage CMF needs their PTF BPM6782 to correct an error 8
6. APAR OW32935 (no PTF yet) will correct errors in RMF Reports where 8
7. Boole & Babbage CMF creates incorrect LCUID values in type 78 data 8
8. APAR OW32246 corrects subtype 6 Access Method Section variables 8
9. PTF UW24057 for APAR ??????? was reported (via MXG-L) to have fix 8
10. NETSPY fix number #TM40410 is needed when you go from VTAM 4.3 to 8
11. APAR OW34123 for OS/390 Compatibility Mode corrects problems that 8
12. APAR OW18822 reports that the old 4-byte JESNR field (SMF26JNM) 8
13. APAR OW25609 reports a loss of type 30-2, type 23, and type 89 SMF 8
14. APAR OW33652 corrects the count of tape mounts in type 30 records, 9
15. APAR OW34055 corrects values in TYPE73 variables SMF73PBY/SMF73PTI 9
16. Activity counts of SSCH in TYPE74 for "inactive" devices found 9
17. APAR PQ18797 reports zeros in SMF type 115 MQ Series QMST section 9
18. To increase the maximum SMF Buffer Size from 32MB to 128MB 9
IV. DB2 Technical Notes. 9
1. APAR PQ15565 reports that after migrating to CICS 5.1.0 and after 9
V. IMS Technical Notes. 9
VI. SAS Technical Notes. 9
1. Newsletter THIRTY-THREE, suggested using the /b operand on COPY 9
2. SAS ZAP Z609E526 is required if you are on OS/390 1.2 or later. 10
3. You can create a GIF file that can be FTP'd to your internet 10
4. SAS under Windows 95 and 98 and NT earlier than 6.12 at TS045 10
5. The SAS System Option VMCTLISA defaults to 160K internally 11
6. SAS exploits multi-processors under Windows NT 4.0. 11
7. MXG 16.04 QA stream has executed using the SAS Version 7 Beta 11
VII. CICS Technical Notes. 11
1. CPU increase from CICS Version 3 to Version 4 due to CICS trace. 11
VIII. Windows NT Technical Notes. 11
IX. Incompatibilities and Installation of MXG 15.15. 12
X. Online Documentation of MXG Software. 12
XI. Changes Log 12
Alphabetical list of important changes 13
Changes 16.221 thru 16.001 14-68
COPYRIGHT (C) 1998 MERRILL CONSULTANTS DALLAS TEXAS USA
I. MXG Software Version Status.
MXG 16.04 is now available, upon request.
1. MXG 16.04 is a major internal redesign of MXG, the new "MACKEEP"
architecture, which makes tailoring of MXG datasets simpler and more
powerful. You can change the output DDNAME for a large dataset with
a simple "%LET Pdddddd=DDNAME;" statement, you can put all of your
MXG changes in the single member IMACKEEP (instead of having to EDIT
an IMACxxxx for each product), or you can even tailor MXG instream
using the new "%LET MACKEEP = ;" logic, and never have to EDIT any
members into your USERID.SOURCLIB!. This redesign to externalize
all attributes of every dataset began in MXG 10.10 with the "_L,_K"
macros; now that the software is finally done, I can get back to the
rewrite of MXG documentation (but note that member DOCMXG already
exists to document the new architecture, with examples!).
And most, if not all, of your existing MXG tailoring should still
work without change!
"MACKEEP" Architecture of MXG-built SAS "Datasets"
Highlights
Everything about the creation of an MXG dataset is now
fully externalized, and ALL MXG tailoring can now be done
either by
EDIT into a single member, IMACKEEP (instead of EDITing
a separate IMAC for each product)
or
all tailoring can be done "instream" using the new syntax
%LET MACKEEP= MACRO _oldname newvalue % ;
All MXG datasets now have an &Pdddddd macro variable as the
destination DDNAME/LIBREF, so you can use %LET Pdddddd=MYDD;
in IMACKEEP or with MACKEEP to change the DD to which each
MXG dataset is written or read from.
See member DOCMXG, INSTALL, and Change 16.134 for details.
Major enhancements added in MXG 16.04:
MXG "MACKEEP" Architecture - see INSTALL, DOCMXG, Change 16.134.
Support for OS/390 Release 2.6 (COMPATIBLE).
Support for IMS Log processing for IMS 6.1.
Support for TCP/IP 3.4 SMF type 118 (INCOMPATIBLE) changes.
Support for NCR Teradata DBS performance data.
Support for Landmark's SQL/CAPTURE Products 'D6' record.
Support for XCOM Release 3.0 (COMPATIBLE).
Support for Soft Audit's Installed Products File.
Support for BGS I/O Monitor Version 5.1.0 (COMPAT).
Support for HSM APAR OW31281 adds RECALL, DSR, FSR statistics.
Support for DFSMS 1.4.0 added WFSCPUTM for ABARS CPU cost.
Support for NTSMF CachingManager and Packet Filter objects.
Support for NT Service Pack 5A SYSTEM/PROCESS fields.
Major revision of TMS/CA-1 processing logic in TYPETMS5.
ML-17 of MXGTMNT/ASMTAPES synchronizes automatically.
Enhanced TPM support reads all possible variables in TYPETPMX.
Analysis of SMF Write Rates (MEGABYTES at 10/100sec)
MXG CONFIG value of VMCTLISA=40K raised to 160K.
VMXGSUM syntax for "DATETIME" now uses real name.
ABEND/CONDCODE in PDB.JOBS is now valid, has 1st ABEND.
(MXG 16.03 was only released as a Beta.)
Major enhancements added in MXG 16.02:
Support for TYPEIMS7 for IMS 6.1.
Support for OS/400 Version 4.2.0 COMPATIBLE.
Support for MQ Series Version 1 Release 2 INCOMPATIBLE.
Support for Landmark's Monitor for DB2 V 3.1 INCOMPATIBLE.
Support for Candle Omegamon V400 CANMQ and CANWLMSC.
Support for Candle Omegamon CICS V400 "255" record.
Support for Raptor Systems' Eagle Firewall 121 Log.
Support for TME 10 NetView for OS/390 V1 R1 SMF 38.
Support for Web Proxy logs Extended Common Log fmt.
Support for Magstar tapes in TYPETMS5 INCOMPATIBLE.
&PDBxxxx and &yyyzzz "Dataset &Macro" naming rules.
New PDB datasets TYPE74CO/ME/PA/SY/OM/LK added to daily PDB.
New ANALABND report ABENDs from PDB.STEPS, uses PROC TABULATE.
Multiple JES3 purge records created duplicate PDB.JOBS obs.
All MXG variables with format MGBYTES are now stored in 8-bytes.
New ANAL6264 merges VSAM type 62 and 64 for OPENTIME.
Major enhancements added in MXG 16.01:
The major thing in 16.01 is support for Year 2000 products that
were not Y2K compliant when 15.15 was built, so MXG 16.01 is now
the minimum level to support all vendor records that provide year
2000 dates, but there are also a few fixes and several enhancements
and new products supported.
Year 2000 issues that require MXG 16.01 or the specific change:
TYPE6 READTIME was 1900 in 2000 due to MXG error (Change 16.039).
AS/400 Year 2000 Support was Incorrect (Change 16.035).
NETVIEW NPM type 28 year Y2K Ready but INCOMPATIBLE record change.
Landmark TMON for CICS V2 converted to V8.1 Y2K Ready, INCOMPAT.
IPAC RDS View Direct V 6.1 Y2K Ready, but INCOMPATIBLE change.
MXG Software now warrants it is "Year 2000 Ready".
Support for new NTSMF objects (Database, SMTP Server, WEB Service).
Support for revised NTSMF Active Server Pages and IISG records.
Support for Software Engineering's SpaceManager data records.
Support for DECnet/SNA DTF SMF records.
MXG 15.15 problems reported and fixed:
Variable MXGVERSN in TYPE70 was blank in 15.15; impacts CPEXPERT.
Deactivated PR/SM Partition may cause over 100% CPU Busy for CEC.
All of these enhancements are described in the Change Log, below.
Availability dates for the IBM products and MXG version required:
Availability MXG Version
Product Name Date Required
MVS/ESA 4.1 Oct 26, 1990. 8.8
MVS/ESA 4.2 Mar 29, 1991. 9.9
MVS/ESA 4.2.2 Aug 1991. 9.9
MVS/ESA 4.3 Mar 23 1993. 10.10
MVS/ESA 5.1.0 - compatibility Jun 24, 1994 12.02
MVS/ESA 5.1.0 - Goal Mode May 3, 1995 13.01
MVS/ESA 5.2.0 Jun 15, 1995 13.05
MVS/ESA 5.2.2 Oct 19, 1995 13.09
OS/390 1.1.0 Feb 22, 1996 14.01
OS/390 1.2.0 Sep 30 1996 14.05
OS/390 1.3.0 Compatibility Mode Mar 28 1997 14.14
OS/390 1.3.0 WLM Goal Mode Mar 28 1997 15.02
OS/390 2.4.0 Sep 28 1997 15.06
OS/390 2.5.0 Feb 24 1998 15.06
OS/390 2.6.0 Sep 24 1998 16.04
CICS/ESA 3.2 Jun 28, 1991. 9.9
CICS/ESA 3.3 Mar 28, 1992. 10.01
CICS/ESA 4.1 Oct 27, 1994. 13.09
CICS/ESA 5.1 aka CICS/TS V1R1 Sep 10, 1996 14.07
CICS-Transaction Server V1R1 Sep 10, 1996 14.07
CICS-TS V1R1 with APAR UN98309 Sep 15, 1997 15.06
CICS-TS V1R2 Oct 27, 1997 15.06
CRR 1.6 Jun 24, 1994. 12.02
CRR 1.7 Apr 25, 1996. 14.02
DB2 2.3.0 Oct 28, 1991. 10.01
DB2 3.1.0 Dec 17, 1993. 13.02A
DB2 4.1.0 Tolerate Nov 7, 1995 13.07
DB2 4.1.0 Full support Sep 11, 1996 14.07
DB2 5.1.0 Tolerate Jun 27, 1997 14.14
DB2 5.1.0 Full support Jun 27, 1997 15.02
DFSMS/MVS 1.1 Mar 13, 1993. 11.11
DFSMS/MVS 1.2 Jun 24, 1994. 12.02
DFSMS/MVS 1.3 Dec 29, 1995. 13.09
DFSMS/MVS 1.4 Sep 28, 1997. 15.04
DFSMS/MVS 1.4 HSM Sep 23, 1998. 16.04
MQM 1.1.2, 1.1.3, 1.1.4 Apr 25, 1996. 14.02
MQ Series 1.2.0 May 26, 1998. 16.02
NETVIEW 3.1 type 37 ??? ??, 1996. 14.03
NPM 2.0 Dec 17, 1993. 12.03
NPM 2.2 Aug 29, 1994. 12.05
NPM 2.3 ??? ??, 1996. 15.08
RMDS 2.1, 2.2 Dec 12, 1995. 12.12
TCP/IP 3.1 Jun 12, 1995. 12.12
TCP/IP 3.4 Sep 22, 1998. 16.04
VM/ESA 2.0 Dec 23, 1992. 10.04
VM/ESA 2.1 Jun 27, 1993. 12.02
VM/ESA 2.2 Nov 22, 1994. 12.06
IMS 4.1 Aug 6, 1994 12.02
IMS 5.1 Jun 9, 1996 14.05
IMS 6.1 ??? ?, 199? 16.04
AS400 3.7.0 Nov 1, 1996 15.01
AS400 4.1.0 Dec 30, 1996 15.08
AS400 4.2.0 Apr 27, 1998 16.02
Availability dates for non-IBM products and MXG version required:
Availability MXG Version
Product Name Date or Change Required
Microsoft
Windows NT 4.0 and NT 3.51 14.14
Windows NT 4.0 Service Pack 2 15.03
Windows NT 4.0 Service Pack 5 16.04
Demand Technology
NTSMF Version 1 Beta 14.11
NTSMF Version 2.0 15.05
NTSMF Version 2.1 15.06
Landmark
The Monitor for DB2 Version 2 13.06
The Monitor for DB2 Version 3.0 16.02
The Monitor for DB2 Version 3.1 16.02
The Monitor for CICS/ESA 1.2 - 12.12
The Monitor for CICS/ESA 1.3 - 15.01
The Monitor for CICS/ESA 2.0 - 15.06
The Monitor for MVS/ESA 1.3 - 12.05
The Monitor for MVS/ESA 1.5 - 12.05
The Monitor for MVS/ESA 2.0 - 15.09
Candle
Omegamon for CICS V200 User SMF 12.05
Omegamon for CICS V300 User SMF 13.06
Omegamon for CICS V400 User SMF 16.02
Omegamon for CICS V400 type 110 segments 16.02
Omegamon for IMS V110 (ITRF) 12.12
Omegamon for IMS V300 (ITRF) 14.04
Omegamon for MVS V300 13.05
Omegamon for MVS V400 13.06
Omegamon for DB2 Version 2.1/2.2 13.05
Omegamon for VTAM V160 12.04A
Omegamon for VTAM V400 15.15
Omegamon for SMS V100/V110 12.03
CA
ACF2 6.2 16.04
ASTEX 2.1 14.04
NETSPY 4.7 14.03
NETSPY 5.0 14.03
NETSPY 5.2 16.05
Boole & Babbage
IMF 3.1 (for IMS 5.1) 12.12
Memorex/Telex
LMS 3.1 12.12A
II. MXG Technical Notes
1. Dropping or Removing variables from MXG datasets.
The only safe and the recommended method for removing variables from
an MXG dataset requires tailoring of the "Keep" macro, _Kxxxyyy, for
the dataset, which is defined in the IMACxxxx member for the
product.
If you define "MACRO _Kxxxyyy DROP= A B C %" those variables will
be removed. If you are keeping only a few variables from a dataset
with many variables (like CICSTRAN), the DROP= list can be long, but
you can mechanically copy the KEEP= list-of-variables from the VMAC
member for that product into the _Kxxxyyy definition, change the
KEEP= to DROP=, and then blank out the variables you WANT to keep.
The use of a KEEP Statement in the EXxxxyyy exit member for the
dataset is NOT safe, (nor would a DROP Statement be safe), because
the KEEP and DROP Statements are global to all data sets that are
being created in that SAS data step, whereas the _Kxxxyyy macros are
not KEEP/DROP Statements, but instead are the KEEP/DROP Dataset
Options, so they apply only to a single dataset.
The safety issue is that if you have two datasets being created
that have common variables:
DATA CICS (KEEP=A B C D E )
IMS (KEEP=A B C D E );
and you add in a KEEP statement in the CICS dataset exit:
KEEP A B C;
then SAS will do what it is told, and variables D and E will be
dropped from both the CICS and IMS datasets!
It is true that if the variable names in your exit KEEP Statement
are absolutely unique to the one data set in which you want them to
be kept, you could use the KEEP statement in your EXxxxyyy member,
but since I tend to use the same variable name for the same measure
in different datasets, there is a high risk that you could
inadvertently (and without any message on the log) drop existing or
future new variables from other datasets.
If you are dropping lots of variables, as from CICSTRAN, and if a
new CICS version creates new variables that you want to drop, yes,
you will have to change the _Kxxxyyy definition with each new
version of CICS. However, you do not have to have separate _Kxxxyyy
definitions for both versions - you can have all of the variables
that might be dropped in your DROP= list, and SAS will ignore those
variables that don't exist, because MXG's CONFIG member sets OPTIONS
DKROCOND=NOWARN; by default.
While EDITing the IMACxxxx definition of the _Kxxxyyy macro into a
"USERID.SOURCLIB" tailoring library in the //SOURCLIB concatenation
is still a recommended technique (and vendors are authorized to
distribute MXG IMACxxxx and EXxxxyyy tailoring members as part of
their products), MXG 15.15 introduced the new &MACxxxx tailoring
macros (as different from tailoring members) that now permit you to
redefine the _K and _L macros "instream", without having to EDIT
into a PDS library!
And in the near future, those &MACxxxx tailoring macros will
eventually allow you to also override the EXxxxyyy dataset exit
member and even the default SORT order of every MXG dataset.
The new &MACxxxx tailoring macros are documented in the text of
Change 15.356, and because they are defined as macro variables
instead of the old-style substitution macros, you may be able to use
macro logic to select between different _Kxxxyyy macros definitions,
if that were needed!
There will be more documentation when the enhancements to the
&MACxxxx tailoring macros is available.
2. All variables formatted with MGBYTES are now stored in 8-bytes.
The MGBYTES format converts a byte value into KB, MB, GB, TB, or PB
(for PetaByte) and prints with the K/M/G/T/P as a suffix, with at
most four significant digits (so a value of 4,294,967,296 bytes is
printed as 4096M). All variables formatted with MGBYTES actually
still contain the number of bytes; the association of a FORMAT with
a variable affects only its displayed value, not its internal value,
and you can override any default format with FORMAT VARIABLE 17. ;
and PROC PRINT it to see the full integer value.
MXG stored these byte variables in only 4 bytes, to save DASD space,
but values larger than 16,777,216 (the largest integer that can be
exactly represented by SAS in 4 bytes) will be truncated by SAS.
For example, the largest integer that can be held in 8 bytes is
72,057,594,037,927,936, but when stored in 4 bytes, it truncates to
72,057,589,742,960,640, a loss of 4,294,967,496 bytes.
So with that value of 72x10**15 stored in 8 bytes, the MGBYTES
format prints 64P (the 72 becomes 64 because of the six divides by
1024 to convert bytes to 'kilo storage units'), but when stored in 4
bytes, MGBYTES prints 63P, because the truncation lost 4096MB.
As a result, and after consultation with users via MXG-L, I have
decided to change ALL variables with MGBYTES format from 4-byte to
8-bytes stored size, for the sake of accuracy and consistency.
How will this impact you? Some datasets will see a slight increase
in the DASD needed to store them. There were 2207 variables that
were changed in several hundred datasets, but few datasets had more
than 10 MGBYTES formatted variables, so I expect little real impact.
However, I will update this note when I have measured the increases
for both DASD and virtual storage in the BUILDPDB tests.
If you use PROC APPEND but do not specify the FORCE operand, your
PROC APPEND will fail when it tries to append datasets that have
two different lengths for the same variable. I have always strongly
recommended that FORCE be specified if you use PROC APPEND just to
avoid this exposure. (In general, I don't recommend the use of
PROC APPEND, because it destroys the sort order.) I would suggest
you scan your USERID.SOURCLIB and any report libraries of SAS code
and add the FORCE operand now to avoid a problem in the future.
See CHANGE 16.078 for specifics of the implementation.
3. OS/390 variable TYPETASK has values 'JOB','STC','TSU', for jobs,
started tasks, and TSO sessions, but both ASCH and OMVS records
have TYPETASK='A '. You can use variable SUBSYS, because when
TYPETASK='A', SUBSYS='ASCH' or SUBSYS='OMVS'. Data set PDB.JOBS
and all of the type 30 datasets contain this SUBSYS value; the
type 6 and type 26 records contain SUBSYS='JES2' or 'JES3', so I
cannot set TYPETASK equal to SUBSYS. But you can PROC SORT by
both TYPETASK and SUBSYS to separate ASCH from OMVS records.
4. The MXG Tape Mount Monitor, MXGTMNT, doesn't see all VTS tape mounts
for VTS (Virtual Tape Server) devices, because the elapsed duration
of new, scratch mounts (which are satisfied by allocation on the
"virtual" disk) frequently take much less than the 2 seconds
sampling rate of MXGTMNT. In the case studied, MXG missed about
300 scratch mounts (out of a daily total of 1100 scratch mounts).
While reducing the sampling rate will capture more of those mounts,
to capture all VTS mounts would require a significant redesign of
ASMTAPES: to capture the Mount Message and drive the mount record
from that event, adding the duration data for those mounts that we
saw with the two-second sampler but writing out a mount event when
we see the mount messages even if we did not see the samples because
the mount was too fast. This enhancement is under study now but,
will likely take significant time to implement, if even feasible!
If you just need to count tape mounts for billing, counts in type 30
(and hence PDB.JOBS and PDB.STEPS) variables TAPNMNTS/TAPSMNTS do
include all VTS mounts (and there is a TYPE21 observation as well).
III. MVS Technical Notes.
1. APAR OW17469 corrects a problem where excessive numbers of SMF ID=80
RACF records were written. The error was introduced by APAR OW02564
and while APAR OW14521 corrects some of the error, this new APAR is
also required. The reporting site migrated from MVS 4.3 to 5.1.
2. APAR OW31598 for OS/390 2.4 is needed to correct JES2 type 26 SMF
records that have incomplete Accounting Segment. The APAR seems to
say this is a problem only if JES2 is running on OS/390 1.3 or below
but was assembled with the OS/390 2.4 version of IAZSMF26.
3. APAR PQ09932 for TCP/IP V3 SMF type 118 record corrects wrong byte
count for Pascal FTP client. The TotalBytes field (MXG variable
FTPBYTEC in dataset TYPETCPC) is truncated on the left if more than
1MB in size (IBM reports 6.2 meg of storage transferred would be 0.2
in the record!).
4. APAR OW32140 reports increased CPU time for WLM functions if you
have lots of CICS regions and are managing CICS transaction goals.
One site with 337 Test CICS regions and 40 Production regions saw
CPU time in the WLM address space jump to 4% of one box. There is
a PTF still in development as of April 8, 1998. The overhead is
proportional to the sum of the MAXTASK values across all regions,
(because that's how many control blocks must be scanned by WLM code
every 250 milliseconds, even for regions with no service goal).
5. Boole and Babbage CMF needs their PTF BPM6782 to correct an error
following a SET ICS command that caused a loss of type 70
records. Dec 2003: The error included CPURCTTM being too high,
which caused MXG's RMFINTRV NEGATIVE UNCAPTURED-CPU-TIME message.
6. APAR OW32935 (no PTF yet) will correct errors in RMF Reports where
the velocity is wrong in duration reports (i.e., a two-hour report
from 15 minute data) but is correct in the individual intervals.
There is no error in the data records nor in MXG's calculation of
velocity, only in the RMF duration reports for OS/390 1.3 and 2.4.
This APAR also lists errors: a.) R744CACH data sections contain
negative values (which MXG will see as very large positive values),
b.) Field R744CWMN in 74.4 record may be corrupted, and c.) Field
SMF73CSC in 73 record contains interval start rather than interval
end value.
7. Boole & Babbage CMF creates incorrect LCUID values in type 78 data
that are corrected by PTFs BPM6766 and BPB1195 for CMF 5.2.3.
8. APAR OW32246 corrects subtype 6 Access Method Section variables
S42AMSWB and S42AMSRB (SEQ Writes and SEQ Reads) to reflect the
number of CI's written or read.
9. PTF UW24057 for APAR ??????? was reported (via MXG-L) to have fixed
a problem with very large I/O counts for DB2 address spaces in both
TYPE30_V and TYPE72 datasets that showed up in occasional interval
data.
10. NETSPY fix number #TM40410 is needed when you go from VTAM 4.3 to
VTAM 4.4, something related also to TPX, to correct errors in the
NETSPY SMF record that creates dataset NSPYLU. Network counts and
host and network response times were more often zero than not!
11. APAR OW34123 for OS/390 Compatibility Mode corrects problems that
can prevent OS/390 from IPLing, if you have a low Maximum MPL set
for the domain that contains your default STCs. Some STCs that
should have been marked Privileged were not (that's what the APAR
corrects), like SMF, were swappable and with low MPL never came in.
12. APAR OW18822 reports that the old 4-byte JESNR field (SMF26JNM) may
be non-zero and wrong when it should be zero. Fortunately, MXG has
no problem and does not require this APAR, since MXG has used the
five or seven digit JES number in the JCTJOBID field, whether the
old field is zero or not, since 99999 JES Number support was added.
13. APAR OW25609 reports a loss of type 30-2, type 23, and type 89 SMF
records due to an error in serialization error with SMCALATE bits.
14. APAR OW33652 corrects the count of tape mounts in type 30 records,
variables TAPNMNTS and TAPSMNTS, so that only real tape mounts are
counted for SMS tapes. IBM added the count of logical mounts (i.e.,
when OPEN processing is entered with the tape drive in a ready state
and with the mounted volume at the loadpoint), but then removed them
for non-SMS tapes with APAR OW28289, but this new APAR is needed to
also remove the logical mounts for ATL/MTL SMS tape volumes.
15. APAR OW34055 corrects values in TYPE73 variables SMF73PBY, SMF73PTI,
and SMF73FG4 that were corrupted by APAR OW32935, which incorrectly
made PBY and PTI values always zero. Last note in MXG 16.03B4.
16. Activity counts of SSCH in TYPE74 for "inactive" devices were found
to be the result of DCOLLECT and EREP; each run of DCOLLECT caused
SIO74CNT of 11, each EREP run caused 4 I/O operations.
17. APAR PQ18797 reports zeros in SMF type 115 MQ Series QMST section,
after PTF UQ14936, which is for CSQMLPLM, was installed. MQ itself
is working fine, it's just the statistics in the record are zero.
18. To increase the maximum SMF Buffer Size from 32MB to 128MB, and (of
more significance) to increase the size of each increment from 1MB
to 8MB, you need to install the PTFs associated with APAR OW12836.
You get CICS messages "DFHMN0101 CICS COPYNAME SMF RC '0028'X" on
the CICS log when CICS can't send CICS Monitor (i.e., transaction,
a/k/a CICSTRAN, subtype 1 records) SMF records to the SMF Address
Space, or messages "DFHST0103 CICS COPYNAME SMF RC '0028'X" when the
CICS Statistics (subtype 2 records) cannot be sent to SMF Address
Space. This will happen during SMF buffer expansion, which is a
serialized function under the single SMF TCB. By increasing in a
larger increment, there will be fewer buffer expansion lockouts and
hopefully fewer lost SMF records. I'll have more to say on the
SMF Writer and SMF Buffers in a later technical note.
IV. DB2 Technical Notes.
1. APAR PQ15565 reports that after migrating to CICS 5.1.0 and after
installing APAR PN55122, the DB2 type 101 SMF record no longer
contains QWHCTOKEN, which contains the UOWID value that is decoded
by MXG to create the NETSNAME and UOWTIME variables in DB2ACCT.
This causes ASUMUOW to not work, since NETSNAME is blank and UOWTIME
is missing, there's no UOW for summarization!
V. IMS Technical Notes.
VI. SAS Technical Notes.
1. In Newsletter THIRTY-THREE, I suggested using the /b operand on COPY
command to eliminate extraneous '3F'x characters, but that does not
always work, and Dan Squillace and Kevin DeBruhl report why:
Microsoft couldn't have made this more confusing if they tried. /a
and /b don't have anything to do with ASCII or binary per se, but
instead whether EOF marks should be dropped or included from source
files, or added to the destination files. For source files, the /a
switch also indicates whether or not the copy operation for that
file should stop when an EOF is encountered.
SAS INFILE processing will stop when an EOF mark is encountered (a
perfectly reasonable behavior!).
The fix suggested in MXG Newsletter (putting /b on the copy command)
worked with only one file, but caused EOFs to be inserted between
concatenated files when copied in an NT 4.0 environment. Specifying
"copy /b source dest" can get you in trouble if source files are
concatenated. The following form of the copy command will fix the
MVS problem plus eliminate the possibility of embedded EOFs in the
concatenated file.
copy /a f1.smf+f2.smf+f3.smf bigfile /b
The "/a" will cause the EOF mark to be removed from each of the
source files "f1.smf through f3.smf" as they are concatenated into
the destination file "bigfile". The "/b" following the destination
file "bigfile" ensures that an EOF mark is not appended to "bigfile"
and subsequently transmitted to MVS.
Note that the following syntax also gives the same result:
copy /a *.smf bigfile /b
Kevin and I have both spent time monkeying with this one. We can't
explain why NTSMF files sometimes have EOF marks on them and
sometimes don't. We also have observed apparently inconsistent
behaviors on the part of the copy command. The only thing we can
assert with some confidence is that the copy commands given above
results in no EOF marks and also results in a clean transmission to
MVS with no embedded or trailing '3F'x .
2. SAS ZAP Z609E526 is required if you are on OS/390 Release 2 or later
to prevent either an 0C4, a wait loop, or a CPU loop, as the error
that is fixed by that zap can surface in several ways. Put it on!!!
The error is caused by a subtask not terminating correctly.
3. You can create a GIF file that can be FTP'd to your internet or your
intranet for display by your browser from SAS/GRAPH with this code:
//STEP1 EXEC MXGSASV9
//GIF1 DD DSN=GIFFILE1,DISP=(,CATLG),SPACE=(CYL,(1,1)),
// UNIT=SYSDA,LRECL=132,RECFM=VB,BLKSIZE=26400
//SYSIN DD *
GOPTIONS GSFLEN=128 DEVICE=GIF GSFNAME=GIF1 GSFMODE=REPLACE;
PROC GPLOT .... ;
Unfortunately, only one graph can be written to one "GIF" file; if
the PROC GPLOT has a BY statement, only the first plot will be
written to the GIF1 file. For multiple plots, you will need
multiple //GIFn DDs and a pair of GOPTIONS/PROC GPLOT statements
with different GSFNAME to create a GIF file for each graph.
4. SAS under Windows 95 and 98 and NT earlier than 6.12 at TS045 needs
the FIBERFIX.EXE fix, at http:\www.sas.com/techsupp/download/pc.
The fix is required if you have USB hardware on your PC, and also
corrects a "memory leak" when hundreds of macros are executed (this
error only showed up in my QA Stream, which I broke into four pieces
to circumvent until I finally called SAS Tech Support. The MXG QA
Stream run with no errors under SAS 6.12 TS020 under both Windows
98 Beta and the June Windows 98 release, once FIBERFIX was put on.
FIBERFIX is included already in SAS 6.12 at TS045 or lager.
Real Programmers know a "memory leak" is a "Programming error".
5. The SAS System Option VMCTLISA defaults to 160K internally, but one
site that had overridden and specified VMACLISA of only 40K received
an 0C4 in function VMZGMAE with SAS 6.09/TS405; the 0C4 disappeared
when VMCTLISA was raised to 60K. Note that to see the value of the
VMCTLISA option you must use PROC OPTIONS APF; syntax. VMCTLISA is
the "Size of the Initial Storage Area for SAS System Control Blocks"
and is an MVS-only option.
6. SAS exploits multi-processors under Windows NT 4.0. On a Compaq
Proliant 5000 with two 200 MHz Pentium II processors, a QA stream
took exactly 100 minutes. On a single 350MHz clone under Windows 98
it took 114 minutes. The ratio of 400 to 350 is 1.14, so it sure
looks like SAS was using both CPUs in the 2x200 multi-processor!
(Okay, the Compaq had two SCSI, the 350 had Fast IDE disks, it
was NT versus 98, so maybe all of the ratio was not just CPUs, but
it still looks awfully good for SAS's exploitation for this test!)
(For comparison, the old QA stream with fewer steps used to take
over 300 minutes on an 3090-400s!, and this QA stream on OS/390
on a 9672R52 box takes 150 minutes.)
7. MXG 16.04 QA stream has executed using the SAS Version 7 Beta, under
OS/390, Windows 95/98 and Windows NT. Minor changes were needed in
MXG code, mostly to circumvent Beta things that SAS will have fixed
by the Production release this fall. A complete list will be in a
future MXG Technical Note when Version 7 is available.
Initial performance measurements of the MXG QA stream show no change
in the runtime between Version 6.12 TS045 and Version 7 Beta, so
it looks like lots of new features a no cost, for a change!
SAS Version 7 datasets cannot be read by SAS Version 6; the format
of SAS data libraries on all platforms was changed incompatibly.
Fortunately, MXG will not exploit on any SAS Version 7 features in
the near future, and there are no compelling reasons to migrate to
SAS Version 7 (run times and resources were about the same), but
when you do migrate to SAS V7, you will either have to drop it in
all at once, or at least you will need to install from the back end:
convert your report programs first and then convert the programs
that build the datasets that the reports use.
VII. CICS Technical Notes.
1. A site running CICS Version 3 that recorded one hour CPU time per
day in TYPE72 for the region saw that CPU time jump to 6 hours per
day when they migrated to CICS Version 4, but the CICSTRAN data did
not show an increase per transaction. The culprit turned out to be
that the trace options 1,2, and 3 had been specified for CICS TRACE
parameters STNTRXM and STNTRAP without observed problem in CICS V3,
but IBM warns in GC33-1161-02 Page 639 that level 3 is for IBM FE's,
and in SC33-1176-00 page 219 that there is performance overhead with
trace levels. (Pubs are Release Guide for CICS 4.1 and CICS Problem
Determination Guide). Turning off the TRACE saved the 6 hours!
VIII. Windows NT Technical Notes.
There are no Windows NT Technical Notes in this Newsletter.
IX. Incompatibilities and Installation of MXG 16.04.
1. Incompatibilities introduced in MXG 16.04 (since MXG 15.15):
a- IMACs that were changed (if they exist in your USERID.SOURCLIB, you
must refit your tailoring, starting with the new IMAC member):
IMACPDB - new PDB.STEPS/PDB.JOBS CONDCODE. Change 16.106
b- Other incompatibility changes:
All MGBYTES formatted variables are now length 8, instead of 4.
If you use PROC APPEND without FORCE, SAS will ERROR when you try
to combine new and old datasets with dissimilar length variables.
c- These products were incompatibly changed by their vendor, and they
require MXG Version 16.01 as indicated:
MXG Y2K support for AS/400 MXG 16.01 Change 16.035
CA-1/TMS TYPETMS5 with Magstar drives MXG 16.02 Change 16.088
LANDMARK CICS V2 recs convert to V8.1 MXG 16.01 Change 16.049
LANDMARK DB2 V 3.1 MXG 16.02 Change 16.097
MQ Series V1 R2 SMF 115 MQMLOG dataset MXG 16.02 Change 16.099
MXG Y2K support for Type 6 SMF record MXG 16.01 Change 16.039
NETVIEW NPM (Year 2000 dates) MXG 16.01 Change 16.003
NTSMF EXCHANGE 5.5 MXG 16.01 Change 16.024
2. Installation and re-installation procedures are described in detail
in member INSTALL (which also lists common Error/Warning messages a
new user might encounter), and sample JCL is in member JCLINSTL.
X. Online Documentation of MXG Software.
MXG Documentation is now described in member DOCUMENT.
XI. Changes Log
--------------------------Changes Log---------------------------------
You MUST read each Change description to determine if a Change will
impact your site. All changes have been made in this MXG Library.
Member CHANGES of the MXG SOURCLIB will always be more accurate than
the printed changes in a Newsletter, because the software is normally
created after the newsletter is sent to the printer! Member CHANGES
on the www.MXG.com homepage are the most timely, as they are updated
(sometimes) between MXG versions.
Member CHANGES always identifies the actual version and release of
MXG Software that is contained in that library.
The actual code implementation of some changes in MXG SOURCLIB may be
different than described in the change text (which might have printed
only the critical part of the correction that can be made by paper).
Scan each source member named in any impacting change for any comments
at the beginning of the member for additional documentation, since the
documentation of new datasets, variables, validation status, and notes,
are often found in comments in the source members.
Alphabetical list of important changes after MXG 15.15 now in MXG 16.01:
Dataset/
Member Change Description
Many 16.078 MXG variables with format MGBYTES are now 8-bytes.
Many 16.068 &PDBxxxx and &yyyzzz "Dataset &Macro" naming rules.
ANAL6264 16.071 Analysis merges VSAM type 62 and 64 for OPENTIME.
ANALABND 16.082 ABEND stats from PDB.STEPS, uses PROC TABULATE.
ANALCISH 16.104 MORE THAN 32767, MORE THAN 10 errors corrected.
ANALPATH 16.006 SUBSCRIPT OUT OF RANGE, report expected 10 LCUs max.
ANALSRVC 16.098 Report now works for CPU Percent by Service Class.
ANALUOW 16.075 Enhancements, DB2 Class 3 waits. etc were added.
ANALVTS 16.162 Analysis combines 30s, TMNT, TALO and 21s for tapes.
ANANCNCR 16.206 COUNT= option corrected.
ASMIMSL5 16.058 ASMIMSL5 in MXG 15.15 failed during assembly.
ASMIMSL6 16.185 Support for IMS Log processing for IMS 6.1.
ASMTAPES 16.154 ML-17 of MXGTMNT synchronizes automatically.
ASMTAPES 16.164 MXGTMNT misses too-fast VTS tape mounts.
ASUM42DS 16.046 New summary member for TYPE42DS by dataset.
ASUM70PR 16.028 Deactivated Partition may cause over 100% CPU Busy.
ASUMCACH 16.141 DURATM in ASUMCACH revised for accuracy.
ASUMCICS 16.137 INVALID ARGUMENT TO FUNCTION SQRT when N=1.
ASUMTALO 16.076 Revised to work with TALO records from old ASMTAPES.
ASUMTALO 16.169 SPIN.SPINTALO now backed up into PDB library.
BLDNTPDB 16.180 NTSMF Daily/Weekly/etc BUILD program enhanced.
BUILDPD3 16.080 JES3 BUILDPDB - Multiple PDB.JOBS obs - multi purges.
BUILDPDB 16.008 Duplicate TYPE30_V records might not be deleted.
BUILDPDB 16.107 PDB.TYPE74CO/ME/PA/SY/OM/LK added to day/week PDB.
BUILDPDB 16.183 ABEND/CONDCODE in PDB.JOBS now valid, has 1st ABEND.
CONFIG 16.066 Option SASAUTOS=(SOURCLIB SASAUTOS) is now used.
CONFIG 16.117 CODEPCT=150 now set to eliminate SAS message.
CONFIG 16.157 MXG CONFIG value of VMCTLISA=40K raised to 160K.
CONFIG 16.209 NOSTIMER now specified, SAS 6.12 TS045 changed.
DOCGRAF 16.018 Examples of getting graphs from mainframe to your PC.
DOCMXG 16.134 New &MACKEEP and IMACKEEP MXG architecture changed.
IMACFILE 16.016 &MACFILE macro added for instream tailoring.
IMACICDM 16.067 Support for Candle Omegamon V400 CANMQ and CANWLMSC.
IMACPDB 16.106 Enclave CPU time and count added to PDB.STEPS/JOBS.
MXGSAS 16.081 JCL parameter TAILORNG now spelled TAILOR.
TRND70 16.021 TRENDing of TYPE70 now supports 16 buckets of CPUs.
TRND72GO 16.029 Variable R723CIMP in TRND72GO SUMmed vice IDd.
TYPE110 16.031 CICS UNEXPECTED STID=0 was error in STID=94 segment.
TYPE110 16.153 GMT offset calculation in CICS off by up to 1.4 secs.
TYPE115 16.099 Support for MQ Series Version 1 Release 2 (INCOMPAT).
TYPE28 16.003 NETVIEW NPM type 28 INCOMPATIBLE year 2000 change.
TYPE30 16.150 TYPETASK='ASCH' or TYPETASK='OMVS' now set in PDB.
TYPE38 16.101 Support for TME 10 NetView for OS/390 V1 R1 SMF 38.
TYPE6 16.039 READTIME in TYPE6 and hence PRINT is 1900 in 2000.
TYPE7072 16.009 Variable MXGVERSN in TYPE70 was blank in 15.15.
TYPE7072 16.194 Delay Percents now divided by R723CTSA.
TYPE72GO 16.064 Variables AVGRESP, EXETTM, AVGXETTM added/changed.
TYPE72GO 16.083 Variables R723CQDT/CADT/CCVT/CIQT wrong multiplier.
TYPE74 16.032 NO STRUCTURE MATCH message understood and eliminated.
TYPE74 16.095 TYPE74 variable IORATE changed to match IBM's RMF.
TYPE94 16.135 VTS variables SMF94VBA/VLA were mis-documented by IBM
TYPE99 16.026 New subtype 6 SMF type 99 INVALID SERVER SECTION.
TYPEBGSI 16.155 Support for BGS I/O Monitor Version 5.1.0 (COMPAT).
TYPECIMS 16.030 ABENDUSR in CIMSPROG has never been right.
TYPEDB2 16.148 Dataset DB2STATR was invalid, duplicate observations.
TYPEDCOL 16.017 DCOLLECT DSORG field expanded to 3 in MXG (PSU etc).
TYPEDECS 16.034 Support for DECnet/SNA DTF SMF records.
TYPEEAGL 16.102 Support for Raptor Systems' Eagle Firewall 121 Log.
TYPEHSM 16.136 DFSMS 1.4.0 added WFSCPUTM for ABARS CPU cost.
TYPEHSM 16.145 Support for APAR OW31281 adds RECALL, DSR, FSR.
TYPEHSM 16.149 SHORT ABAR message after Change 16.025 fixed.
TYPEIDMS 16.002 New TASNxxx variables labels were incorrect.
TYPEIDMS 16.012 IDMS 10.2.1 caused INPUT STATEMENT EXCEEDED.
TYPEIDMS 16.033 IDMS 10.2 records were not output.
TYPEIMS7 16.119 Support for TYPEIMS7 for IMS 6.1.
TYPEIMSA 16.069 ASMIMSL5 process now has _L, _K macros, exit members.
TYPEIPAC 16.052 Y2K INCOMPATIBLE IPAC RDS 6.1 user SMF record.
TYPEMON8 16.049 Y2K Support for TMON V2 records converted to 8.1.
TYPEMON8 16.073 INVALID DATA FOR TMMDMODL message corrected.
TYPEMON8 16.091 TMON for CICS V2 Converted records MONIRECD='D'.
TYPENDM 16.060 Sterling's Connect Direct aka NDM PI=754129 open.
TYPENSPY 16.147 NETSPY='N' record support was restored for old 4.4.
TYPENTSM 16.024 Support new "Database" object and EXCHANGE 5.5.
TYPENTSM 16.045 Support for IISG, Active Server Pages, Web Service.
TYPENTSM 16.049 New SNA LU, SNA 3270 Response, etc, NTSMF objects.
TYPENTSM 16.121 Support for NTSMF Cache Mgr & Packet Filter objects.
TYPENTSM 16.133 Summarization of NETWSEGM into NTINTRV wrong if two.
TYPENTSM 16.177 Support for NT Service Pack 5A SYSTEM/PROCESS fields.
TYPENTSM 16.199 NTSMF Object='WidetoMBErr' explained.
TYPENTSM 16.208 Support for NTSMF internal 0.1 configuration record.
TYPEOMCI 16.116 Support for Candle Omegamon CICS V400 "255" record.
TYPEQAPM 16.035 Year 2000 Support for AS/400 was corrected.
TYPEQAPM 16.063 Support for OS/400 Version 4.2.0 (COMPATIBLE).
TYPESFTA 16.175 Support for Soft Audit's Installed Products File.
TYPESPMG 16.020 Support for Software Engineering's SpaceManager data.
TYPETAND 16.118 Tandem variables CnBLKS and CnBLKSAV corrected.
TYPETCP 16.211 Support for TCP/IP 3.4 (sorta INCOMPATIBLE).
TYPETDTA 16.170 Support for NCR Teradata DBS performance data.
TYPETMDB 16.097 Support for Landmark's Monitor for DB2 V 3.1 INCOMPA
TYPETMDB 16.160 Support for Landmark's SQL/CAPTURE type 'D6' record.
TYPETMO2 16.122 Variables SYSID,APPLID,SYSPLEX blank in MXG.
TYPETMS5 16.088 Lost obs in TMS dataset DSNBRECD for Magstar tapes.
TYPETMS5 16.129 Major revision of TMS/CA-1 processing logic.
TYPETMS5 16.191 Final revisions to TMS logic changes for FILSEQ.
TYPETPMX 16.189 Enhanced TPM support reads all possible variables.
TYPETPX 16.019 TPXBYTI/BYTO wrong due to CA's documentation error.
TYPEVLFC 16.089 Zero observations in dataset TYPEVLFC corrected.
TYPEWWW 16.105 Support for Web Proxy logs Extended Common Log fmt.
TYPEXCOM 16.114 XCOM variable REQTYPE renamed REQTYPEX, conflict.
TYPEXCOM 16.187 Support for XCOM Release 3.0 (COMPATIBLE).
USMFRATE 16.158 Analysis of SMF Write Rates (MEGABYTES at 10/100sec)
UTILBHEX 16.070 Utility creates SMF records from hex dump from LIST;.
UTILCICS 16.061 Incorrect Candle value ERRMQ=64 in CANMQ detected.
VMAC7072 16.130 Type 70 records have CPU segment after VARY OFF.
VMXGSUM 16.120 New ERASEOUT parameter added.
VMXGSUM 16.131 UNIX forward slashed caused VMXGSUM to fail.
VMXGSUM 16.146 VMXGSUM syntax for "DATETIME" now uses real name.
VMXGSUM 16.179 Support for SAS Version 7 (INCOMPATIBLE).
WEEKBLDT 16.140 Weekly build of ASUMDB2B fails with wrong sort order.
YEAR2000 16.010 MXG Software now warrants it is "Year 2000 Ready".
Inverse chronological list of all Changes:
======Changes thru 16.221 were in MXG 16.04 dated Sep 30, 1998======
Changes 16.221 thru 16.001 were printed in MXG Newsletter THIRTY-FOUR,
and are listed in member CHANGESS.