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

CHANGE 18.18

 
=========================member=CHANGE18================================
 /* COPYRIGHT (C) 1984-2001 MERRILL CONSULTANTS DALLAS TEXAS USA */

         MXG Version 18.18 is  dated Feb 12, 2001, thru Change 18.360.
         MXG Newsletter THIRTY-EIGHT is dated Feb 12, 2001.
         MXG Version 18.12 was dated Jan 30, 2001, thru Change 18.341.
         MXG Version 18.11 was dated Jan  4, 2001, thru Change 18.315.
First    MXG Version 18.10 was dated Dec 20, 2000, thru Change 18.303.
         MXG Version 18.09 was dated Oct 24, 2000, thru Change 18.264.
         MXG Newsletter THIRTY-SEVEN was dated Oct 24, 2000.
         MXG Version 18.08 was dated Sep 25, 2000, thru Change 18.238.
         MXG Version 18.07 was dated Aug 31, 2000, thru Change 18.217.
First    MXG Version 18.07 was dated Aug 30, 2000, thru Change 18.216.
Test     MXG Version 18.07 was dated Aug 27, 2000, thru Change 18.204.
         MXG Version 18.06 was dated Jul 28, 2000, thru Change 18.177.
         MXG Version 18.05 was dated Jul  1, 2000, thru Change 18.154.
         MXG Version 18.04 was dated May 15, 2000, thru Change 18.109.
Final    MXG Version 18.03 was dated Apr 17, 2000, thru Change 18.086.
         MXG Version 18.03 was dated Apr 12, 2000, thru Change 18.083.
First    MXG Version 18.03 was dated Apr 11, 2000, thru Change 18.081.
Final    MXG Version 18.02 was dated Mar 29, 2000, thru Change 18.052.
Second   MXG Version 18.02 was dated Mar 16, 2000, thru Change 18.046.
First    MXG Version 18.02 was dated Mar 15, 2000, thru Change 18.043.
         MXG Version 18.01 was dated Mar  3, 2000, thru Change 18.021.
         MXG Version 17.17 was dated Feb  7, 2000, thru Change 17.398.
      Newsletter THIRTY-SIX was dated Feb 7, 2000, thru Change 17.398.

Contents of member CHANGES:

  Member NEWSLTRS (and the Newsletters frame at http://www.mxg.com) now
  contain the current MXG Technical Notes that used to be put in member
  CHANGES between Newsletters.  New Technical Notes are now added (and
  now dated!) in NEWSLTRS/Newsletters with each new MXG Version.

I.    MXG Software Version 18.18 was shipped to all MXG licensees.
II.   Incompatibilities and Installation of MXG 18.18.
III.  Online Documentation of MXG Software.
IV.   Changes Log

=======================================================================

I.   MXG Software Version 18.18 is the annual version, Feb 12, 2001, and
     it was sent to all MXG sites, and contains NEWSLETTER THIRTY-EIGHT.

    Major enhancements added in MXG 18.18:

     Support for z/OS Version 1.1 (COMPATIBLE).
     Support for CICS/TS for z/OS Version 2.1 (INCOMPATIBLE).
     Support for DB2 Version 7.1 (COMPATIBLE).
     Support for Vital Signs VisionNet VSV TCPIP stats.
     Support for Innovation Data Processing's FDR SMF.
     Support for SYNCSORT Release 3.7 (COMPAT).
     Support for IBM TapeTools MOUNTMON user SMF record.
     ASUMTALO MAXDRVS greater than installed tape drives corrected.
     New   MACRO _Vdddddd KEEP=x y z %;    finally makes KEEP= easy.

    Major enhancements added in MXG 18.12:

     Support for CA UNICENTER TNG AIX, CISCO, NT, and SOLARIS objects.
     Support for SOLVE SMF Subtypes 1 and 2.
     Support for SHADOW SMF Subtype 6.
     Support for IBM Domino WebServer Logs enhanced.
     Support for DFSMSRMM 1.5 changes (COMPATIBLE).

    Major enhancements added in MXG 18.11:

     Support for DB2 Space Manager 2.1 (INCOMPAT).
     Support for NPM APAR OW45788 corrects LXETxxxx.
     Scheduling Environment variables added to PDB.JOBS
     MXG execution under SAS V8.1 notes consolidated in NEWSLTRS member.
     Documentation of the Internal Logic of BUILDPDB in DOCPDB member.
     Erroneous EXCLUDED FIELDS message, MXG 18.10 only, TS 1.3 only.

    Major enhancements added in MXG 18.10:

      RMFINTRV now calculates MSU4HRAV 4-hour running MSU avg for z/OS.
      DB2ACCT variable DB2TCBTM included Stored Proc AS CPU time twice.
      Support for MQ Series V5.2 (INCOMPATIBLE) SMF 115 and SMF 116.
      Support for Websphere Appl Server (EE) Component Broker SMF 120.
      Support for TMON for MVS 2.0 NQ records corrected.
      Support for ANALRMFR to create HTTP Server Report from SMF 103.
      Using IMACJBCK for DB2ACCT selection saves CPU time
      NPM Type 28 Subtype 'DC'x caused INPUT EXCEEDED.
      CICINTRV request for "EOD" did not sum correctly.
      CICS 1.3 SAP Journal records in CICSJOUR vice CICSSAP
      Support for Vital Signs VisionNet VSAM file.
      Short JES3 type 6 record protected.
      Support for APAR OW37743 corrected.
      CICINTRV DSA size variables corrected.
      Support for NETVIEW SMF 38 APAR OW45728.

    Major enhancements added in MXG 18.09:

      Support for NPM APAR OW37743 (INCOMPATIBLE if TIC3 and 3746).
      Support for Neon System's Shadow Server V4.5 SMF record.
      Support for NTSMF ADSM, ColdFusion, MQSeries, WorldSecure objects.
      Support for Candle's Omegamon for VTAM TCP record.
      TYPE74 PCTDVUSE,PCTDVCON, etc for PAV Volumes now less than 100%.
      GRAFWORK/GRAFRMFI/GRAFTAPE SAS/GRAPH examples now output as HTML
      TYPE70 variable CPCMODEL ('RX6') added, was already in TYPE70PR.
      Format $MGSASPR maps SAS PROC name to Product name, for SAS SMF.

    Major enhancements added in MXG 18.08:

      Support for Landmark TMON for VTAM.
      Support for Landmark TMON for DBCTL.
      Support for Omegamon for VTAM V500 (COMPAT).
      Support for Enterprise Data Access, EDA, SMF record.
      Support for AS/400 Collection Services records.
      Summarization/Trending for STC datasets.
      ANALUAFF finds wasted tape drives for SORT without UNIT=AFF.

    Major enhancements added in MXG 18.07:

      Support for OS/390 R2.10 (INCOMPAT!).  See Change 18.134.
         R2.10 support was included in MXG 18.06, although there was no
         statement of support in that Version, and the Change text was
         "Reserved".  MXG 18.06 or later is required for OS/390 R2.10.
      Support for BMC MainView for MQ Series History File V2.1.
      Support for APAR II11493 (INCOMPAT) type 50 SMF.
      Support for APAR PN61399 TCP type 118 SMF.
      Support for NTSMF object "SESSION", from Term Svcs.
      Support for APAR OW45168 SMF type 94 confirmed.
      Support for APAR OW43854, adds OPENTIME to SMF 62 and 64.
      VMXGSUM revisions, VIEW used, can avoid I/O, can be big savings.
      ASUMUOW revised, MQ Series added to DB2+CICS, VIEW used for speed.
      TYPE71 Memory (Hi,Med,Low Impact Frames) now correct and useful.
      Datasets TYPE7 and TYPE23 now automatically built by BUILDPDB/3.
      Example ANALCNCR and PROC TABULATE create HTML format reports.
      New %MACRO VMXGENG returns the ENGINE of a SAS dataset.
      MXG Y2K error, BMC CICS Manager type 110 segment corrected.

    Major enhancements added in MXG 18.06:

      Support for OS/390 R2.10 (INCOMPAT!).  See Change 18.134.
      Support for OS/400 Release 4.5.0 (INCOMPATIBLE).
      Support for IHS WEBSERVER SMF 103 APAR PQ32435, adds JOB/ASID.
      Support for BETA93 Release 321 INCOMPATIBLE subtype 1 record.
      Revised support for TYPEEDGS/TYPEEDGB for DFSMS/rmm.
      TCP SMF 118 Bad Record INPUT STATEMENT EXCEEDED corrected (again).

      SAS Version 8.1 causes Condition Code 4 and prints log message:
       WARNING: ARGUMENT 3 TO MACRO FUNCTION %SUBSTR IS MISSING
       because the length of their &SYSVER Version macro was shortened
       from four to three.  There is no execution impact, fortunately,
       except that the warning causes MVS Condition Code/Return Code of
       four instead of zero, and wastes your time in reading this!
       See further discussion in Change 18.159 which revises MXG.

    Major enhancements added in MXG 18.05:

      Support for Domino Server R5.0.3 subtypes 2 and 6.
      Support for Type 42 RLS Subtype 19 enhanced, fixed.
      Support for COM Tran Integrator, TN3270 Server, etc.
      Support for new NTSMF Objects in Windows 2000 Server.
      Support for IBM Websphere SMF type 103 subtype 2 undoc field.
      Support for 3494 Peer-to-Peer (Gemini).
      Support for APAR OW41317 support, INCOMPAT R2.7, R2.8, R2.9.
      IMS Log Version 5.1 caused zero obs in IMSTRAN in TYPEIMSA.
      ANALSMJB Who is filling your active VSAM SMF file utility.
      MEMSIZE removed, S=72,S2=72 restored to CONFIGV8.
      Trending of NTSMF LOGLDISK for NT disk space in TRNDNTLD.
      Additional ESS variables now decoded from type 6.
      Summarize TYPETCPT to track concurrent users in ASUMTCPT.

    Major enhancements added in MXG 18.04:

      SAS V8.0/V8.1 errors can corrupt variable labels in tape datasets
       built by the V8SEQ "tape" engine.  Until the errors are fixed, I
       strongly recommend that you change the default "tape" engine to
       V6SEQ instead of V8SEQ (by adding SEQENGINE=V6SEQ to the CONFIGV8
       member in your CONFIG concatenation, and by changing any LIBNAMEs
       with "TAPE" engine specified to "V6SEQ", as discussed in the SAS
       Technical Note 5 in Newsletter-to-be THIRTY-SEVEN (in NEWSLTRS &
       in Newsletters on homepage), and in the text of Change 18.104.
       Update July 26:  SAS ZAP Z8002651 exists and corrects the error,
       so that with that ZAP installed, the V8SEQ engine can be used.
      TYPEIMSB correction for IMS 6.1 log processing.
      Support for Roger Software Development RSD FOLDERS.
      Support for MainView for CICS 5.3.01 (INCOMPATIBLE).

    Major enhancements added in MXG 18.03:

      Support for OS/390 Release 2.9 (17.17 support was not correct).
      Support for NETSPY Release 5.3 (COMPATIBLE).
      Support for CMA Release 1.11 (COMPATIBLE).
      Support for OAM Release 1.5.0 (INCOMPATIBLE) SMF 85.
      Support for Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE.
      IMS Log OTMA/APPC transactions supported, dates fixed in ASMIMSLx.
      ASUM70PR/ASUMCEC with ICFs had PCTLnBY and LPnDUR wrong
      ASUMTALO corrected for SPINning (in-flight) allocations.
      KEEPALL= argument for VMXGSUM was externalized to a Global macro.

    Major enhancements added in MXG 18.02:

      Support for Tivoli Netview Performance Monitor NPM 2.5 (SMF 28).
      Support for GUTS Gutenberg Time Sharing user SMF records.
      Support for optional CICS RMI counters.
      Support for Oracle Version 7.3.3 (INCOMPATIBLE)
      Support for retrofit APAR OW41317 was in MXG 17.17
      Support for type 21 APAR OW40414, added four byte fields.
      Recognition and non-counting of ICF processors is now corrected.

    Major enhancements added in MXG 18.01:

      MXG 18.01 replaced MXG 17.17 for ITSV sites.  Changes made in MXG
      17.17 to BUILDPDB/BUILDPD3, RMFINTRV, and ASUMTALO members had not
      been tested with ITSV when MXG 17.17 was shipped.  Change 18.009.

      Using Report Performance Groups or Reporting Classes in IMACWORK
      to define the workloads in our RMFINTRV dataset did not work in
      MXG 17.17; enhancements to VMXGRMFI (invoked in RMFINTRV) support
      using any mixture of report/control/service class to define your
      RMFINTRV workloads.  Revised UTILRMFI can be used to discover any
      overlap if you get the "CPU TIMES DO NOT MATCH" error message.

      Support for DB2 6.1 Buffer Pools 100+ in DB2ACCT/DB2STATS.
      Support for Type 79 Subtype 15 IRLM Long Lock now validated.
      ASUMUOW adds DB2ELAP to output, corrects wait for SPUN UOWs.
      You can now use (COMPRESS=YES) with MACRO _Ldddddd definitions.
      Blank value in JOBCLASS corrected.
      ANALDSET needed _NULL to be added to its DATA statement.
      Invalid Y2K date in BETA93 product now protected.
      Type 39 record INPUT EXCEEDED RECORD error corrected.


  See member NEWSLTRS or the Newsletters frame at www.mxg.com for
  current MXG Technical Notes that used to be in CHANGES.

  MXG 18.18 has been tested with SAS 6.09, SAS V8.0 TS M0/M1 and V8.1.

  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 15, 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
      OS/390  2.7.0                    Mar 26, 1999        16.09
      OS/390  2.7.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.8.0                    Aug 24, 1999        16.09
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.8.0 FICON/SHARK        Aug 24, 1999        17.08
      OS/390  2.8.0 APAR OW41317       Mar 31, 2000        18.03
      OS/390  2.9.0                    Mar 31, 2000        18.03
      OS/390 2.10.0                    Sep 15, 2000        18.06
      OS/390  PAV                      Oct 24, 2000        18.09
      z/OS    1.1                      Mar 30, 2001        18.11
      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  CICS/TS 1.2        Oct 27, 1997        15.06
      CICS-TS V1R3  CICS/TS 1.3        Mar 15, 1999        17.04
      CICS-TS for Z/OS Version 2.1     Mar 15, 2001        18.11
      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
      DB2 6.1.0 initial support        Mar 15, 1999        16.09
      DB2 6.1.0 all buffer pools       Mar 15, 1999        18.01
      DB2 7.1.0                        Mar 30, 2001        18.11
      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
      DFSMS/MVS 1.5                    ??? ??, 1999        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
      MQ Series 2.1.0                  Oct  2, 1999        17.07
      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
      NPM 2.4                          Nov 18, 1998        17.01
      NPM 2.5                          Feb ??, 2000        18.02
      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
      DOS/VSE POWER V6.3.0             Dec 19, 1998        16.08
      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
      VM/ESA  2.3                      ??? ??, ????        16.08
      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
      AS400 4.4.0                      Sep 27, 1999        17.07

    Availability dates for non-IBM products and MXG version required:

                                                        MXG Version
      Product Name                                       Required

      SAS Institute
         SAS V8 (TS M0), (TS M1):
         (Read member NEWSLTRS (search 'V8') for other V8 notes.
       MXG 16.16 runs, prints "options CODEPCT/BLKSIZE don't exist".
       MXG 17.01 removed options in CONFIGv8 member, Change 17.073.
       MXG 17.07 exploits 32K character var length, Change 17.253
       MXG 17.08 exploits INHERIT option VMXGSUM, Change 17.265.
       MXG 18.04 changes V8 default to SEQENGINE=V6SEQ.  Change 18.104.

      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
       Windows 2000 Build 2195                             17.10
      Demand Technology
       NTSMF Version 1 Beta                                14.11
       NTSMF Version 2.0                                   15.05
       NTSMF Version 2.1                                   15.06
       NTSMF Version 2.2                                   16.04
       NTSMF Version 2.3                                   17.10
      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 CICS V500 User SMF                     18.01
       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 VTAM V500                              18.08
       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
       NETSPY 5.3                                          18.03
      Boole & Babbage
       IMF 3.1 (for IMS 5.1)                               12.12
       IMF 3.2 (for IMS 6.1 only)                          15.09
       IMF 3.2 (for IMS 5.1 and 6.1)                       16.04
      Memorex/Telex
       LMS 3.1                                             12.12A
      MXG IMS-Log Not-Officially-Supported
       IMS 6.1  -   ASMIMSL6/TYPEIMSA                      18.03
       IMS 5.1  -   ASMIMSL5/TYPEIMSA                      18.03
      Amdahl
       APAF 4.1, 4.3                                       16.08


II.   Incompatibilities and Installation of MXG 18.10.

    MXG Definitions with regard to MXG Software Changes:

    COMPATIBLE   A change in a data record which did not alter either
                 the location or the format of all of the previously-
                 kept MXG variables is COMPATIBLE, and you can continue
                 to run the old version of MXG software, which will read
                 the new records without error, but none of any new data
                 fields or any new record subtypes will be created/kept
                 until you install the MXG Version with this change.
                 A change that alters any previously kept variable is
                 INCOMPATIBLE, and requires the new version to be used.

    TOLERATE     In other words, the old MXG Version TOLERATES the new
                 data records, if they are COMPATIBLY changed.

    EXPLOIT      Once you use the new MXG Version to read the changed
                 records, all of the new fields, subtypes, etc, that are
                 described in this change will be created in the MXG
                 datasets, so the new MXG Version EXPLOITS the new data,
                 and you have full support of the new data records.

    INCOMPAT     A change in a data record that causes the current MXG
                 version to fail, visibly or invisibly, with or without
                 error conditions or messages, and the output datasets
                 may contain wrong values and incomplete observations,
                 and/or observations may have been lost.

                 You MUST install the new MXG Version with this change
                 to process data records that have been INCOMPATIBLY
                 changed by their vendor.

 1. Incompatibilities introduced in MXG 18.10 (since MXG 17.17):

  a- No changes in MXG architecture were made between 17.17 and 18.10
     that introduced incompatibilities.

 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.


III.  Online Documentation of MXG Software.

    MXG Documentation is now described in member DOCUMENT.
    See also member INDEX, but it may be overwhelming.


IV.   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 always identifies the actual version and release of
 MXG Software that is contained in that library.

 The CHANGES selection on our homepage at http://www.MXG.com
 is always the most current information on MXG Software status,
 and is frequently updated.

 Important changes are also posted to the MXG-L ListServer, which is
 also described by a selection on the homepage.  Please subscribe.

 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 need be made by users).

 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 17.17 now in MXG 18.10:

  Dataset/
  Member   Change    Description

  SAS V8   18.xxx  SAS Version 8.1 notes are updated in member NEWSLTRS.
  many     18.001  Duplicate removal by MXG _Sdddddd macro enhanced.
  many     18.338  Description of soon-to-be-pervasive  MACRO _Vdddddd.
  many     18.317  Support for z/OS R1.1 (COMPATIBLE).
  many     18.338  New  MACRO _Vdddddd KEEP=x y z % ;  syntax defined.
  ANAL94   18.218  Report failed with PDB=SMF/PDBOUT=PDB.
  ANALCNCR 18.326  Support for interval specification of MINUTE.
  ANALCNR  18.089  Last period for synchronized intervals corrected.
  ANALDB2R 18.067  Negative DD counts for OPEN/USED DDs in reports.
  ANALDB2R 18.246  DB2 Report PMAUD03 failed, semicolon missing.
  ANALDB2R 18.329  DB2 Accounting Summary enhanced for DB2 Version 6.
  ANALDSET 18.010  _NULL_ needs to be added to DATA statement.
  ANALHTML 18.177  ANALCNCR/PROC TABULATE HTML format reports w/ODS.
  ANALRMFR 18.028  Partition Data Report supports CP/ICF.
  ANALRMFR 18.302  Support for RMF HTTP Server Report from SMF 103.
  ANALSMJB 18.149  Who is filling your active VSAM SMF file utility.
  ANALTCP  18.091  Sample TCP/IP basic analysis reports.
  ANALUAFF 18.234  Detect wasted tape drives for SORT without UNIT=AFF.
  ASMIMSL5 18.030  APPC transactions caused negative SERVICETM
  ASMIMSL5 18.060  IMS transactions thru OTMA and APPC revised.
  ASMIMSL6 18.287  Assembly error: CLOSE (R3) s/b CLOSE ((R3)).
  ASUM42DS 18.140  Variables CIOPCT, HITPCT, RDHITPCT were incorrect.
  ASUM70PR 18.131  Amdahl SMF 70 LPARNUM=0, LPARNAME=Inactive error.
  ASUMSTC  18.235  Summarization/Trending for STC datasets.
  ASUMTALO 18.013  Failed under ITSV or with USER=WORK: Member Lock....
  ASUMTALO 18.346  MAXDRVS greater than installed tape drives corrected.
  ASUMTCPT 18.122  Summarize TYPETCPT to track concurrent users.
  ASUMUOW  18.007  Wait times for spun UOWs corrected, DB2ELAP added.
  ASUMUOW  18.204  Major rewrite, adds MQ Series data, easy tailoring.
  BLDNTPDB 18.145  Revisions to use symbolics instead of hardcode dsn.
  BUILDPD3 18.124  BUILDPD3 fails, VARS NOT SORTED WORK.TYPE25.
  BUILDPDB 18.018  Blank value for JOBCLASS corrected.
  BUILDPDB 18.094  If you want to write the PDB output to tape.
  BUILDPDB 18.184  Datasets TYPE7 and TYPE23 now automatically built.
  BUILDPDB 18.217  BUILDPDB Missing _S21 to build PDB.TAPES.
  BUILDPDB 18.259  Do not redefine MACRO _BLD005 under SAS V8.
  BUILDPDB 18.306  Scheduling Environment variables added to PDB.JOBS
  BUILDPDB 18.312  Variable DATETIME now contains correct value.
  BUILDxxx 18.014  Warning CODEPASS=2 eliminated, can be disregarded.
  CONFIGV8 18.104  SAS V8 requires SEQENGINE=V6SEQ for tape datasets.
  CONFIGV8 18.147  MEMSIZE removed, S=72,S2=72 restored to CONFIGV8.
  DOCITSV  18.310  Example of ITSV macros needed to add new variable.
  DOCMXG   18.168  Example of how to use USER=XYZ with MXG.
  DOCPDB   18.315  Documentation of the Internal Logic of BUILDPDB.
  EXCECTIM 18.066  Exit for PDB.ASUMCEC with different system clocks.
  FORMATS  18.240  SAS user SMF record, $MGSASPR maps Proc to Product.
  FORMATS  18.256  MG073CD decodes OSA EXPRESS and OSA EXPRESS DIRECT.
  GRAFRMFI 18.263  GRAFRMFI Graphs from RMFINTRV now output as HTML.
  GRAFSAMP 18.264  GRAFWORK sample using mainframe PDB, output to LAN.
  GRAFTAPE 18.262  GRAFTAPE MXGTMNT and STK TRENDing, output as HTML.
  GRAFWORK 18.264  GRAFWORK Graphs from RMFINTRV now output as HTML.
  GRAFxxxx 18.220  SAS V8.0 (not 8.1) ERRORABEND with missing values.
  IMAC6ESS 18.138  Additional ESS variables now decoded from type 6.
  IMACICBB 18.190  MXG Y2K error, BMC CICS Manager now data-validated.
  IMACICUS 18.036  Support for optional CICS RMI counters added.
  IMACJBCK 18.289  Using IMACJBCK for DB2ACCT selection saves CPU time
  JCLIMSL5 18.318  SORT FIELDS value should have been 35,8.
  JCLMNTH  18.113  Monthly failed trying to build MONTH.ASUMCEC.
  JCLUWOV  18.204  JCL Example for CICS+DB2+MQ Series merge.
  MONTHBLD 18.135  WEEKBLD and MONTHBLD had wrong BY for TYPE30MU.
  PRINTNL  18.058  No output if you did not use MXGSAS or CONFIG=.
  RMFINTRV 18.000  Failed under ITSV, because of hardcode PDB.RMFINTRV.
  RMFINTRV 18.111  Variable MVSLEVEL now kept in RMFINTRV.
  RMFINTRV 18.298  Calculation of z/OS License Manager MSU4HRAV added.
  RMFINTRV 18.345  High/Med/Low Impact Frame variables added to RMFINTRV
  TRNDNTLD 18.145  Trending of NTSMF LOGLDISK for NT disk space util.
  TYPE102  18.178  DB2 6.1 only, IFCID 106, end comment missing.
  TYPE102  18.330  SQL Text truncated to 100 characters with V8/NoCOMP.
  TYPE103  18.092  TYPE1032 dataset had missing values for variables.
  TYPE103  18.129  IBM Websphere SMF type 103 subtype 2 undoc field.
  TYPE103  18.172  Support for IHS WEBSERVER SMF 103 APAR PQ32435.
  TYPE103  18.198  Variable BYREADCA negative, now BYREADCA=KBREADCA.
  TYPE108  18.119  Support for Domino Server R5.0.3 subtypes 2 and 6.
  TYPE110  18.188  INPUT STATEMENT EXCEEDED 110 Journal GLRHTYPE=2.
  TYPE110  18.250  CICS STAT STID=126 zero obs in CICCFS6D dataset.
  TYPE110  18.276  CICS 1.3 SAP Journal records in CICSJOUR vice CICSSAP
  TYPE110  18.313  EXCLUDED FIELDS error message for TS 1.3 in error.
  TYPE110  18.314  Support for CICS/TS for z/OS Version 2.1 (INCOMPAT).
  TYPE110  18.333  New "Header" exit IHDR110S to skip unwanted STID's.
  TYPE115  18.292  Support for MQ Series V5.2 (INCOMPATIBLE)
  TYPE116  18.292  Support for MQ Series V5.2 (INCOMPATIBLE)
  TYPE120  18.299  Support for Websphere Appl Server Comp Brok SMF 120.
  TYPE21   18.026  Support for APAR OW40414, adds four byte fields.
  TYPE28   18.032  Support for Tivoli Netview NPM V2R5 new subtypes.
  TYPE28   18.254  Support for NPM APAR OW37743 (INCOMPAT if TIC3,3746).
  TYPE28   18.257  NPM 28 NPMSUBTY=14x NRT non-fatal MXG messages.
  TYPE28   18.273  Support for APAR OW37743 corrected.
  TYPE28   18.279  NPM Type 28 Subtype 'DC'x caused INPUT EXCEEDED.
  TYPE28   18.308  Support for NPM APAR OW45788 corrects LXETxxxx.
  TYPE30   18.001  _Bdddddd list macros were updated for NODUP.
  TYPE30   18.286  Init delays SMF30JQT/RQT/HQT/SQT incorrect.
  TYPE30   18.344  Some duplicate steps were not removed by NODUP.
  TYPE37   18.266  Support for NETVIEW SMF 38 APAR OW45728.
  TYPE38   18.015  INPUT EXCEEDED RECORD SMF type 38 record.
  TYPE39   18.185  Protection for NETVIEW SMF 39 overlaid ROUTE seg.
  TYPE42   18.118  Support for Type 42 RLS Subtype 19 enhanced, fixed.
  TYPE42   18.334  TYPE42XR dataset (XRC) was trashed; misaligned INPUT.
  TYPE50   18.197  Support for APAR II11493 (INCOMPAT) type 50 SMF.
  TYPE6    18.137  Variable CUTSHEET in TYPE6/PDB.PRINT was wrong.
  TYPE6    18.274  Short JES3 type 6 record protected.
  TYPE64   18.187  Support for APAR OW43854, adds OPENTIME to SMF 64.
  TYPE70   18.258  Variable CPCMODEL ('RX6') added to TYPE70.
  TYPE7072 18.023  SMF70CIN was reread, didn't remove ICFs.
  TYPE7072 18.027  Support for retrofit APAR OW41317 was in MXG 17.17.
  TYPE7072 18.120  APAR OW41317 support, INCOMPAT R2.7 or R2.8.
  TYPE71   18.199  TYPE71 Memory (Hi,Med,Low Impact Frames) now useful.
  TYPE74   18.049  "Broken RMF Record" over-protective, revised.
  TYPE74   18.125  Extra observations in TYPE746B (HFG Global Buffs).
  TYPE74   18.166  Variables R744Cxxx in TYPE74ST wrong in 2nd segment.
  TYPE74   18.261  TYPE74 for PAV had over 100% for PCTDVUSE/ACT/CON/PND
  TYPE79   18.004  Type 79 subtype 15 IRLM Long Lock now validated.
  TYPE80A  18.024  INPUT STATEMENT EXCEEDED in RACFTYPE=39 segment.
  TYPE85   18.055  Support for OAM Release 1.5.0 (INCOMPATIBLE) SMF 85.
  TYPE94   18.123  Support for 3494 Peer-to-Peer (Gemini).
  TYPE94   18.176  Support for APAR OW45168 confirmed.
  TYPEAPAF 18.021  Support for APAF Release 4.6.
  TYPEBETA 18.019  Invalid Y2K date now protected in BETA93 records.
  TYPEBETA 18.164  Support for BETA93 Release 321 INCOMPATIBLE.
  TYPECIMS 18.051  IMF Fast Path INPQUEUE, ARRIVTIME corrected.
  TYPECIMS 18.191  New variable PSBNAME was still blank.
  TYPECIMS 18.225  Counts in CIMSDB2 and CIMSDBDS wrong after Ch 17.303.
  TYPECMA  18.056  Support for CMA Release 1.11 (COMPATIBLE).
  TYPECMA  18.142  Subtype 6 variable SMFT06PC incorrect.
  TYPEDB1  18.226  Variable JOB in DB2ACCT can be blank.
  TYPEDB2  18.003  Support for DB2 6.1 Buffer Pools 100+ in DB2ACCT.
  TYPEDB2  18.202  DB2GBPST,DB2STATS some QGBxxxx and QXxxxx vars wrong.
  TYPEDB2  18.305  Support for DB2 Version 7.1 (COMPATIBLE).
  TYPEDB2  18.348  QWAXxxxx variables now put back in QWACxxxx.
  TYPEDCOL 18.224  DCOLLECT sort macros now remove duplicates.
  TYPEEDA  18.227  Support for Enterprise Data Access, EDA, SMF record.
  TYPEEDGR 18.322  Support for DFSMSRMM 1.5 changes (COMPATIBLE).
  TYPEEDGS 18.128  DFSMS/rmm dataset EDGSVREC had blank dataset names.
  TYPEEDGS 18.162  Support for DFSMS/rmm TYPEEDGS/TYPEEDGB still wrong.
  TYPEEREP 18.183  EREP Symptom Record was incorrectly output.
  TYPEFDR  18.351  Support for Innovation Data Processing's FDR SMF.
  TYPEFTP  18.141  Variable DVGSBCNT has always been wrong.
  TYPEGUTS 18.040  Support for GUTS, Gutenberg Time Sharing, SMF.
  TYPEICE  18.136  RECTYPE=5 records were incorrectly output.
  TYPEIMSB 18.103  IMS log processing, 18.03 only, IMS 6.1 only, error.
  TYPEIMSB 18.139  IMS Log Version 5.1 caused zero obs in IMSTRAN.
  TYPEIMSB 18.283  IMS 6.1, MSGSZOUT a constant, wrong value.
  TYPEMIM  18.029  Variables labeled and reformatted
  TYPEMVCI 18.087  Support for MainView for CICS 5.3.01 (INCOMPATIBLE).
  TYPENSPY 18.069  Support for CA's NETSPY 5.3 (COMPATIBLE).
  TYPENSPY 18.232  STOPOVER ABEND NETREC='I' with NSPYENTL=124.
  TYPENSPY 18.323  Variable TIC_UTIL now created in NSPYTIC3 dataset.
  TYPENTSM 18.110  Support for COM Tran Integrator, TN3270 Server, etc.
  TYPENTSM 18.143  Support for new NTSMF Objects in Windows 2000 Server.
  TYPENTSM 18.193  Support for NTSMF object "SESSION", from Term Svcs.
  TYPENTSM 18.245  Support for NTSMF ADSM/ColdFusn/MQSeries/WorldSecure
  TYPEOMVT 18.229  Support for Omegamon for VTAM V500 (COMPAT).
  TYPEOMVT 18.244  Support for Candle's Omegamon for VTAM TCP record.
  TYPEORAC 18.034  Support for Oracle Version 7.3.3 (INCOMPATIBLE).
  TYPEORAC 18.133  Oracle CPUTM is revised based on Oracle feedback.
  TYPEQACS 18.222  Support for AS/400 Collection Services records.
  TYPEQAPM 18.173  Support for OS/400 Release 4.5.0 (INCOMPAT LRECLs).
  TYPERMFV 18.326  CSA, ECSA, SQA, ESQA variables calculated.
  TYPERMFV 18.349  Support for RMF III for z/OS (COMPAT).
  TYPERSDF 18.093  Support for Roger Software Development RSD FOLDERS.
  TYPESARR 18.270  SARRU33 records from CA-VIEW subtype 33 corrected.
  TYPESHDW 18.247  Support for Neon System's Shadow Server V4.5 SMF.
  TYPESHDW 18.311  Support for SHADOW SMF Subtype 6.
  TYPESOLV 18.332  Support for SOLVE SMF Subtypes 1 and 2.
  TYPESPMG 18.311  Support for DB2 Space Manager 2.1 (INCOMPAT).
  TYPESTC  18.035  VTCS 2.2 VTV Timestamps invalid, corrected.
  TYPESYNC 18.347  Support for SYNCSORT Release 3.7 (COMPAT).
  TYPETCP  18.171  TCP SMF 118 Bad Record INPUT STATEMENT EXCEEDED.
  TYPETCP  18.196  Support for APAR PN61399 TCP type 118 SMF.
  TYPETLMS 18.355  Support for TLMS 5.5 records; there was no change.
  TYPETMDC 18.231  Support for Landmark TMON for DBCTL.
  TYPETMS5 18.054  PROC SORTs now have _WTMSTMS/_WTMSDSN for Work copy.
  TYPETMV2 18.290  Support for TMON for MVS 2.0 NQ records corrected.
  TYPETMVT 18.236  Support for Landmark TMON for VTAM.
  TYPETNG  18.337  Support for CA's UNICENTER TNG performance cubes.
  TYPEVITA 18.275  Support for Vital Signs VisionNet VSAM file.
  TYPEVITA 18.353  Support for Vital Signs VisionNet VSV TCPIP stats.
  TYPEWWW  18.327  Support for IBM Domino WebServer Logs enhanced.
  TYPEXPTR 18.073  Support Systemware SYSOUT X/PTR, JHS, MPS, and C/QUE
  UTILRMFI 18.017  Utility to detect overlap in RMFINTRV workloads.
  VMACDB2  18.300  DB2ACCT variable DB2TCBTM included SPAS CPU twice.
  VMXGCICI 18.268  CICINTRV DSA size variables corrected.
  VMXGCICI 18.278  CICINTRV request for "EOD" did not sum correctly.
  VMXGDEL  18.020  You can use (COMPRESS=YES) with MACRO _Ldddddd.
  VMXGDUR  18.326  Support for interval specification of MINUTE.
  VMXGENG  18.182  New %MACRO to determine the ENGINE of a SAS dataset.
  VMXGRMFI 18.009  Using Report PGNs or Reporting Classes didn't work.
  VMXGRMFI 18.038  Added COMPAT GOAL SYSx to USECNTRL/USEREPRT
  VMXGRMFI 18.062  New RMFINTRV parms KEEPPGN/KEEPRPGN/KEEPSRV/KEEPRSRV
  VMXGRMFI 18.088  Using VMXGRMFI with TREND= and PDB=blank corrected.
  VMXGSUM  18.182  VIEW used to avoid physical I/O, can be big savings.
  VMXGSUM  18.326  Support for interval specification of MINUTE.
  VMXGUOW  18.204  New %MACRO to support ASUMUOW revisions.
  VMXGUOW  18.281  Logic errors corrected.
  WEEKBLD  18.135  WEEKBLD and MONTHBLD had wrong BY for TYPE30MU.

Inverse chronological list of all Changes:

NEXTCHANGE: Version 18.

======Changes thru 18.360 were in MXG 18.18 dated Feb 12, 2001======

Change 18.360  Support for IBM's free MOUNTMON tape mount and allocation
EXMOUNTM       monitor creates the new MOUNTMON dataset from either the
TYPEMOUN       flat file or the SMF record.  Support for this monitor
TYPSMOUN       was prompted by concerns that the MXG Tape Mount Monitor
VMACMOUN       was missing fast, scratch Virtual Tape mounts, and if the
VMXGINIT       IBM freebie did better, I was prepared to restructure the
Feb 11, 2001   ASUMTAPE logic to use their record instead of ASMTAPE's
               SMF record, but the initial comparison with three day's
               data with both monitors running showed MOUNTMON saw 462
               mounts with 1 second sampling and MXGTMNT saw 452 with 2
               second default sampling, so I'm greatly encourages that
               no errors are seen in MXGTMNT capture of mounts.  However
               as the IBM monitor captures Device Pend/Dis/and Connect
               times, I will evaluate an enhancement to combine both
               monitor's data and improve the quality of MXG measurement
               of tape mounts and tape drive usage.  The IBM MOUNTMON
               monitor is written and supported by Dennis Haight, and is
               available at ftp://ftp.software.ibm.com/storage/tapetool/
   Thanks to Mike Shapland, (i)Structure, USA.

Change 18.359  This analysis of the new z/OS MSU capacity was provided
ANALMSU        by Alan Sherkow.  See the text of Change 18.298 for the
Feb 11, 2001   discussion of PDB.RMFINTRV's new MSU4HRAV variable that
               measures your current capacity in Millions of Service
               Units (per hour) for License Manager pricing.
   Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.

Change 18.358  My QA stream reports variables with blank labels, but now
many           I've actually used it to clean up labels in these members
Feb 11, 2001    ASUMCACH ASUMTAPE ASUMVMON CHANGES  TYPEIMS  TYPETMS5
                VMAC30   VMAC42   VMAC50   VMAC90A  VMAC91   VMACBGSI
                VMACGUTS VMACHURN VMACIMS  VMACNTSM VMACRSDF VMACSTC
                VMACTMDB VMACTMS5 VMACTMV2 VMACTNG  VMACVITA VMACXPTR
                VMXGRMFI.  These member's update date was updated but
               the last change referenced is the prior change.

Change 18.357  Eight TMS flag variables from the TMSREC record are now
TYPETMS5       propagated into the pseudo TMSDSNB observation created
VMACTMS5       from the TMSREC. The DSNBssss suffixes updated are
Feb 11, 2001    DSNBUSRU/TMSI/ECAT/ABND/ISCA/DFXU/WSCA/DFLT (into DSNB)
                UPD/ETM/CAT/ABN/FILEISCA/DEFEXPOO/E99/DEF   (from TMS).
               New DEVTYPE values for Redwood, STK 9842 and 3590E are
               created from TRTCH values of E4-E7 and EA-EB.
   Thanks to David Ehresman, University of Louisville, USA.

Change 18.356  SAS SMF record pads SASPROC with '00'x instead of blank,
VMACSASU       causing SASPROD to be UNKNOWN because the $MGSASPR table
Feb  9, 2001   expected blanks.   SASPROC= TRANSLATE(SASPROC,' ','00'x);
               was added to convert the '00'x to blank (and note that
               a blank, rather than '40'x is used so the code will work
               under either ASCII or EBCDIC) before the create of:
                   SASPROD=PUT(SASPROC,$MGSASPR.);
   Thanks to Jim Peddycord, The Northern Trust Company, USA.

Change 18.355  Support for TLMS 5.5 records; there were no changes to
TYPETLMS       the record or to MXG; this is just for documentation.
Feb  9, 2001

Change 18.354  Collected updates and new features added.
ASUMCACH      -ASUMCACH added KEEPALL=YES, ID=DEVICE and the logic to
ASUMSMFI       keep only DASD devices; tape devices were reported.
FORMATS       -New ASUMSMFI summarizes PDB.SMFINTRV, keeping only the
VMXG2DTE       variables needed for problem solving and accounting.
ASUM23        -New format MGPCTGR is used to print horizontal graphs in
TRND23         DB2 reporting.
ASUMVMNT      -New VMXG2DTE macro is self-documenting and provides the
TRNDVMNT       creation of week-to-date and month-to-date summarization.
ASUMVTVM       The algorithms can interleave or APPEND the output.
ADOCUOW       -Summarization and trending of TYPE23 (SMF activity) is
Feb 12, 2001   provided in the new ASUM23/TRND23 members
              -Summary of VSM recall and migrate activity by hour from
               STCVSM19 records is provided in new ASUMVTVM member.
              -Summary of VSM mount activity is summarized in ASUMVMNT
               and TRNDVMNT from STCVSM13 records.
              -Revision of documentation for large volume CICS/DB2 shows
               how best to set up VMXGUOW processing, in member ADOCUOW.
   Thanks to Chuck Hopf, MBNA, USA.
   Thanks to Diane Eppestine, Southwestern Bell, USA.

Change 18.353  Support for Vital Signs VisionNet Record created new MXG
EXVITATC       dataset VSVTCPIP with VSV TCPIP Interface Stats, but
IMACVITA       there will be additional datasets created from their VSAM
TYPEVITA       file.
TYPSVITA
VMACVITA
VMXGVITA
Feb  8, 2001
   Thanks to Craig Collins, State of Wisconsin IT Services, USA.

Change 18.352  Running MXG under ASCII SAS to create DB2ACCT dataset did
VMACDB2H       not convert the NETSNAME to ASCII, so you could not match
Feb  8, 2001   the DB2 plan back to its CICS transaction.
   Thanks to Mark Cohen, DTS, ITALY.

Change 18.351  Support for Innovation Data Processing's FDR user SMF
EXFDRDSF       record creates new FDRDSF dataset with an observation for
FORMATS        each FDR event.
IMACFDR
TYPEFDR
TYPSFDR
VMACFDR
VMXGINIT
Feb  8, 2001
   Thanks to Shawn Beardsley, NDC Health Information Services (AZ), USA.

Change 18.350  Cosmetic. Labels were missing for variables in VMACDB2
VMACDB2        (PLAN,TRAN), in VMAC28(NRTDTYPE), in VMXGRMFI(CECSUSEC),
VMAC28         VMAC42(SMF42NRS), and VMAC74(SMF74CNF,SMF74CNX).  Labels
VMXGRMFI       for CSFRxxAV and ESFRxxAV that didn't have AVE, now do.
VMAC42
Feb  7, 2001
   Thanks to Chris Weston, SAS Institute ITSV, USA.

Change 18.349  Support for RMF III changes for z/OS COMPATIBLY added a
EXZRBCPU       few fields, and three previously undecoded segments are
EXZRBCSR       now decoded to create these three new datasets:
EXZRBPGP         ZRBCPU - Processor
IMACRMFV         ZRBCSR - Common Storage Remaining
VMACRMFV         ZRBPGP - Performance Group Period
VMXGINIT       This change also added the CSA/ECSA/SQA/ESQA variables in
               Change 18.325.  Many variables are still the accumulated
               value, and have not been divided by their sample count.
               Please validate that the variables of interest to you do
               match their RMF III screen values, and let me know if you
               find any needed corrections for MXG variables.
   Thanks to Thom Kight, Fidelity Systems, USA.

Change 18.348  MXG created QWAXvvvv variables in DB2ACCT from the new
VMACDB2        QWAX segment, but I failed to realize that most of those
Feb  5, 2001   QWAX fields were existing QWACvvvv variables, with some
               new QWAX fields.  Instead of extending QWAC, IBM created
               the new QWAX segment; if it exists, your QWAC fields are
               all zero. I should never have created the QWAXvvvv names.
               So this change now stores the QWAXvvvv values in QWACvvvv
               variables that exist, and creates new QWACvvvv variables
               for the new QWAX fields.
               I should DROP the QWAXvvvv variables now, but I can't do
               that without warning, as those few of you who found the
               QWAX variable names would have reports failed, so this is
               your warning:  Do Not use QWAXvvvv variable names.
               Use their QWACvvvv counterpart instead.
               Variable names starting with QWAXvvvv will go away soon!
               And if you want to drop them now, with this change, you
               can use the _KDB2ACC macro to drop them, with:
                 MACRO _KDB2ACC DROP=
                QWAXALCT QWAXALOG QWAXANAR QWAXARNC QWAXARND QWAXAWAR
                QWAXAWCL QWAXAWDR QWAXOCSE QWAXSLSE QWAXDSSE QWAXOTSE
                QWAXOCNS QWAXSLNS QWAXDSNS QWAXOTNS
                QWAXAWFC QWAXFCCT QWAXIXLE QWAXIXLT
               QWAX fields so your existing and future programs work
               with the same QWACvvvv names in your future reports, and
               this change accomplishes that:  use QWACvvvv instead of
               QWAXvvvv in any reports you write.

               QWAXxxxx variables should not have been created at all,
               but since I can't safely DROP them without warning, here
               is your warning:
                 Don't USE DB2ACCT variables named QWAXxxxx;
                 Instead, use QWACxxxx with the same suffix
   Thanks to Alan Winston, MBNA,USA.

Change 18.347  Support for SYNCSORT Release 3.7 (COMPAT) adds variables.
VMACSYNC       SYNCSORT now permits up to 100 SORTWORK DDs, so VMACSYNC
Feb  8, 2001   can creates up to 100 sets of variables for each sort
               work area, but the MXG default is 32, previously the max
               that SYNCSORT allowed.  You can increase the number of
               sets of variables if you have more than that:
              -You can change it permanently by adding this statement in
               your IMACKEEP member to re-definite the default value:
                    MACRO _NSYNCWK 100 %
              -Or, to increase it just for this execution of TYPSSYNC,
               you can change it "Instream" with this in your //SYSIN:
                   %LET MACSYNC=  MACRO _NSYNCWK 99 %   ;
               (you can track variable NRWRKUSE in TYPESYNC to see if
               more than 32 sort works are being used).
               Note: Dec 2001: The DDnames are SORTWK00-SORTWK99, but
               SAS will start with SORTWK01 and not use SORTWK00.
   Thanks to Chuck Hopf, MBNA,USA.

Change 18.346  ASUMTALO could have MAXDRVS greater than installed drives
ASUMTALO       when tape drives are switched between systems, because of
Feb  3, 2001   slightly different timer pops on different systems.  One
               event with ALOCEND=11:22:05.79 on SYSA was followed by an
               event with ALOCSTRT=11:22:05.60 on SYSB.  The overlap is
               always less than the monitor interval (2 second default);
               code inserted into an existing step now detects any such
               overlap and resets the ALOCSTRT to the previous ALOCEND.
   Thanks to Bruno Peeters, Dexia, BELGIUM.

Change 18.345  The High/Med/Low Impact Average Frame variables are now
VMXGRMFI       MAX'ed for each interval and added to PDB.RMFINTRV.  The
Feb  2, 2001   variables that are added are these:
                  CSFRSRAV CSFRWLAV CSFRFXAV CSFRLSAV CSFRTOAV CSFRAVAV
                  CSFRHIAV CSFRLOAV CSFRMEAV ESFRSRAV ESFRWLAV ESFRHSAV
                  ESFRLSAV ESFRTOAV ESFRAVAV ESFRHIAV ESFRLOAV ESFRMEAV
   Thanks to Peter Smith, SEMA, ENGLAND.

Change 18.344  Some duplicate steps were not removed by PROC SORT NODUP
VMAC30         because the BY list did not force adjacency if there was
Feb  1, 2001   a real step and a flushed step with the same TERMTIME.
               Variable INITTIME was needed at the end of the BY list
               defined in MACRO _BTY30U4.
   Thanks to Michael Oujesky, MBNA, USA.

Change 18.343  MXG 18.12 only.  Typo in label had *' instead of * in
VMACIAM        one label in this (fortunately) seldom-used code; typo
Jan 31, 2001   was made incorrectly after final QA.

Change 18.342  Variables CSFRLSAV and ESFRLSAV were incorrect; parens
VMAC71         were missing.  The correct equations are:
Jan 31, 2001      CSFRLSAV=CSTORE-(CSFRTOAV-CSFRFXAV);
                  ESFRLSAV=ESTORE-(ESFRTOAV-ESFRHSAV);
   Thanks to Peter Smith, Sema plc, ENGLAND.

======Changes thru 18.341 were in MXG 18.12 dated Jan 30, 2001======

Change 18.341  A short first record in the Catalog Export's output file
VMACCTLG       caused notes on the log, but no error.  The record is now
Jan 30, 2001   decoded and the time stamp text string is printed on log.
   Thanks to Len Rugen, State of Missouri Department of Education, USA.

Change 18.340  BETA93 variable JESNR was missing for JOB/TSU/STC. Add
VMACBETA         ELSE DO;
Jan 29, 2001       JESNR=INPUT(SUBSTR,JCTJOBID,4,5), ?? 5.);
                 END;
               in two places so JESNR will be populated.
   Thanks to Klaus Messer, COMLAB GmbH, GERMANY.

Change 18.339  Divide by zero protected in two places in this analysis
ANALCACH       example.
Jan 29, 2001
   Thanks to Greg Jackson, National Life of Vermont, USA.

Change 18.338  New MXG enhancement defines new  MACRO _Vdddddd   that
_Vdddddd       lets you use this simple and straightforward syntax:
Jan 28, 2001      %LET MACKEEP=     MACRO _Vdddddd KEEP= A B C %   ;
               (or you can put that MACRO _Vdddddd in member IMACKEEP)
               to KEEP only those variables want kept in an MXG dataset!
                  The original design of the _Kdddddd macro will still
                  be supported (documented in DOCMXG), but that syntax
                  still requires you to list those variables that you do
                  not want to keep, using a DROP= statement; kludgy!
               This change moves the text of the KEEP= and its list from
               inside the _VARxxxx macro into a new _Vdddddd for each
               MXG dataset, and the syntax of the _VARxxxx definition
               was changed to use that new _Vdddddd token:
                   _Wddddddt (LABEL='THE*LABEL*FOR*THE*DATASET'
                                   _Vdddddd  _Kdddddd )
               While being easy to use, the new _Vdddddd will also truly
               keep only what you want; using _Kdddddd to DROP variables
               only drops variables you listed; all new MXG variables
               (a new release of CICS?) will be kept in your output data
               set until you edited your DROP= list.

               You can put the MACRO _Vdddddd definitions in IMACKEEP
               if you ALWAYS want only those variables kept in that data
               set, or you can tailor a job in its //SYSIN "instream",
               so the macro changes only what's created by that job.

               Using the CICSTRAN dataset as an example, you look up the
               "dddddd" dataset-suffix name in the IMACxxxx member for
               the TYPExxxx product, so IMAC110 tabulates the dddddd for
               each MXG dataset built from the type 110 SMF record.  The
               IMAC110 member show you that "CICTRN" is the dddddd name
               for the "CICSTRAN" dataset, so this instream tailoring
               creates CICSTRAN.CICSTRAN with only three variables kept:

                    //SYSIN DD *
                    %LET MACKEEP=
                      MACRO _VCICTRN KEEP= APPLID TRANNAME TASCPUTM% ;
                    ;
                    %INCLUDE SOURCLIB(TYPE110);

               This is an internal text change inside VMAC members, and
               it should be transparent to your existing tailoring.

               Since datasets with lots of variables are the ones most
               likely to need KEEP= tailoring, datasets with the most
               variables were revised first; most have been enhanced but
               not all MXG members were finished when 18.18 was ready.
               These members that already defined an _Vxxxxxx macro were
               set aside to be examined later:
                 TYPEAXC,TYPECMA,TYPEFTP,TYPEICE,TYPEIMS1,TYPEOMCI,
                 TYPEPW,TYPEQACS,TYPEQAPM,TYPEQTRT,TYPETUX,TYPEVMXA,
                 TYPEXAM,TYPE102,TYPE28,TYPE79,TYPE84

Change 18.337  Support for CA's UNICENTER TNG performance cubes data for
EXTAI001-      AIX, CISCO, WIN-NT, and SOLARIS platforms creating these:
EXTAI005                                                      MXG
EXTC2001-         Platform Object          Max    Max   Max   DATASET
EXTC2002                                 Instance Vars  Rows  NAME
EXTC7011          AIX411:  BUFFER            1     8    95    AI001
EXTNT001-                  CPU               1     5    95    AI002
EXTNT020                   PAGING            1     4    95    AI003
EXTSO001-                  QUEUES            1     4    95    AI004
EXTSO015                   SWAPPING          1     1    95    AI005
FORMATS           CIS2500: CISCO             7   130    76    C2001
IMACTNG                    MIB-2            34    89    76    C2002
VMACTNG           CIS7500: CISCO            24   166    76    C7001
TYPETNG           NTS400I: BROWSER           1    20    95    NT001
TYPSTNG                    CACHE             1    27    95    NT002
UTILTNGO                   ICMP              1    27    95    NT003
VMXGINIT                   IP                1    17    95    NT004
Jan 28, 2001               LOGICALDISK       5    21    95    NT005
                           MEMORY            1    27   140    NT006
                           NBT CONNECTION    8     3    95    NT007
                           NETBEUI           2    39    71    NT008
                           NETBEUI RESOURCE 13     3    71    NT009
                           NETWORK INTERFACE 3    17   140    NT010
                           OBJECTS           1     6    95    NT011
                           PAGING FILE       2     2   140    NT012
                           PHYSICALDISK      3    19   140    NT013
                           PROCESSOR         2    10    95    NT014
                           REDIRECTOR        1    37    95    NT015
                           SERVER            1    26   140    NT016
                           SERVER WORK QUEUES3    17   140    NT017
                           SYSTEM            1    25   140    NT018
                           TCP               1     9    95    NT019
                           UDP               1     5    95    NT020
                  SOL240S: BUFFER            1     8    12    SO001
                           CPU               1     5    12    SO002
                           DISK              3     6    12    SO003
                           FILE-ACCESS       1     3    12    SO004
                           FILESYSTEM        2     3    12    SO005
                           IPC               1     2    12    SO006
                           KERNEL MEMORY ALLOC1    8    12    SO007
                           MEMORY            1     2    12    SO008
                           NETWORK           5     5    12    SO009
                           PAGING            1    11    12    SO010
                           QUEUES            1     4    12    SO011
                           SWAPPING          1     5    12    SO012
                           SYSTEM-CALLS      1     7    12    SO013
                           TABLES            1     7    12    SO014
                           TERMINAL          1     6    12    SO015
               The dataset names in this implementation are structured:
                 Dataset Name:  PPOOO
                    WHERE PP= Platform Type 2-Character Abbreviation:
                              AI=AIX411     C2=CIS2500    C7=CIS7500
                              NT=NTS400I    SO=SOL240S
                         OOO= Object Number within Platform (see above)
                 Variable Name: PPOOOVVV
                         VVV= Variable (metric) number within object.

               The Label for each MXG dataset is the Object Name; the
               Label for each MXG variable is the Metric Name.  Use the
               PROC CONTENTS DATA=PDB._ALL_ DETAILS; to display what is
               what in the AInnn,C2nnn,C7nnn,NTnnn and SOnnn datasets.

               This is a departure from MXG variable naming.  Most MXG
               names are abbreviations for what it is, but these names
               are all cryptic,  except for the common BY variables of
               PLATFORM SYSTEM INSTANCE and STARTIME.  If it turns out
               that having "real MXG variable names" is needed, perhaps
               to match existing variables from other data sources, an
               optional rename with PROC DATASETS will be developed.

               New metrics/platforms/objects are easy to add; MXG notes
               new objects and metrics on the log, telling you to run
               UTILTNGO program, and email me the report and the OBJECTS
               dataset.  I can create the needed code from those files.

               The next major enhancement to TNG support (2nd Quarter?)
               will make the processing of TNG data completely dynamic:
               I will only create datasets for those objects that had
               data in the input file, and will only keep variables for
               metrics that were found in the input file.  That will
               minimize the space required and remove the clutter of the
               un-measured variables, and the completely new algorithms
               in this support were designed with that intention.

               Standard MXG PDB:
               You will continue to have the option of building the
               standard all-variable all-datasets PDB library from TNG
               data, so your PDB libraries are consistent, with missing
               values in variables that were not measured, and with
               zero observations in datasets for objects that were not
               found in today's data.

               Dynamic MXG PDB:
               You can tell MXG to construct the datasets and variables
               that were found in today's input data stream, using only
               the amount of storage and processing to be determined by
               the data stream.

               This architecture is extendable to other data sources
               that have one row of raw data describing the object and
               the metric followed by that one column of data values.

                -Over a year ago, Roman Jost tried to convince me that
                 TNG was a find source of data, and sent me code that
                 read the TNG data, but it took me a year to finally
                 realize how I could write supportable code.  This
                 development was actually triggered by a phone call
                 after CMG from the mid-west insurance company that had
                 written a C-program to "decode the performance cube
                 data".  I had all along assumed that some API-issuing C
                 program or a vendor-provided utility was needed to read
                 the data, but when I realized this C program read a
                 flat file and wrote a flat file, and then actually
                 looked at a faxed dump of three records, I saw that the
                 raw data could be processed with SAS.
                -My first pass took two days, and I read each record to
                 create one dataset for each variable, outputting an obs
                 for each data value, and then merged those datasets
                 together to create a dataset per object.  I tested the
                 prototype with an NT cube with four objects and twenty
                 metrics, and the logic performed as designed.
                -Then I wrote a SAS utility to generate all of the SAS
                 statements I would need to create a dataset for all of
                 the other objects and variables in all cubes for five
                 platforms, executed the generated code, and it worked.
                 However, with a small performance cube (64KB in size),
                 the program used 330 MegaBytes of disk storage and 10
                 minutes to create those 800+ datasets!
                -Examining the structure of these data, I realized that
                 with fairly limited numbers of observations and limited
                 numbers of objects in one single input cube, arrays to
                 store a single performance cube was all that was needed
                 and that generated names for variables and datasets was
                 the best solution for this type of data structure; at
                 the end of each input cube, one dataset per object is
                 created, containing all of that object's metrics, so
                 there are 44 datasets created, one per object.
                -The final run with multiple input of 24 daily cubes, at
                 15 minute intervals, 10,000 records, 6.6MB of raw data,
                 now took 25 seconds (12 to read and create datasets,
                 and 13 seconds to sort them into the PDB), used 17MB of
                 disk work space, with less than 6MB virtual storage for
                 all arrays, so the algorithm should scale well as new
                 objects and metrics are added in the future.  The MXG
                 output PDB library was 6MB of disk for 24 days data,
                 using COMPRESS=YES under Win98 on a 500MHz Pentium III.
                    COMPRESS=NO took 2 seconds longer, needed 37MB for
                    work space and created a 12MB PDB on disk; I've
                    previously reported that COMPRESS=YES saves time and
                    disk space on Pentium architecture.

Change 18.336 -Device Number variables STC13DID/STC14DID are character
VMACSTC        variables formatted with $HEX4., which do not translate
Jan 24, 2001   correctly between EBCDIC and ASCII platforms.  New DEVNR
               variable is created as numeric and formatted HEX4., so it
               matches DEVNR in other MXG datasets like TYPE74.
                 See Newsletter "Executing SAS on PCs and Workstations"
              -STC does not store anything into the channel interface
               name field, variable STC11INM, so we will now store the
               channel interface number as a character in STC11INM with:
                 IF STC11INM LE ' ' THEN STC11INM=PUT(_I_,8.);
               so that if they change their mind and store a value in
               the future, you'll get it, but for now, we need to sort
               by STC11INM.  (The LE ' ' catches both blanks and hex
               zeros).
   Thanks to Chuck Hopf, MBNA, USA.

Change 18.335  Testing statement   PUT RTYPE= $HEX2.;  should have been
VMACNAF        deleted, and now it is.  Only impact was a large SASLOG.
Jan 24, 2001
   Thanks to Robert A. Brown, Arthur Anderson, USA.

Change 18.334  XRC dataset TYPE42XR had trash; the INPUT was misaligned.
VMAC42         The following INPUT statement was inserted before the
Jan 23, 2001   existing DO statement in member VMAC42:
                      INPUT @S42XRSSO @;
                      DO _I_=1 TO S42XRSSN;
   Thanks to John Nalesnik, The Prudential, USA.
   Thanks to Brenda Rabinowitz, The Prudential, USA.

Change 18.333  New "Header" exit IHDR110S for the CICS 110 Statistics
IHDR110S       STID segments allows you to skip unwanted subsubtypes
VMAC110        and thereby save CPU time for the INPUT statements, if
Jan 22, 2001   you only want to output one or a few STID's (like STID=25
               a year's CICSLDR observations).  See IHDR110S comments;
               you simply set variable STIDWANT to 1 or zero, using:
                     IF STID =25 THEN STIDWANT=1;
                     ELSE             STIDWANT=0;
                or
                     IF STID IN (1,5,9, ..)  THEN STIDWANT=1;
                     ELSE STIDWANT=0;
               to skip unwanted STID segments, you should also throw
               away the unwanted subtype 1 transaction record and other
               unwanted statistics subtypes using the MACFILE tailoring:
                   %LET MACFILE=  %QUOTE (
                       IF ID=110 ;
                       IF SUBTYPE=2;
                                         );
               so only (in this case) subtype 2 records, which contain
               subsubtype 25 records, are input past the SMF header.
               Note these mappings of subtypes to STID's:
                 0 - Journal
                 1 - Transaction, Exception, Dictionary
                 2 - Statistics - all other STIDs
                 3 - Statistics - STIDs 121,122,123
                 4 - Statistics - STIDs 126, 127, 128, 129
                 5 - Statistics - STIDs 124, 125

Change 18.332  Support for Solve SMF subtypes 1 and 2 create new dataset
EXTYSOL1       TYPESOL1 for FTS File Send/Receive.
FORMATS
IMACSOLV
VMACSOLV
VMXGINIT
Jan 20, 2001
   Thanks to Aubrey Tang, Westpac Banking Corporation, AUSTRALIA.

Change 18.331  Validation of Shadow SMF subtype 6 changed variable
VMACSHDW       SM06SQSR from numeric to variable length 32000 if under
Jan 19, 2001   V8 with COMPRESS=YES, or will be broken down into 100
               byte pieces and output in multiple records (with resource
               counts set to missing values in the SM06SEGN=2nd and
               subsequent observations).  All test records had SQL text
               truncated at byte 255, with the rest of the SM06SQLN
               bytes filled with hex zeroes.  That may be an error or
               an installation choice; it is under investigation, but
               MXG prints one instance if found.
   Thanks to Chris Morgan, IBM Integrated Technology Services, ENGLAND.

Change 18.330  Character strings (SQL text) greater than 100 bytes long
VMAC102        were truncated to 100 bytes if run under SAS V8 without
Jan 19, 2001   COMPRESS=YES.  The tests to decide to break the long text
               into 100 byte chunks was  IF &SASVER GE 7 THEN DO; but
               that was changed to IF &SASCHRLN LE 100 THEN DO; because
               the &SASCHRLN length is set greater than 100 only if both
               SAS V8 is being used AND COMPRESS=YES is used.

Change 18.329  The DB2 Accounting Summary report is enhanced to match
ANALDB2R       the DB2 Version 6 DB2PM reports.
Jan 18, 2001
Jan 30, 2001

Change 18.328  The MQIN view/dataset was not deleted at the end of the
VMXGUOW        program, causing no error, but inconsistent with MXG's
Jan 17, 2001   deleting of temporary datasets from the work file.
   Thanks to Chris Weston, SAS Institute ITSV, USA.

Change 18.327  IBM Domino WebServer logs are readable with TYPEWWW code,
TYPEWWW        but the statement  FULLURL=SUBSTR(FULLURL,1,LOC-1); was
Jan 16, 2001   changed to FULLURL=SUBSTR(FULLURL,1,LOC-10).  Without the
               change, variable FULLURL contained the URL plus the
               variable HTTPCLVS.
   Thanks to Greg Meyer, Isuzu Motors, USA.

Change 18.326  Interval specification of MINUTE are now supported in the
ANALCNCR       VMXGSUM, VMXGDUR, and ANALCNCR functions, if you need the
ASUMTALO       minute details.  Hardcode INTERVAL=HOUR and divides by
VMXGDUR        3600 were replaced with _TALOINT and _TALOSECS macros
VMXGSUM        that can be changed to MINUTE and 60 to get minutes.
Jan 15, 2001
   Thanks to Luc Mattheus, DEXIA Bank, BELGIUM.

Change 18.325  Variables CSA, ECSA, SQA, and ESQA are now calculated in
VMACRMFV       the RMF Monitor III dataset ZRBASI to track the sizes of
Jan 15, 2001   those memory areas allocated to each ASID/JOB, and the
               variables GEICSAAS and GEISQAAS are divided by samples.
   Thanks to Stephen Hoar, Lloyds TSB, ENGLAND.

Change 18.324  Invalid data for RMGTSHTR (CICS Statistics) is because
VMAC110        the MSEC8. format still does not support values greater
VMACTMDB       than 24 hours.  I thought I had replaced all uses of the
Jan 12, 2001   MSEC8. informat with &PIB.8.6 and a divide by 4096, back
               in Change 12.030,  a few MSEC8 crept back in the IBM CICS
               and the Landmark DB2 code.  All have been replaced.
   Thanks to Roman Jost, Gjensidige, NORWAY.

Change 18.323  Variable TIC_UTIL is now created in the NSPYTIC3 dataset.
VMACNSPY
Jan 11, 2001
   Thanks to Tom Neurauter, Fidelity Investments, USA.

Change 18.322  Support for DFSMSRMM 1.5 changes (COMPATIBLE, new fields
EXEDGRK        were added at end, new subtype added):
IMACEDGR      -Dataset EDGRDEXT (DSN Record) new variables:
VMACEDGR         RDVRSSCH='PRIMARY*VRS*SUBCHAIN'
VMXGINIT         RD2VJBN ='SECONDARY*VRS*JOBNAME*MASK'
Jan  9, 2001     RD2VNME ='SECONDARY*VRS*NAME*MASK'
                 RD2VSCH ='SECONDARY*VRS*SUBCHAIN*NAME'
                 RD2VXDS ='SECONDARY VRS*SUBCHAIN*START DATE'
                 RDVRSXDS='PRIMARY*VRS*SUBCHAIN*START DATE'
              -Dataset EDGRVEXT (VOL Record) new variables:
                 RVCONTNR='IN*CONTAINER*NAME'
                       (appears to be updated only for exported tapes).
                 RVRQPRTY='MOVEMENT*PRIORITY'
              -New dataset EDGRKEXT created from new type K record.
                 RKCOUNT ='VITAL RECORD COUNT'
                 RKCRDATE='VITAL*RECORD*CREATE*DATE'
                 RKCRSID ='CREATE*SYSTEM*ID'
                 RKCRTIME='VITAL*RECORD*CREATE*TIME'
                 RKCRTJBN='JOBNAME'
                 RKDELAY ='DAYS*DELAY*BEFORE*SELECTION'
                 RKDELDAT='DATE VRS*IS TO BE*DELETED*BY RMM'
                 RKDESC  ='DESCRIPTION'
                 RKDSNAME='DATA*SET*NAME'
                 RKDSNG  ='DATASET*NAME*MASK IS*GDG?Y/P/N?'
                 RKGENKEY='DSET/VOL*GENERIC*CHARACTERS?'
                 RKLCDATE''LAST*CHANGE*DATE'
                 RKLCSID ='LAST*CHANGE*SYSTEM ID'
                 RKLCTIME''LAST*CHANGE*TIME'
                 RKLCUID ='LAST*CHANGE*USER ID'
                 RKLOC   ='NAMEAOF LOCATION TO BE STORED'
                 RKLOCTYP='LOCATION*TYPE?*A/M/S/ '
                 RKNAME  ='VRS*NAME'
                 RKNEXT  ='NAMEAOF NEXT VRS IN THE CHAIN'
                 RKOWNER ='VITAL*RECORD*OWNER'
                 RKRETNC ='RETAIN*BASED ON*CYCLES?'
                 RKRETND ='RETAIN*BASED ON*ELAPSED DAYS?'
                 RKRETNR ='RETAIN*BASED ON*UNREFERENCED DAYS?'
                 RKRETNW ='RETAIN*ONLY WHILE*CATALOGED?'
                 RKRETNX ='RETAIN*UNTIL*EXPIRED?'
                 RKSTNUM ='STORE KEEP NUMBER'
                 RKTYPE2 ='VRS*TYPE*V=VOL*D=DSET*N=NAME'
                 RKVOLSER='VOLUME*SERIAL'
   Thanks to Carl Kyonka, Enbridge, CANADA.

Change 18.321  Warning that variable RPRTCLAS was duplicated in an ID
TRND72GO       argument was valid, but of no impact.  RPRTCLAS was added
Jan  9, 2001   to the SUMBY= by Change 18.189 but should have also been
               removed from the ID= argument.  Now it is.

Change 18.320  MXG 18.06-MXG 18.10, and only if VMXGSUM was called twice
BLDNTPDB       with &DDNAME as an input argument (we found it only in
VMXGSUM        BLDNTPDB and only in the LDSK report).  Change 18.182
Jan  9, 2001   added a call to new %VMXGENG (to determine the SAS engine
               that created the input dataset), but used DDNAME for a
               temporary macro, and then changed its value.  This change
               eliminates the use of DDNAME inside VMXGSUM. There was no
               change made to member BLDNTPDB.
   Thanks to Terry Heim, ECOLAB, USA.

Change 18.319  The calculation of Standard Deviation was incorrect;
TRNDCICS       the logic from TRNDCICX was imported into TRNDCICS.
Jan  9, 2001

Change 18.318  The SORT FIELDS= value in JCLIMSL5 should have been
JCLIMSL5         SORT FIELDS=(1,12,A,35,8,A,29,1,A),FORMAT=BI
Jan  9, 2001   The change was made in JCLIMSL6 but not in L5.
   Thanks to Roman Jost, Gjensidige Gruppen, NORWAY.

Change 18.317  Support for z/OS R1.1 (COMPATIBLE).
VMAC7072       TYPE70:  New z/OS metrics for this CPU/SYSTEM:
VMXGRMFI         CPUADJCH='PHYSICAL*CPU*ADJ FACTOR*CHANGED?'
Jan  5, 2001              Changed only by Capacity Upgrade on Demand.
Jan 20, 2001     SUAVAICH='SU*AVAILABLE*CHANGED?'
                 SMF70CPA='SU_SEC*OF THE*PHYSICAL*CEC'
                 SMF70LAC='IBM*4-HR*AVERAGE*HOURLY MSU'
                 SMF70WLA='Defined*Capacity*SU*Available'
               TYPE70PR: New z/OS metrics for each LPAR segment:
                 LPARCLND='CAPACITY*LIMIT*NOT*DEFINED?'
                 LPARDCLC='DEFINED*CAPACITY*LIMIT*CHANGED?'
                 LPARWLMG='WLM*MANAGEMENT*OF THIS*LPAR?'
                 LPARWTFD='WAIT*TIME*FIELD*DEFINED?'
                 SMF70MSU='DEFINED*CAPACITY*LIMIT*IN MSU'
                 SMF70NSA='PCT WHEN*AT MAXIMUM*PARTITION*WEIGHT'
                 SMF70NSI='PCT WHEN*AT MINIMUM*PARTITION*WEIGHT'
                 SMF70NSW='PCT WHEN*LPAR WAS CAPPED*BY WLM'
                 SMF70ONT='LPAR*ONLINE*TIME'
                 SMF70PMA='AVERAGE*IRD*ADJUSTED*PARTITION*WEIGHT'
                 SMF70WST='LPAR*WAIT*TIME'
               RMFINTRV: Variables from TYPE70 now maxed into RMFINTRV:
                 SMF70LAC='IBM*4-HR*AVERAGE*HOURLY MSU'
                 SMF70WLA='MAX SU*AVAILABLE*TO MVS*IMAGE'
               Additional z/OS changes:
                 New TYPE74 Subtype 7 FICON Director - await test data,
                   will be supported ASAP, new MXG dataset(s) to be.
                 New TYPE99 Subtype 8 LPAR CPU Management - no data.
                   Similar to subtype 2, will decode upon request.
                 New TYPE99 Subtype 9 Dynamic Channel Path Management.
                   Have data, will decode upon request.
                 Type 78.1 documentation was removed.
                 Type 79.13 documentation was removed.
               MXG support is based on pre-GA documentation, and there
               may be differences in the GA level of the product.


Change 18.316  The null macro _NSHDW was incorrect and if you tried to
VMACSHDW       use it, you got a strange "180" error about "WORK".
Jan  4, 2001
   Thanks to Wayne Schumack, Blue Cross Blue Shield of Minnesota, USA.

======Changes thru 18.315 were in MXG 18.11 dated Jan  3, 2001======

Change 18.315  Documentation of the Internal Logic of the MXG PDB.  This
DOCPDB         was presented as a 3-hour Workshop prior to CMG 2000.
Jan  3, 2001

Change 18.314  Support for CICS TS for z/OS Version 2.1 (INCOMPAT):
EXCICEJR       As usual, while there's some interesting new metrics that
EXCICIIR       IBM added to the CICSTRAN record, they inserted those new
EXCICSJF       fields (instead of adding them at the end of the segment)
EXCICSOG       so you MUST install this change to process 2.1 records.
EXCICSOR      -Dataset CICSTRAN - New variables inserted:
IMACCICS        JVMITICN='CICS JVM*INITIALIZE*ELAPSED*COUNT'
VMAC110         JVMITITM='CICS JVM*INITIALIZE*ELAPSED*TIME'
VMXGINIT        JVMRTICN='CICS JVM*RESET*ELAPSED*COUNT'
Jan  3, 2001    JVMRTITM='CICS JVM*RESET*ELAPSED*TIME'
Jan 28, 2001    KY8CPUCN='USER-TASK*KEY 8*TCB CPU*COUNT'
                KY8CPUTM='USER-TASK*KEY 8*TCB CPU*TIME'
                KY8DISCN='USER-TASK*KEY 8*TCB DISPATCH*COUNT'
                NETID   ='NETWORK*QUALIFIED*NAME*NETWORK ID'
                OTSINDCN='OTS*INDOUBT*WAIT*COUNT'
                OTSINDTM='OTS*INDOUBT*WAIT*TIME'
                OTSTID  ='OTS*TRANSACTION*ID*(TID)'
                PORTNUM ='TCP/IP*SERVICE*PORT*NUMBER'
                RLUNAME ='NETWORK*QUALIFIED*NAME*NETWORK*NAME'
                RQPWAICN='REQUEST*PROCESSOR*WAIT*COUNT'
                RQPWAITM='REQUEST*PROCESSOR*WAIT*TIME'
                RQRWAICN='REQUEST*RECEIVER*WAIT*COUNT'
                RQRWAITM='REQUEST*RECEIVER*WAIT*TIME'
                SOCHRIN ='SOCKET*CHARACTERS*RECEIVED'
                SOCHROUT='SOCKET*CHARACTERS*SENT'
                SOCNPSCT='CREATE*NON-PERSISTENT*SOCKET*REQUEST'
                SOCPSCT ='CREATE*PERSISTENT*SOCKET*REQUEST*COUNT'
                SOEXTRCT='SOCKET*EXTRACT*REQUEST*COUNT'
                SONPSHWM='NON-PERSISTENT*SOCKET*HIGH-WATER-MARK'
                SOOIOWCN='OUTBOUND*SOCKET*I/O*WAIT*COUNT'
                SOOIOWTM='OUTBOUND*SOCKET*I/O*WAIT*TIME'
                SOPSHWM ='PERSISTENT*SOCKET*HIGH-WATER-MARK'
                SORCVCT ='SOCKET*RECEIVE*REQUEST*COUNT'
                SOSENDCT='SOCKET*SEND*REQUEST*COUNT'
                SOTOTCT ='SOCKET*TOTAL*REQUEST*COUNT'
                TCPSRVCE='TCP/IP*SERVICE*NAME'
                WBBRWCT ='WEB BROWSE*REQUEST*COUNT'
                WBEXTRCT='WEB EXTRACT*REQUEST*COUNT'
                WBREADCT='WEB READ*REQUEST*COUNT'
                WBWRITCT='WEB WRITE*REQUEST*COUNT'
              -New CICS Statistics STIDs create new MXG datasets:
                 STID Name   MXG DSN   Description
                 107  STISOG CICTCPSO  TCP/IP Sockets Global
                 108  STISOR CICTCPIP  TCP/IP Services (Sockets)
                 111  STIIIR CICTCPII  TCP/IP II Domain RequestModel
                 114  STIEJR CICTCPEJ  TCP/IP Entrprse Java ObjContainer
                 117  STISJG CICTCSJG  TCP/IP JVMPOOL Statistics
               MXG support is based on pre-GA documentation, and there
               may be differences in the GA level of the product.

Change 18.313  MXG 18.10 only.  Change 18.280 caused CICS/TS 1.3 records
VMAC110        to print error messages about EXCLUDED fields when there
Jan  2, 2001   were no excluded fields, and records were deleted:
      ***ERROR.TYPE110.CICS TS 1.3.  EXCLUDED FIELDS HAVE BEEN DETECTED.
      MXG EXPECTED MCTSSDCN=202 AND MCTSSDRL=1260.
      RECORD WAS DELETED, CICSTRAN DATA WAS LOST.
      SYSTEM=XXXX APPLID=YYYYYYYY SMFPSRVR=53 MCTSSDCN=203 MCTSSDRL=1288
               (Disregard the "MXG EXPECTED" text, which was also wrong,
               and note that the final line of the error message showing
               MCTSSDCN=203 is the correct minimum number of fields.)
               The test in line 6977 in VMAC110 was changed from 203 to
               204 when it should have remained 203.  The correction is
               to change that line back to test for LT 203:
                 6976  ELSE IF SMFPSRVR GE 53.0 THEN DO;
                 6977    IF MCTSSDCN LT 203 OR MCTSSDRL LT 1288 THEN DO;
               If optional fields exist in your type 110 record, this
               error does not occur, which is why I missed it in 18.10!
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 18.312  Variable DATETIME is kept in 169 MXG datasets, but it has
BUILD005       different meanings depending on which dataset it was in,
BUIL3005       and in the PDB.JOBS/STEPS/PRINT/SPUNJOBS datasets, it was
SPUNJOBS       not correct.  In those four datasets, while labeled as
Jan  2, 2001   "DATETIME OF SHIFT CALCULATION", its value was the time
               of the beginning of the shift, rather than the actual
               DATETIME value of the job.
                  Originally, "DATETIME" was a temporary variable that
                  was used as the input datetime value for your IMACSHFT
                  definition, to set the value of the character variable
                  SHIFT.  So that summarization with VMXGSUM could
                  exploit your shift definitions, IMACSHFT changes the
                  value returned in variable DATETIME, setting its value
                  back to the time of the start of this shift.
                  But along the way, DATETIME was accidentally kept in
                  some datasets, so now it must be corrected where it is
                  wrong, and documented where it is different.
               Now, in the PDB.JOBS/STEPS/PRINT/SPUNJOBS dataset, the
               value that is returned in variable DATETIME will be the
               original value that was used to calculate the shift:
                PDB.JOBS and PDB.SPUNJOBS:
                    MAX(READTIME,INITTIME,JINITIME,JINLTIME,JSTRTIME);
                PDB.STEPS:
                    MAX(READTIME,INITTIME);
                PDB.PRINT:
                    MAX(READTIME,PRINTIME);
               The MAX() is used since some timestamps may be missing,
               and the Max/Last datetime value is the logical time of
               the job start, step initiate, or print file print time.

               In these summary datasets that contain variable DATETIME:
                 ASUMxxxx   CICINTRV  CICS   JOBSKED  MNTHxxxx TRNDxxxx
               it is properly labeled 'START OF INTERVAL' and contains
               that correct value.  In some of those datasets. variable
               STARTIME exists and is equal to DATETIME, and where it
               exists, STARTIME is better as it is self-describing!

               In dataset EREPTIM, DATETIME='DATETIME FOR IPL RECORDS'
               and is correct, as IMACSHFT is not invoked in VMACEREP.

               In the many OPCxxxxx datasets, DATETIME='EVENT DATETIME',
               and is correct, as IMACSHFT is not used here, either.
   Thanks to Cendrine Pezier, ABS Technologies, FRANCE.

Change 18.311  Support for DB2 Space Manager 2.1 (INCOMPATIBLE) from SE
FORMATS        (Software Engineering). The "current" date/time fields at
VMACSPMG       the start of the record were removed, shifting the real
Jan  2, 2001   date/time fields to the left.  No error message occurs,
               but variable SPMGTIME is missing.  FORMATs were updated
               to print "Blank:TYPE1" instead of " :TYPE1" (cosmetic).
               And variables FARINDRF,NEARINDR,PCTACTIV and PCTDROP are
               set missing if they contain all FFx.
   Thanks to Anke Mineur, DVG, GERMANY.

Change 18.310  Documentation.  Example invocation of the ITSV macros
DOCITSV        that are needed to add a new MXG variable into the ITSV
Jan  2, 2001   PDB (in case you need something not yet in ITSV).
   Thanks to Chris Weston, SAS ITSV, USA.

Change 18.309  The WorldSecure SMTP Relay object printed UNEXPECTED OBJ
VMACNTSM       message; the NRNAMES=NRNAMES-1; statement for that object
Jan  2, 2001   should have been deleted.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 18.308  Support for APAR OW45788 for NPM corrects the lengths of
VMAC28         several LXETxxxx variables in the X.25 Session dataset
Dec 26, 2000   NPMEVX25 that were originally mis-documented by IBM.

Change 18.307  Variable MSU4HRAV was correct for a uni-processor, but
VMXGRMFI       was wrong in magnitude for multi-processors; NRCPUS(II)
Dec 26, 2000   was needed in the numerator of MSU4HRAV calculation.
               Variable CECSUSEC is now kept, and the absence of //SPIN
               DD statement no longer causes a failure.
   Thanks to Al Sherkow, I/S Management Strategies Ltd, USA.

Change 18.306  The Scheduling Environment name, SMF30PFL, and durations
BUILD005       SMF30HQT/JQT/RQT/SQT, are added to the PDB.JOBS dataset
BUIL3005       (JES2 or JES3, BUILDPDB/BUILDPD3.  Those five variables
VMAC30         will be of long term importance in job scheduling, and so
Dec 23, 2000   are now automatically in PDB.JOBS.  The change in VMAC30
               was cosmetic; SMF30PFL was hex zeros when not populated;
               now those '00'x will be translated to blanks.
   Thanks to Stephen Marksamer, The Hartford, USA.

Change 18.305  The text of Change 18.300, re DB2TCBTM, was revised and
VMACDB2        the MXG equation, changed by this change, is now:
Dec 21, 2000     DB2TCBTM=
Jan 29, 2001      SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);
               This change added support for DB2 Version 7.1 (COMPAT):
               DB2ACCT new variables:
                 QBGA2H  ='ASYNC*IXLCACHE*FOR SECC GBP'
                 QBGA2S  ='COMPLETION*CHECKS*SUSPENDED'
                 QBGA2W  ='CHANGED PAGE*WRITES TO*SEC GBP '
                 QBGAEX  ='*EXPLICIT*XI-S'
                 QBGAHS  ='ASYNCH*IXLCACHE*FOR PRI GBP'
                 QBGAGG  ='GET PAGES*FOR GBP*DEP PAGES'
                 QWACARLG='TRACE EVENT*FOR WAITS*FOR LOG WRITE*I/O'
                 QWACARNK='CHILD L-LOCKS*GLBL CONTENTION*EVENTS'
                 QWACARNM='OTHER L-LOCKS*GLBL CONTENTION*EVENTS'
                 QWACARNN='PAGESET P-LOCKS*GLBL CONTENTION*EVENTS'
                 QWACARNO='PAGE P-LOCKS*GLBL CONTENTION*EVENTS'
                 QWACARNQ='OTHER P-LOCKS*GLBL CONTENTION*EVENTS'
                 QWACAWLG='WAIT TIME*FOR LOG WRITE*I/O'
                 QWACAWTK='WAIT TIME*GLBL CONTENT*CHILD L-LOCKS'
                 QWACAWTM='WAIT TIME*GLBL CONTENT*OTHER L-LOCKS'
                 QWACAWTN='WAIT TIME*GLBL CONTENT*PAGESET P-LOCKS'
                 QWACAWTO='WAIT TIME*GLBL CONTENT*PAGE P-LOCKS'
                 QWACAWTQ='WAIT TIME*GLBL CONTENT*OTHER P-LOCKS'
                 QWACRBSV='ROLLBACK TO*SAVEPOINT*REQUESTS'
                 QWACRLSV='RELEASE*SAVEPOINT*REQUESTS'
                 QWACSVPT='SAVEPOINT*REQUESTS'
                 QWAXAWFC='WAIT TIME*FOR FORCE*AT COMMIT'
                 QWAXFCCT='WAITS FOR*FORCE*AT COMMIT'
                 QWAXIXLE='EVENTS FOR*ASYNC*IXLCACHE*IXLFCOMP'
                 QWAXIXLT='WAIT TIME*FOR IXLCACHE*IXLFCOMP'
                 QXDCLGTT='DECLARE*GLOBAL*TEMP TABLE*STMTS'
                 QXDEGDTT='PARALLEL*GROUPS*DECLARED*TEMP TABLE'
                 QXSETCPR='SET*CURRENT*PRECISION*STATEMENTS'
               DB2ACCTP new variables:
                 QPACARNK='CHILD L-LOCKS*GLBL CONTENTION*EVENTS'
                 QPACARNM='OTHER L-LOCKS*GLBL CONTENTION*EVENTS'
                 QPACARNN='PAGESET P-LOCKS*GLBL CONTENTION*EVENTS'
                 QPACARNO='PAGE P-LOCKS*GLBL CONTENTION*EVENTS'
                 QPACARNQ='OTHER P-LOCKS*GLBL CONTENTION*EVENTS'
                 QPACAWTK='WAIT TIME*GLBL CONTENT*CHILD L-LOCKS'
                 QPACAWTM='WAIT TIME*GLBL CONTENT*OTHER L-LOCKS'
                 QPACAWTN='WAIT TIME*GLBL CONTENT*PAGESET P-LOCKS'
                 QPACAWTO='WAIT TIME*GLBL CONTENT*PAGE P-LOCKS'
                 QPACAWTQ='WAIT TIME*GLBL CONTENT*OTHER P-LOCKS'
               DB2ACCTG new variables:
                 QBGA2H  ='ASYNC*IXLCACHE*FOR SECC GBP'
                 QBGA2S  ='COMPLETION*CHECKS*SUSPENDED'
                 QBGA2W  ='CHANGED PAGE*WRITES TO*SEC GBP '
                 QBGAEX  ='*EXPLICIT*XI-S'
                 QBGAGG  ='GET PAGES*FOR GBP*DEP PAGES'
                 QBGAHS  ='ASYNCH*IXLCACHE*FOR PRI GBP'
               DB2STATS new variables:
                (DB2STAT0)
                 Q9STCTRZ='DISPLAY*FUNCGION*COMMANDS'
                 Q9STCTX0='START*FUNCTION*COMMANDS'
                 Q9STCTX1='STOP*FUNCTION*COMMANDS'
                 Q9STCTX2='SET*LOG*COMMANDS'
                 Q9STCTX3='DISPLAY*LOG*COMMANDS'
                 Q9STCTX4='SET*SYSPARM*COMMANDS'
                 QDSTCIN2='CURRENT*TYPE 2*INACTIVE*THREADS'
                 QDSTMADS='MAXIMUM*ACTIVE DBAT SLOTS NOT INUSE'
                 QDSTMIN2='MAXIMUM*TYPE 2*INACTIVE*THREADS'
                 QDSTMQR2='MAXIMUM*TYPE 2*QUEUED*REQUESTS'
                 QDSTNADS='CURRENT*ACTIVE DBAT SLOTS NOT INUSE'
                 QDSTNDBA='REQUESTS*REQUIRING*DBAT'
                 QDSTNITC='CONNECTIONS*TERMINATED*MAX TYPE 1'
                 QDSTNQR2='CURRENT*TYPE 2*QUEUED*REQUESTS'
                 QDSTPOOL='REQUESTS*SATISFIED*BY POOL THREAD'
                 QDSTQIN2='QUEUED*RECEIVE*REQUESTS*FOR TYPE 2'
                 QJSTBPAG='LOG-WRITE*BUFFER*PAGE INS'
                 QJSTCIWR='LOG*CI-S*WRITTEN'
                 QJSTLOGW='LOG WRITE*I/O*REQUESTS'
                 QJSTLSUS='SUSPENDS*FOR LOG WRITE'
                 QJSTSERW='SERIAL*LOG WRITE*REQUESTS* FOR REWRITE'
                 QJSTTHRW='TIMES*LOG WRITE*THRESHOLD*WAS REACHED'
                (DB2STAT1)
                 QISEDFAL='FAIL*DUE TO*DATASPACE FULL'
                 QISEDFRE='FREE PAGES*IN DATASPACE*FREE CH'
                 QISEDPGE='PAGES*IN EDM*DATASPACE'
                 QTRACAUT='SUCCESS*AUTH CHECKS*FOR ROUTINES'
                 QTRACNAC='DB2 UNABLE*TO ADD ENTRY*TO AUTH CACHE'
                 QTRACNOT='ROUTINE*AUTH CHECKS*NON USE*AUTH CACHE'
                 QTRACOW1='DB2 OVERWROTE*AUTHID IN*AUTH CACHE'
                 QTRACOW2='DB2 OVERWROTE*ENTRY IN*AUTH CACHE'
                 QTRACPUB='SUCCESS*AUTH CHECKS*HELD BY*PUBLIC'
                 QXDCLGTT='DECLARE*GLOBAL*TEMP TABLE*STMTS'
                 QXDEGDTT='PARALLEL*GROUPS*DECLARED*TEMP TABLE'
                 QXSETCPR='SET*CURRENT*PRECISION*STATEMENTS'
               DB2STAT2 new variables:
                 QDBPPGST='PGSTEAL*ATTRIBUTE'
                 QDBPSLA ='QDBPSLA*SERVICEABILITY'
                 QDBPVDQB='POOL*VERTICAL*WRITE*THRESHOLD'
                 QDBPVPTY='VPTYPE*ATTRIBUTE'
               T102S006 new variables:
                 QW0006PG QW0006FG
               T102S016 new variables:
                 QW0016WT
               T102S017 new variables:
                 QW0017TY
               T102S022 new variables:
                 QW0022AS QW0022CC QW0022CE QW0022FG QW0022QO QW0022RS
                 QW0022CY QW0022F2 QW0022NP QW0022PA QW0022TT
               T102S022 new variables:
                 QW0023R1
              -Additional T102Snnn subtypes will be decoded upon request

               MXG support is based on pre-GA documentation, and there
               may be differences in the GA level of the product.

======Changes thru 18.304 were in MXG 18.10 dated Dec 20, 2000======

Change 18.304  First MXG 18.10 only.  Cosmetic.  Label was truncated for
ASUMCICS       variable SYSTEM and CPUTM had no label, because the equal
Dec 20, 2000   sign after CPUTM was missing.

======Changes thru 18.303 were in MXG 18.10 dated Dec 20, 2000======

Change 18.303  Cosmetic, in that the statement was never executed, but
VMXGCICI       %ELSE INTRVSEC=0; should have been %ELSE %LET INTRVSEC=0;
Dec 19, 2000
   Thanks to Russell Dewar, National Australian Bank, AUSTRALIA

Change 18.302  Support for APARs OW44845 and OW47050 adds a new report,
ANAL103        the HTTP Server Report, from SMF 103 records!
ANALRMFR       MXG parameter overrides:
Dec 19, 2000         MXG HTTP Server Summary Report
                 %ANALRMFR(REPORT=HTTP);
                     DEFAULT is to create:
                     Interval of DATE and Report is HTTPSUM.
                     To create another Interval other than Date.
                 %ANALRMFR(REPORT=HTTP,RPTOPT=HTTPSUM,
                           INTERVAL=HOUR);
                     Create MXG HTTP Server Detail Report
                 %ANALRMFR(REPORT=HTTP,RPTOPT=HTTPDTA);

               Values have not been verified, see comments within
               ANALRMFR for more detail of overrides.

               A DDNAME of PDB is now required anytime ANALRMFR is
               invoked, whether it is a TEMPORARY SAS library
                 //PDB      DD UNIT=SYSDA,SPACE=(CYL,(5,5))
               or a CATALOGED SAS library:
                //PDB       DD DSN=MXG.PDB,DISP=(,CATLG),
                //             DCB=RECFM=FS,
                //             UNIT=SYSDA,SPACE=(CYL,(5,3))

               New member ANAL103(HTTP), documentation only, how to
               create the associated Post-processor RMF reports.

Change 18.301  Validated reports with FICON data records.  REPORT=CHAN,
ANALRMFR       columns READ(MB/SEC) and WRITE(MB/SEC) values were output
Dec 19, 2000   even if they were missing.  Values were corrected to
               match IBM RMF report. APAR OW42945 updated the Partition
               Data Report to now include two TOTAL lines, one for all
               CP partitions and one for all ICF partitions.
   Thanks to Trevor Holland IBM/GSA Australia

Change 18.300  MXG 17.17 thru MXG 18.09 only.  Variable DB2TCBTM in data
VMACDB2        set DB2ACCT included CPU time in Stored Procedure Address
Dec 07, 2000   Spaces twice.  Both variables QWACSPCP and QWACSPTT were
Dec 18, 2000   added by MXG Change 17.382 to the DB2TCBTM formula,
Dec 21, 2000      DB2TCBTM=SUM((QWACEJST-QWACBJST),QWACSPCP,QWACSPTT);
               because I read "not recorded" in IBM DB2 V6.1 DSNWMSGS:

      QWACSPCP ACCUMULATED TCB TIME SPENT PROCESSING SQL CALL STATEMENTS
      QWACSPCP  IN THE DB2 STORED PROCEDURES ADDRESS SPACE OR A WLM
      QWACSPCP  ADDRESS SPACE.  THIS TIME IS CALCULATED ONLY IF
      QWACSPCP  ACCOUNTING CLASS 1 IS ACTIVE.
      QWACSPCP  FOR A THREAD THAT USES RRSAF TO CONNECT TO DB2 AND
      QWACSPCP  IS SWITCHED AMONG TASKS, THIS VALUE IS 0.
      QWACSPTT ACCUMULATED TCB TIME SPENT IN DB2 PROCESSING SQL
      QWACSPTT  STATEMENTS ISSUED BY STORED PROCEDURES.  THIS IS   <===
      QWACSPTT  THE TIME NOT RECORDED IN QWACSPCP.  THIS TIME IS
      QWACSPTT  CALCULATED ONLY IF ACCOUNTING CLASS 2 IS ACTIVE.

               and so I concluded that both SPCP and SPTT must be added,
               and made Change 17.282 in January, 2000.  But when data
               had large and nearly equal values in both SPCP and SPTT,
               we queried IBM DB2 support, who investigated and replied
               that internal documentation showed that SPTT was included
               in SPCP, and DSNWMSGS was wrong and would be corrected.

               IBM DB2 support also confirmed that the additional CPU
               time field for the execution of triggers under enclaves,
               variable QWACTRTE, is also not included in EJST-BJST and
               it must also be added to get the Total DB2 TCB CPU time
               in DB2ACCT.  So the final (Dec 21) equation is:
                 DB2TCBTM=
                  SUM((QWACEJST-QWACBJST),QWACSPCP,QWACTRTE);

               The SPAS accounting error surfaced when one user saw the
               daily DB2 CPU time for his AUTHID jump from 20.17 seconds
               when only EJST-BJST was charged, to 137.57 seconds when
               SPCP=58.76 and SPTT = 58.60 were both added by MXG; the
               user's bill increased by a factor of six!
                  His real cost without the double accounting was 78.93,
                  so his bill should increase by a factor of only four.
               For this one AUTHID, SPAS CPU time was significant, and
               because the SPTT time recorded was also large, the MXG
               double accounting was significant.  But that may not be
               the general case; overall, SPTT seems to be quite small,
               even when SPCP is large.  Looking at the daily totals
               from two sites shows that including SPCP can be
               significant, but the CPU time in SPTT was insignificant:

                                   One site          Other site
                     EJST-BJST      166,612         1,095,220.92
                     QWACSPCP       205,839               389.34
                     QWACTRTE             0                 0
                     DB2TCBTM       372,451         1,095,610.26
                     QWACSPTT         2,902               388.00
               You should run a   PROC MEANS SUM DATA=PDB.DB2ACCT;
               to determine the impact of including SPTT at your site.

               Dec 21 update:  Today I looked at the DSNDQWAC DSECT, and
               it was right all along, as it documents that:
      QWACSPTT THE ACCUMULATED TCB TIME CONSUMED IN DB2 PROCESSING SQL
               STATEMENTS ISSUED BY STORED PROCEDURE(S)
               AND INCLUDED IN QWACSPCP                <<=====  !!!!!
               It's all about knowing which documentation to believe!

   Thank to Steve Colio, CIGNA, USA.
   Thanks to Jane S. Huang, CIGNA, USA
   Thanks to Curt Cotner, IBM, USA.

Change 18.299  Support for SMF 120 record for Websphere Application
EXT120CA       Server Enterprise Edition OS/390 Component Broker
EXT120CC       Version 3.02, added by APAR OW44456.
EXT120CI       There are four subtypes, described by IBM as:
EXT120CM
EXT120SA       Subtype=1: Server Activity Record:
EXT120SC       Created for each activity that is running inside a
EXT120SI       Websphere Application Server. This record can be used to
FORMATS        perform basic charge back accounting as well as profiling
IMAC120        of customer written applications to determine in detail
TYPE120        what is happening inside the Websphere Application
VMAC120        Server. MXG dataset TY120SA
VMXGINIT
Dec 16, 2000   Subtype=2: Container Activity Record
               Created for each activity that runs inside a container
               located in a Websphere Application Server. This record
               can be used to perform basic charge back accounting,
               application profiling, problem determination, and
               capacity planning. MXG Datasets TYP120CA/TYP120CC and
               TYPE102CM.

               Subtype=3: Server Interval Record
               Created for each server instance that has interval
               recording active during the interval. The purpose of this
               record subtype is to record activity that is running
               inside a Websphere Application Server.  This record is
               produced at regular intervals and is an aggregation of
               the work that has run inside the server instance during
               the interval.  MXG Dataset TYP120SI.

               Subtype=4: Container Interval Record
               Created for each active container located in a Websphere
               Application Server. This interval record provides a
               snapshot view of the activity running inside the
               container. This record can be used to perform application
               profiling, problem determination, and capacity planning.
               MXG Dataset TYP120CI.

               And IBM APAR OW44456 requires the following doc changes:
                  Periodically, IBM refreshes documentation on our Web
                  site, so the changes might have been made before you
                  read this text.  To access the latest on-line
                  documentation, go to the product library page at:
                www.ibm.com/software/webservers/appserv/library_390.html
                  And support provides a new edition:
                  Document Name: WebSphere Application Server Enterprise
                  Edition for OS/390 Operations and Administration
                  Document Number: GA22-7328-01
                  The new edition contains a chapter (Chapter 9) that
                  explains how to set up and use the new SMF recording
                  support and an appendix (Appendix A) that describes
                  the new SMF record type 120.
                  To get the new edition, go to our Web site at:
                www.ibm.com/software/webservers/appserv/library_390.html
                  IBM support also requires changes to existing doc:
                  Document Name: WebSphere Application Server Enterprise
                  Edition for OS/390 Component Broker Planning and
                  Installation Guide
                  Document Number: GA22-7325-00
                  See revisions in the APAR OW44456 text.
               This support has not been tested with 120 SMF records.

Change 18.298  Support for the z/OS License Manager's new LPAR capacity
VMXGRMFI       measurement: "Four-Hour Running Average MSU", with MSU in
TRNDRMFI       "Million Service Units per Hour", based on the raw SU_SEC
Dec 12, 2000   of the physical platform.  New MXG variable MSU4HRAV is
Dec 18, 2000   now created in the PDB.RMFINTRV dataset, and it is that
Feb 10, 2001   value that z/OS will pass to the License Manager, which
               is compared with the licensed MSU for that LPAR (which
               you chose in your software License Certificate for that
               LPAR).  WLM measures the MSU consumed by the LPAR every
               five (may be changed) minutes, and if the licensed MSU is
               exceeded, WLM will cap the LPAR to that licensed MSU for
               the next interval.

               So this new License Manager can save you lots on software
               license costs, if you don't need an entire machine for an
               LPAR; you can even license only part of an engine.

               BUT to save that money, you will need to know your peak
               MSU4HRAV for the month, in advance, so you can purchase a
               correct size license, and you will need to track when
               that peak MSU4HRAV consumption occurs, perhaps so you can
               time-shift work to reduce that peak MSU consumed.  Since
               each month's charge is likely to be based on the maximum
               peak running average during each calendar month, tracking
               closely at near-month-end may be needed!

               When WLM capping is invoked (because the LPAR exceeded
               its licensed MSU4HRAV), response times may be elongated,
               and it remains to be seen what feedback will be available
               to alert you that dynamic capping was applied, but with
               this new variable now, you can at least estimate the size
               of each of your Systems to see how you will be able to
               take advantage of License Manager product pricing.

               The MSU4HRAV variable is created in PDB.RMFINTRV when
               you run BUILDPDB/BUILDPD3, or if you run RMFINTRV or
               invoke %VMXGRMFI in your own program.  The algorithm
               also creates the new SPIN.SPINRMFI dataset, which holds
               the last four hours of the previous day, and is read by
               the next day's BUILDPDB so that continuous four-hour
               means are calculated.  Variable CECSUSEC, the SU_SEC of
               the physical CEC, is also created in PDB.RMFINTRV.

               New variable MSU4HRMX in TRNDRMFI is the maximum value
               of the MSU4HRAV during each trended interval.

               You can add the new variables MSU4HRAV and CECSUSEC to
               existing PDB.RMFINTRV datasets (without re-reading the
               SMF data), by using the PDB=ADDMSU option in %VMXGRMFI to
               read each existing PDB.RMFINTRV dataset and write back a
               replacement, enhanced PDB.RMFINTRV dataset, as shown:
                       //PDB  DD DSN=YOUR.EXISTING.PDB,DISP=OLD
                       //SYSIN DD *
                         %VMXGRMFI(PDB=ADDMSU);
                  If you add a //SPIN DD to that example, and start your
                  re-creation from the oldest to the newest, MSU4HRAV
                  will exist in all observations (except for the first
                  four hours of the oldest PDB):
                       //WEEKOLD  EXEC MXGSAS
                       //PDB  DD DSN=YOUR.WEEKOLD.PDB,DISP=OLD
                       //SPIN DD DSN=YOUR.SPIN,DISP=OLD
                       //SYSIN DD *
                         %VMXGRMFI(PDB=ADDMSU);
                         ... one step per week ...
                       //WEEKNEW  EXEC MXGSAS
                       //PDB  DD DSN=YOUR.WEEKNEW.PDB,DISP=OLD
                       //SPIN DD DSN=YOUR.SPIN,DISP=OLD
                       //SYSIN DD *
                         %VMXGRMFI(PDB=ADDMSU);
                  If you use the first example, without SPIN, the first
                  four hour's observations in each output PDB.RMFINTRV
                  dataset will have missing value for the new variables.


               Definitions and description of the algorithm:

               "MSU" is Millions of Service Units per Hour, and it is
               calculated from the raw (un-weighted) Service Unit Per
               Second value (MXG's SU_SEC variable from TYPE72).  The
               equation to calculate the hourly MSU capacity is:

                 MSU= 3600*SU_SEC*NRCPUS/1000000 =  336 MSU (per hr)

                  (e.g.: 10 engine, SU_SEC=9334.8828, a z900 2064-110)

                - But SU_SEC value in PDB.RMFINTRV and TYPE72 data is an
                  LPAR value, and is based on the number of CPU engines
                  that you gave to that LPAR for this system; increasing
                  the number of engines decreases the SU_SEC value, due
                  to the Multi-Processor effect that causes the recorded
                  CPU time to increase with the number of engines:
                    Spin loops for access to serialized storage is seen
                    as CPU time, and the recorded CPU time increases as
                    the number of engines increases, so to get constant
                    Service Units, we must multiply by a smaller factor.
                     An example of the 9021-711 family's MP Factors
                     CPUs    1   2   3   4   5   6   7   8   9  10
                     Pct:  100  95  92  88  85  81  79  77  75  72
                  So instead of using the SU_SEC value for each LPAR,
                  which varies with the number of engines in each LPAR,
                  the MSU capacity measurement in z/OS is based on the
                  new CECSUSEC variable, which is the SU_SEC for all
                  engines, the "SU_SEC" of the physical "box" or "CEC"
                       CEC, was Central Electronics Complex,
                       CPC, now Central Processing Complex,
                  and CECSUSEC is constant from LPAR to LPAR in a box.

               CECSUSEC did not exist in the RMF records, and it has now
               been added in z/OS as SMF70CPA, but MXG creates it now so
               we can calculate MSU capacity even before you're at z/OS.

               a. The original (18.11) algorithm to calculate CECSUSEC
                  and MSU from pre-z/OS records (replaced, below):

                  In OS/390 RMF TYPE72 records, we only have the SU_SEC
                  of this LPAR, but we could calculate the CECSUSEC from
                  the LPAR SU_SEC and and the "table of MP factors",
                  above, given the engines in the LPAR and in the box:

                    CECSUSEC=SU_SEC*MP(PARTNCPU)/MP(NRCPUS);

                  where
                     MP(n) is the MP factor for n engines, above, and
                     PARTNCPU=engines in the physical CEC, and
                     NRCPUS  =engines in this LPAR.

                     A numerical example:
                       An LPAR with an SU_SEC = 1000
                       with NRCPU = 2 (2 engines for this LPAR), and
                       on a 6-way CEC (PARTNCPU=6) would have a
                          CECSUSEC = 1000 *(81)/(95) =  CECSUSEC = 852
                       At 100% busy that 2-CPU LPAR has MSU capacity of:
                        MSU = 3600sec*852SU_sec*2engines/1000000=6.1 MSU

               b. The present (18.18) algorithm to get IBM MSU capacity
                  (pre-z/OS) using table lookup of IBM published values:

                  The original code worked fine for that one set of MP
                  factors, but the factors vary with CPU families, and
                  IBM does not publish a table of MP factors;  instead
                  IBM publishs the MSU capacity of each CPU, and with
                  the help of Alan Sherkow, the new $MG070CP format is
                  created as a look-up table that returns the capacity
                  in MSU and the CECSUSEC, given the CPUTYPE, CPUVERSN,
                  and (for 2064's) the CPCMODEL.

                  Alan also noted that the MSU capacity calculated from
                  CECSUSEC does not exactly match IBM's MSU table value,
                  even though we thought it should; differences of up to
                  10% were observed on some particular machines.

               c. When you're running under z/OS with License Manager,
                  the needed fields are added by IBM to the type 70 RMF
                  record and are kept in PDB.RMFINTRV dataset:
                 MXG Variable   z/OS Variable   Description
                  CECSUSEC        SMF70CPA        SU_SEC of n-way CPC
                  MSU4HRAV        SMF70LAC        4-hour Average MSU
                  MSUINTRV          n/a           Interval MSU count
                    temp          SMF70WLA        Defined MSU Capacity

               While IBM will provide the SMF70LAC field in z/OS, MXG
               now calculates MSU4HRAV from RMF Interval records, going
               back four hours, and uses the actual interval durations
               so it supports different interval sizes.  The last four
               hours of each system is written out to SPIN.SPINRMFI so
               they can be re-introduced tomorrow so that the four-hour
               is continuous in RMFINTRV.  (If you're using ADDMSU with
               a large PDB.RMFINTRV, default array sizes of 9999 permit
               three month's worth of 15 minute intervals.)

               This is new territory, and we'll know a lot more about
               MSU4HRAV when the License Manager product is released,
               but at least now you can begin to measure your LPARs in
               these IBM units that will certainly be important in the
               future of capacity measurement.

               Please do not confuse the License Manager measurements
               with Usage Based Pricing, because they are not related.
               Under the License Manager, it will be the size of the
               LPAR that you define that sets the price you pay for
               Software that runs in that LPAR, and it is the total
               work in that LPAR (and not the usage of any software
               product) that is measured and compared with the LPARs
               defined capacity in MSU.  There is no measurement of
               product's software usage under License Manager, and it
               is all work in the LPAR that will be capped if the
               MSU4HRAV/SMF70LAC exceeds the SMF70WLA capacity.

Change 18.297  Cosmetic.  The test IF NUMTRANS GT 0 for the calculation
ASUMCICX       of SQRTARG is redundant so it was removed.
Dec  8, 2000
   Thanks to Ian Mackay, Royal Bank of Scotland, SCOTLAND.

Change 18.296  Variable SYSTEM and CPUTM are kept/summed respectively
ASUMCICS       from input CICSTRAN/MONITASK data into the PDB.CICS
Dec  8, 2000   summary dataset.  CPUTM=TASCPUTM+CPURLSTM in CICSTRAN.
   Thanks to Aubrey Tang, Westpac Banking Corporation, AUSTRALIA.

Change 18.295  Support for APAR OWxxxxx which adds a flag bit to type 79
VMAC79         subtype 2.
Dec  8, 2000

Change 18.294  QBGLGG now decoded and kept, although the counters in the
VMACDB2        QBGL section are suspect and under investigation.
Dec  7, 2000
   Thanks to Don Deese, Computer Management Sciences, USA.

Change 18.293  SPINCNT=SPINCNT+1; changed to SPINCNT=SUM(SPINCNT,1); so
IMACUOW        that SPINCNT would actually be retained and incremented
Dec  7, 2000   and the SPIN library actually used.

Change 18.292  Support for MQ Series V5.2 SMF 115/116.
EXTY1152      -INCOMPATIBLE because subtype is now a two-byte binary at
EXTY1161       @19, having been corrected by IBM from the non-standard
EXTY116Q       one-byte @19 (and that VMACSMF had catered for, and now
FORMATS        had to be revised to cover both old and new 115/116 SMF).
VMAC115       -Reading new records with old MXG versions will create
VMAC116        zero observations from the new records.
VMACSMF       -Type 115 Subtype 1, dataset MQMLOG has 7 new variables:
VMXGINIT         QJSTBPAG QJSTCIWR QJSTLLCP QJSTLOGW QJSTLSUS QJSTSERW
Dec  8, 2000     QJSTTHRW
Dec 18, 2000  -Type 115 Subtype 2, new Q5ST DB2 manager statistics adds
               70 new variables to existing dataset MQMMSGDM:
                ABNDCNT  ACTTASK  CONNCNT  DEADCNT  DELECNT  DELESCUW
                DELESMXW DELETCUW DELETMXW DHIGMAX  DISCCNT  LISTCNT
                LISTSCUW LISTSMXW LISTTCUW LISTTMXW NUMTASK  READCNT
                READSCUW READSMXW READTCUW READTMXW REQUCNT  SCSBFTS
                SCSDEL   SCSDSCUW SCSDSMXW SCSDTCUW SCSDTMXW SCSINS
                SCSISCUW SCSISMXW SCSITCUW SCSITMXW SCSMAXR  SCSSEL
                SCSSSCUW SCSSSMXW SCSSTCUW SCSSTMXW SCSUPD   SCSUSCUW
                SCSUSMXW SCSUTCUW SCSUTMXW SSKDEL   SSKDSCUW SSKDSMXW
                SSKDTCUW SSKDTMXW SSKINS   SSKISCUW SSKISMXW SSKITCUW
                SSKITMXW SSKSEL   SSKSSCUW SSKSSMXW SSKSTCUW SSKSTMXW
                UPDTCNT  UPDTSCUW UPDTSMXW UPDTTCUW UPDTTMXW WRITCNT
                WRITSCUW WRITSMXW WRITTCUW WRITTMXW
              -Type 115 Subtype 2, new QEST Coupling Facility statistics
               segment, MXG creates new MQMCFMGR dataset, one obs for
               each structure (if QESTSTR structure name is non-blank:
               IBM writes an array of 64 possible structures but MXG
               outputs only the entries with data).  MXG also calculates
               the average duration of IXLLSTE and IXLLSTM calls in new
               new variables QESTAVGE and QESTAVBM.
                  Updates to elements in the CF can be made one at a
                  time with IXLLSTE, or requests to update multiple
                  elements, a group of changes that have to be made
                  together, are done with IXLLSTM.
               The other IBM variables created in MQMCFMGR dataset:
                QESTCMEC QESTCSEC QESTMLUS QESTMNUS QESTMSTC QESTRMEC
                QESTRSEC QESTSFUL QESTSSTC QESTSTR  QESTSTRN
              -Type 116: FORMAT MG116TY updated for '7:RRS BATCH' type
               of attachment type.
              -Type 116 subtype 0 creates old MQMACCT Message Manager
               accounting; this was the only data set created from SMF
               116 record prior to Version 5.2.
              -Type 116 subtype 1 creates new MQMACCTQ Queue Level
               Accounting dataset with WTIDxxxx and WTASxxxx variables.
               This is the important, task-level, dataset, with elapsed
               and CPU times per verb for commit and back out requests,
               and has task identification, including Job, User ID,
               Transaction Name if applicable, and Channel Name (TCP/IP
               address or APPC LU).
              -Type 116 subtype 1 or subtype 2 creates new MQMQUEUE
               Queue Detail with WTIDxxxx and WQxxxx variables.  This
               data set has an observation for each QUEUE used by the
               task, including number/elapsed/CPU times for MQOPEN,
               MQCLOSE,MQPUT,MQPUT1,MQGET,MQINP and MQSET calls, and
               the WTIDxxxx task identifiers.

Change 18.292  Cosmetic.  Comment corrected and labels for Mount Wait
ASUMTMNT       bucket variables MNTBKTn changed from 'PCT JOBS' to
Dec  6, 2000   the more accurate 'PCT MOUNTS*MOUNT WAIT*LESS THAN....'.
   Thanks to Chuck Hopf, MBNA, USA.

Change 18.291  Cosmetic.  Labels added for DOMTRESP/DOMTWAIT/DOMTRTYP/
VMAC103        DOMTRNUM variables in VMAC108, and dataset labels in the
VMAC108        VMAC103 are now "HTTP Web Sphere Server" instead of the
Dec  6, 2000   Lotus Domino no-longer-used name.
   Thanks to Bruce Widlund, Merrill Consultants, USA.

Change 18.290  TMON for MVS 2.0 NQ records were not correct; Landmark
VMACTMV2       inserted data between 1.3 and 2.0, but no one noticed!
Dec  5, 2000   Both record formats are now supported, and new variables
               are now created in dataset TMONNQ.
   Thanks to Lindsay Robertson, GMAC Insurance, USA.

Change 18.289  Using IMACJBCK exit for DB2ACCT selection saves CPU time!
IMACJBCK       The IMACJBCK exit (or MACJBCK= macro) is invoked in every
VMACDB2H       SMF record that contains JOB name.  For the DB2 SMF 101
Dec  5, 2000   Account records, using it instead of the EXDB2ACC/ACB/ACP
               exit member to delete unwanted records can save lots of
               CPU time, because it is invoked earlier in the processing
               code, after the QWHS (Standard) and QWHC (Correlation)
               Headers have been input, and before INPUTing all of the
               other variables in all of the segments in the rest of the
               accounting record, and then invoking the EXDB2ACx exit.

               These QWHSxxxx and QWHCxxxx variables exist when IMACJBCK
               exit is taken, and can be used to delete SMF 101 records
               early, fully decoding only the selected records and then
               taking EXDB2ACx exit before output into DB2ACCT/ACCTB/P:
                  SMFTIME ='TIME WHEN*SMF RECORD*WAS WRITTEN'
                  QWHSSTCK='STORE CLOCK*VALUE FOR*HEADER'
                  QWHSSSID='SUBSYSTEM NAME'
                  QWHCAID ='AUTHORIZATION ID '
                  QWHCCV  ='CORRELATION ID '
                  QWHCCN  ='CONNECTION NAME '
                  QWHCPLAN='PLAN NAME '
                  QWHCOPID='ORIGINAL OPERATOR ID'
                  QWHSRELN='RELEASE INDICATOR'
                  JOB     ='JOB NAME*OR*TSO USER'
                  QWHSLUNM='LUNAME'
                  NETSNAME='ORIGINATING*SYSTEM*NET-NAME'
                  QWHCEUTX='END USERS*TRANSACTION*NAME'
                  QWHCEUID='END USERS*USERID*AT WORKSTATION'
                  QWHCEUWN='END USERS*WORKSTATION*NAME'
                  QWHCATYP='CONNECTING*SYSTEM TYPE*CODE'
                     Numeric values and their meaning:
                      0='0:UTILITY'
                      1='1:TSO'
                      2='2:DB2 CALL ATTACH'
                      3='3:DL/I BATCH'
                      4='4:CICS ATTACH'
                      5='5:IMS ATTACH BMP'
                      6='6:IMS ATTACH MPP'
                      7='7:DISTRIBUTED UOW'
                      8='8:REMOTE UOW'
                      9='9:IMS CONTROL REGION'
                     0AX='AX:IMS TRANSACTION BMP'
                     0BX='BX:UTILITY JOBS'
               In your logic in IMACJBCK, you must DELETE unwanted SMF
               records, so you must use NOT logic to select wanted:
                //SYSIN DD *
                %LET MACJBCK= %QUOTE(
                 IF ID=101 THEN DO;
                   IF QWHSSIID NE 'DB2SYS1' THEN DELETE;
                   IF NOT (JOB='MINE' AND QWHCPLAN='PLAN1') THEN DELETE;
                 END;
                );
                %ANALDB2R(PDB=SMF);

               This change is minor: it moved the %INCLUDE of IMACJBCK
               in member VMACDB2H to the end of the Correlation Header,
               so all QWHCxxxx variables exist when at IMACJBCK.  Added
               are QWHCATYP/NETSNAME and new-in-6.1 QWHCEUID/EUTX/EUWN.
               (There was no change to IMACJBCK; it just listed here so
               you'll find this change when searching for that string!).

               Savings:  Reading 4.3GB of SMF 101 records to create all
               these obs on an SU_SEC=2700 engine took 1426 CPU seconds.
                  Data Set   Observations    MegaBytes
                  DB2ACCT     1,842,166       1500
                  DB2ACCTG    1,289,146        800
                  DB2ACCTB    3,915,350       1430
                  DB2ACCTP    2,700,571        920
                   Total Output               4650

               Deleting all obs in the _EDB2ACx exit took 1257 secs. The
               delta of 1426-1257 = 169 seconds is the CPU cost for SAS
               write out the 4.5 GB of output, about 27 MB/CPU second.

               Using MACJBCK to delete all obs took 318 CPU seconds, so
               the delta of 1257-318 = 939 seconds (deleting in _E exit)
               is the CPU cost for SAS to execute the INPUT statements
               for the 4.3 GB of SMF or about 4.6MB/CPU second.

               The 318 seconds is the CPU cost just to read in all 4.3GB
               of SMF, because the Headers are actually at the physical
               end of each SMF record, so SAS reads SMF records at about
               13.8 MB/CPU second.

                 Case Study:
                             Read 4.3GB  Execute   Write 4.5GB
                             SMF Data    Input     SAS Output  Total

               Output all:   318 secs    939 secs  169 secs    1426 secs
               Output half:
                _EDB1ACx     318         939        85         1342
                IMACJBCK     318         470        85          873

               Using IMACJBCK to select half of the obs saves 470 secs.

               With this much possible saving, we will enhance ANALDB2R
               in the near future so that any selection we can do in the
               IMACJBCK exit will be done there if you use PDB=SMF for
               your DB2PM-like reports, but you can exploit this exit
               right now using the above example.
   Thanks to Ron Alterman, Charles Schwab & Co., Inc., USA.

Change 18.288  The JCL in the TESTOTHR step of JCLTEST8 did not have the
JCLTEST8       //TMDCIN DD DUMMY and //TMDVTIN // DD DUMMY statements.
Dec  4, 2000   Member TESTOTHR had been updated to test the new support
               and JCLTEST6 was updated,  but JCLTEST8 was overlooked.
   Thanks to Peter Herden, TUI (Touristik Union) Hannover, GERMANY

Change 18.287  Assembly error IEC293I FIRST DCB IN CLOSE NOT ACCESSIBLE
ASMIMSL6       because   CLOSE (R3)  must be  CLOSE ((R3)) in line 1333.
Dec  1, 2000   Many MXG users have seen this error when they assembled
               that program, but being ASM experts, they fixed it and
               never told me about it!  Since R3 is an address in reg 3
               the parens tell the ASM that R3 is not a ddname!
   Thanks to Alan Green, Zurich Financial Services, ENGLAND.
   Thanks to Trevor Ede, EDS, NEW ZEALAND.

Change 18.286  The four new duration variables for initiator delays:
VMAC30           SMF30JQT /*JOB*PREPARATION*TIME*/
Nov 30, 2000     SMF30RQT /*INELIGIBLE*FOR*EXECUTION*TIME*/
                 SMF30HQT /*JOB*HOLD*TIME*/
                 SMF30SQT /*ELIGIBLE*FOR*EXECUTION*TIME*/
               were multiplied by 1.024, but should have been multiplied
               by 1024, as they are in 1024-microsecond units.
               May 22, 2004:  APAR OA07041 corrected SMF30SQT.
   Thanks to Steve Simon, ALLTEL, USA.

Change 18.285  Cosmetic.  Label for QWACARNG was corrected to be
VMACDB2        QWACARNG='WAITS FOR*SEND MSGS*DATA SHARING'.
Nov 30, 2000
   Thanks to Allan J. Winston, MBNA, USA.

Change 18.284  JES 3 only.  The WEEKBLD/WEEKBLDT/MONTHBLD members all
WEEKBL3        referenced dataset NJEPURGE which is JES2 only.  These
WEEKBL3T       three members can be used for JES3 sites; the only change
MONTHBL3       is that DJEPURGE instead of NJEPURGE is processed, and
Nov 29, 2000   the TYPE25 (also JES3-only) processing is added.
Nov 29, 2000
   Thanks to Robert Sample, Atlanta Journal-Constitution, USA.

Change 18.283  IMS 6.1 only; variable MSGSZOUT is a constant and wrong
TYPEIMSB       value in IMSTRAN dataset; the PUT  "SUBQ6 $EBCDIC12." was
Nov 29, 2000   corrected to "SUBQ6 $EBCDIC4." to prevent the overlay.
               My apologies to Pete Gain who's correct fix I typoed!
   Thanks to Alan Green, Zurich Financial Services, ENGLAND.

Change 18.282  Invalid length ILKA record subtype 20 is protected now,
VMACILKA       but the record is still invalid.  The length of data in
Nov 29, 2000   SMFACDLN is 11,640, but the record is only 4092 bytes,
               and the number of subpools expected is 256, but there is
               room only for the first 98 subpool segments.  This change
               detects the bad record, prints a message on the log, and
               outputs only the found subpool segments, while awaiting
               a correction from the vendor.  Only ILKAST20 dataset is
               affected by this error.
   Thanks to Frank d'Hoine, Nationale Bank van Belgie, BELGIUM

Change 18.281  Three logic errors in VMXGUOW were corrected:
VMXGUOW       -IRESPTM was being summed from all MRO transactions, due
Nov 24, 2000   to the mis-location of the code that sets IRESPTM to the
               single internal response time of the "TOR" transaction
               (i.e.: now, IRESPTM is the response of the transaction
               used for TRANNAME and TERMID).
              -Counters were being summed as:  HOLDX=HOLDX+X; but that
               results in a missing value in the PDB.ASUMUOW output data
               set if any counter was missing for any observation in the
               input.  Instead, the more robust   HOLDX=SUM(HOLDX,X);
               statement is used in VMXGUOW, so that only if all values
               of a variable is missing in all input observations will
               that variable have missing value in PDB.ASUMUOW output.
              -The INCODE= segments (intended to allow tailoring things
               like normalize CPU times across different processors, or
               to add new variables) was mis-located after the code that
               added the new variables, so new variables were missing.
   Thanks to Chuck Hopf, MBNA, USA.

Change 18.280  Cosmetic, only affected MXG processing under ASCII SAS.
VMAC110        The variables RTYPE and RRTYPE should have been INPUT as
Nov 24, 2000   $EBCDIC1. instead of $CHAR1., so that they were converted
               into ASCII characters for printing and MG110RT format.
               See Change 18.313.

Change 18.279  NPM Type 28 Subtype 'DC'x (VTAM CSM Buffer Pool data) had
VMAC28         INPUT STATEMENT EXCEEDED INPUT RECORD error because I
Nov 24, 2000   mis-read the documentation.  The four fields input at the
Nov 27, 2000   end of the sub-subtype VCSVDTYP=1 record (VCSMAXFS thru
               VCSCUREC) exist in the VCSDTYPE=2 record, where they are
               properly input.  The four lines in the VCSVDTYP=1 INPUT
               statement were replaced by  +4  (to skip over the four
               undocumented bytes at the end of the 176 byte segment).
               Nov 27: Variable NRTDTYPE now kept with other NRT vars.
   Thanks to Bruno Peeters, Dexia Bank Belgium, BELGIUM.

Change 18.278 -Summarization of CICS Statistics into CICINTRV for "EOD"
ADOCCICI       (sum all "INT" and "End-of-Day" shutdown records into one
VMXGCICI       total observation for each execution of a CICS region)
Nov 23, 2000   did not work properly: INTERVAL=EOD was never defined in
               VMXGSUM/VMXGDUR, causing missing COLLTIME and STARTIME,
               and multiple executions were lumped together.  Since EOD
               is defined only for CICS "EOD" in CICINTRV (set by adding
                MACRO _CICINTV  EOD %  in your IMACKEEP or IMACCICS),
               VMXGCICI was revised if EOD was requested and now passes
               INTERVAL=MYTIME, and MYTIME= DATETIME=COLLTIME;, values.
               The end result is that you get one observation for each