COPYRIGHT (C) 1984-2005 MERRILL CONSULTANTS DALLAS TEXAS USA

Newsletter THIRTY FOUR

 /* COPYRIGHT (C) 1984-2005 MERRILL CONSULTANTS, DALLAS, TEXAS */
****************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                      Jul  4, 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.

    With that value of 72x10**15 stored in 8 bytes, the MGBYTES format
    correctly 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 SAS
      //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 misdocumented 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.