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

MXG NEWSLETTER THIRTY-SEVEN

****************NEWSLETTER THIRTY-SEVEN*********************************
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
                                                                        
             MXG NEWSLETTER NUMBER THIRTY-SEVEN, October 20, 2000       
                                                                        
Technical Newsletter for Users of MXG :  Merrill's Expanded Guide to CPE
                                                                        
                         TABLE OF CONTENTS                          Page
                                                                        
I.   MXG Software Version 18.08.                                        
II.   MXG Technical Notes                                               
III.  MVS Technical Notes                                               
                                                                        
IV.   DB2 Technical Notes.                                              
V.    IMS Technical Notes.                                              
VI.   SAS Technical Notes.                                              
VII.  CICS Technical Notes.                                             
VIII. Windows NT Technical Notes.                                       
IX.   Incompatibilities and Installation of MXG 18.08.                  
                                                                        
X.    Online Documentation of MXG Software.                             
                                                                        
XI. Changes Log                                                         
     Alphabetical list of important changes                             
     Highlights of Changes 18.001 thru 18.250 - See Member CHANGES.     
                                                                        
      COPYRIGHT (C) 2000 MERRILL CONSULTANTS DALLAS TEXAS USA           
                                                                        
I.   MXG Software Version 18.08 is now available, upon request.         
                                                                        
 1. Major enhancements added in MXG 18.08:                              
                                                                        
II.  MXG Technical Notes                                                
                                                                        
 1.   Converting from JES3 to JES2 (or vice versa) could cause problems 
      in your weekly/monthly jobs or in your regular reporting:         
        -JES2's BUILDPDB creates the PDB.NJEPURGE dataset, which is not 
         created by JES3, while JES3's BUILDPD3 creates the PDB.TYPE25, 
         PDB.DJEPURGE, and PDB.SPIN25 datasets, which are not created by
         JES2.  If those non-created datasets are referenced in reports 
         or WEEK/MONTH build jobs, you must revise those programs when  
         you change JESes.                                              
        -BUILDPDB for JES2 creates variables in PDB.JOBS, PDB.SPIN26,   
         and PDB.SPUNJOBS, from JES2 6 and 26 records, that do not      
         exist in those datasets built by BUILPD3 for JES3 records:     
            ACTBYTES ACTPAGES DEVNAME  DUPJBDLY INNODE   INREASON       
            INROUTE  JOBMODE0 JOBMODE1 OFFLPURG PRNTCOPY PRPRTY         
            PRROUTE  PUROUTE  SETUP    SMF26WCL SMF26WIN SMF26WJC       
            SMF26WOC SMF26WSE SUBMUSER SYSTRANS                         
                                                                        
III. MVS Technical Notes.                                               
                                                                        
26.   APAR OW46470 corrects wrong value in TYPE1415 management class and
      data class variables MGMTCLAS and DATACLAS. 19Oct2000.            
      See also OW46606. 03Nov2000.                                      
                                                                        
25.   APAR OW46336 corrects wrong value in TYPE26J2 variable JOBMODE1,  
      set from IBM bit SMF26SJB to indicate "Job ran because of $S J'.  
      IBM never set the bit, so JOBMODE1 was always blank in MXG. 19Oct.
                                                                        
24.   APAR OW43954 corrects a problem with high disconnect time in RMF  
      variable R723CIDT in dataset TYPE72GO, that also affected measures
      of velocity and delays.                                           
                                                                        
23.   APAR OW44517 corrects a problem with high uncaptured CPU time,    
      with capture ratio dropped by 10% (i.e., CPU time was lost in both
      SMF type 30 and RMF type 72 records).  This APAR applies to OS/390
      R2.5 thru R2.10.                                                  
                                                                        
22.   APAR OW45020 recommends you should now specify NOTYPE(69), even   
      though there are no type 69 (VSAM Data Space) records.  An LSPACE 
      macro is issued if TYPE(69) is specified explicitly or implicitly,
      and that LSPACE can cause an IPL or long delay as discussed in the
      APAR text.  Sep 7, 2000.                                          
                                                                        
21.   BMC's CMF type 71 SMF record had incorrect values for CSFRxxxx    
      fields.  Relevant BMC PTF numbers are BPM6617 (introduced error), 
      BPM6791 (fixed to make CMF look like RMF) & BPM7077 & BPM7557.    
      MXG Change 18.199 is also needed for CSFRxxxx TYPE71 variables.   
                                                                        
20.   APAR PN65504 reports SMF type 118 has incorrect timestamps for FTP
      start and stop events if the C-FTP server is used; timestamps for 
      the Pascal FTP server had correct numbers.  The C-FTP server used 
      the time function of the C runtime, which returned the number of  
      seconds since Jan 1, 1980, when it was only the seconds from the  
      midnight that should have been returned.                          
                                                                        
19.   APAR PQ38319 for DFSORT R14 does not impact MXG sorting under SAS,
      but if your site uses DFSORT to sort SMF (or any VBS) records, and
      also uses E15/E35 Sort Exits, this APAR corrects DFSORTS error    
      MSGICE204A 5 INCOMPLETE SPANNED RECORDS DETECTED ON SORTIN.       
                                                                        
18.   APAR OW45192. RMF 72 records have very large values in CPU time,  
      elapsed time, and in CPUUNITS fields ('7FFFFFFF'x > 2*10**9 ), but
      only in records from Performance Groups or Service Classes in     
      which enclaves are running.  PTFs for APAR OW40548 (which raised  
      the previous limit of 5,000 enclaves per system to over 32,000)   
      introduced the error, but only for OS/390 R2.6, R2.7, and R2.8    
      (the R2.9 PTF for APAR OW40548 was not in error).                 
                                                                        
      The bad data was first seen in records from the DDF (Distributed  
      DB2), because DDF is the most common user of enclaves, but other  
      enclave users include CPU Parallelism in DB2, IBM's Web Server (in
      Scalable mode), and the MQ Series WorkFlow products.              
                                                                        
      These bad values cause Negative Uncaptured CPU time error messages
      on the SAS log during creation of MXG dataset RMFINTRV, and trash 
      the TYPE72/TYPE72GO and PDB.RMFINTRV datasets.                    
                                                                        
      Until IBM has a PTF for APAR OW45192, you must delete these bad   
      observations, in the MXG exit member EXTY72 or EXTY72GO.  Look at 
      your TYPE72/TYPE72GO data to see if CPUUNITS can be used to detect
      and if so, then delete the bad observations using:                
        IF CPUUNITS GE 2E09 THEN DELETE;                                
      in the exit member.  Or you could use the PERFGRP number or the   
      SRVCLASS name to delete the DDF (or any other) observations with  
      the bad data values.   26Jun2000.                                 
                                                                        
      Sep 21, 2000:  PTFs exist for APAR OW45192 and did correct that   
      error at one site.                                                
                                                                        
17.   APAR OW41270, OS/390 R2.8 caused creeping ECSA problem that was   
      resolved by OW43069.                                              
                                                                        
16.   APAR OW39924, OS/390 R2.8 and R2.9, macro STCKCONV bad. 17May2000.
      There is a blank line in the IBM STCKCONV macro, and it causes the
      Assembly of ASMTAPES to fail under OS/390 R2.8 and R2.9.  The APAR
      identifies the blank line to be removed (or the High Level ASM    
 can                                                                    
      be used, as the blank line does not trip it up!).                 
                                                                        
15.   APAR OW40458 corrects large values in TYPE72GO Period 2. 27Apr00. 
      If you are in Goal Mode and specify multiple periods for the      
      service class that CICS or IMS regions are running in, and you    
      are also classifying the transactions, negative/large/invalid     
      values for many variables in period 2 and later periods are       
      created, because when an address space stops being a server,      
      it is moved back to period 1 without updating the workload        
      reporting numbers for the period it had been running in.  While   
      the APAR fixes the IBM error, the site with the problems real     
      culprit was the accidental misclassification of a test CICS       
      region into a service class with multiple periods.                
        This caused large negative PCTOVHD and CAPTURAT over 100% in the
        PDB.RMFINTRV; CPUTCBTM was greater than CPUACTTM also.          
                                                                        
14.   APAR OW43817 corrects SMF type 85 CICS TRAN ID blank.  26Apr2000. 
      OAM SMF 85 R85PTRXN was not filled in for customers using the     
      Default Security Checking Bypass, because the Authorization Check,
      and the Gathering of Userid, Trans ID were both being bypassed.   
                                                                        
13.   APAR OW43581 corrects SMF type 17 fields. Apr 26, 2000            
      Installing APAR OW41664 corrupts SMF type 17 fields JOB, READTIME,
      and LOCLINFO, and the DSNAME has 'SYS' in Columns 1-3.  New APAR  
      OW43581 corrects the problem created when the strengthening of    
      DADSM's name checking by OW41664 destroyed the register used to   
      build the type 17 SMF record (Data Set SCRATCH).                  
                                                                        
12.   APAR OW43846 (FIN=Fixed In Next). Apr 17, 2000.  Incorrect values 
      in type 14/15 SMF records for striped extended format sequential  
      data sets.  The first stripes number of tracks is not included in 
      SMF15NTU if the OPEN was for output with partial release, and both
      SMF14NTU and SMF15NTU are too large by one track for each stripe. 
                                                                        
11.   Multi-volume tape data library last vol not read. April 16, 2000. 
      IBM APAR OW31263 (1997) for message IEC999I IFG0551H,jjj,prog.... 
      The 35th volume of a 35 volume CICSTRAN-on-tape was not read after
      being created; the job stopped after the 34th volume.  The SAS log
      reported only that an error had occurred "OUTSIDE THE SAS SYSTEM".
                                                                        
10.   IBM/Tivoli NetView/FTP Apr 6, 2000.  FTP apparently creates SMF   
      records for FTP with ID=0 if you do NOT specify SMFREC=nnn INIT   
      parameter for FTP.  MXG detects a "Bad IPL" record and deletes;   
      a hex dump of the type 0 record shows NFTP as the product name.   
                                                                        
 9.   RMF TYPE74 PAV/SHARK Apr 3, 2000.  APAR OW40885 reports incorrect 
      (high) values for PAV devices director port busy (DPB), control   
      unit busy (CUB) and device busy (DB).                             
                                                                        
 8.   CA Dispatch. April 1, 2000.  CA Dispatch Release 5.1 can produce  
      type 6 SMF records with non Y2K Ready date value in SM6JLDAT (the 
      date part of READTIME); this only seems to occur for Dispatch     
      data sent directly to 'distribution' (as opposed to printing from 
      'online viewing' or 'archiving').  CA has a temporary ptf         
      available under CA Problem Number 1195.                           
                                                                        
 7.   TCP/IP SMF records.  Mar 15, 2000.  APAR PQ36346 reports that the 
      wrong STC name (SMFAPINM) is in the SMF INIT API call records.    
      The INIT record has the started task name of the TCP/IP stack, the
      TERM record is correct and has the started task name of the       
      application.                                                      
                                                                        
 6.   FTP SMF records.  Mar 15, 2000. APAR PQ36103 reports that an SMF  
      record is not always written when an FTP client user aborts the   
      connection to OS/390 FTP server.  IBM reports "FIN", Fixed in Next
      Release, but notes "problem is easily avoided if the client FTP   
      user avoids aborting the transfer"!                               
                                                                        
 5.   WEBSERVER SMF 103.  Mar 15, 2000.  APAR PQ32435 reports that the  
      incorrect IP stack address is stored in a VIPA environment.       
      The OS/390 Webserver (IHS) writes SMF records TYPE103 subtypes 1  
      and 2 to report configuration and performance data.  The customer 
      has an environment with multiple Webservers using VIPA and Network
      Dispatching via D/T2216 routers.  They found that the IP address  
      of the Webserver, reported in the SMF record, derived from the    
      HTTP Server MIB, variable EntityAddress (and also EntityPort) were
      incorrect. The record always contains the default IP stack's      
      primary IP address.  They also noted that the records do not      
      contain the jobname of the webserver, which would be useful for   
      subsequent analysis.  This APAR is recently opened and no PTF yet.
                                                                        
                                                                        
 4.  OMVS/USS TYPE 30. Mar 15, 2000.  Information APAR II12312:         
     On OS/390 V1R3 and prior, OMVS used APPC/ASCH initiators for       
     address space creation.  From RACF definitions, an OMVS users      
     workaccount and workattribute fields were added to the EXEC card   
     and this information was recorded in SMF Type30 Subtype 2 and 3    
     records, so OMVS Accounting fields are in the SACCTn variables in  
     MXG's TYPE30_V and PDB.SMFINTRV datasets.  With OS/390 V2R4+, OMVS 
     now uses WLM initiators for address space creation.  From RACF     
     definitions, an OMVS users workaccount and workattribute fields are
     added to the JOB card and this information is recorded in SMF      
     Type30 Subtype 1 and 5 records, so the OMVS/USS accounting fields  
     will be in the ACCOUNTn variables in MXG TYPE30_1 and TYPE30_5     
     datasets, and in the PDB.JOBS/PDB.STEPS observations for OMVS jobs.
                                                                        
 3.  DCOLLECT. Mar 8, 2000. APAR OW43104 reports incorrect Device       
     Type on the type 'V' records for RVA and SHARK DASD.  RVA shows    
     9393 instead of 3390 and the SHARK showed as /UNKN/.               
                                                                        
 2.  TYPE92. Mar 3, 2000. According to APAR OW41113, SMF 92 records cut 
     for open/close under UNIX System Services capture the SAF (RACF)   
     userid of the process (server) rather than the actual caller of the
     service (task).  The "process" level OMVS Real UserId and OMVS Real
     GroupId were being recorded instead of the "task" level OMVS Real  
     UserId and GroupId.  As of March 3, 2000, that APAR was only a     
     request; there is no PTF yet that actually records the "task" level
     IDs in SMF type 92 records.                                        
                                                                        
 1.  TPX 4.1. Feb 9, 2000.  TPX 4.1 originally wrote GMT time, and then 
     added GMT offset, so MXG converted times to Local time, but now TPX
     has added a new PARM, "Reserve Option #45=Y", that changes the time
     values in the record to Local time, but sets no flag in the record 
     that the timestamps are now on the local clock, so MXG re-adjusted 
     the time away from local by the GMT offset.  (In my opinion, they  
     should have just zeroed the GMT offset field when the times are    
     local, and MXG would have calculated correctly!).  But instead, you
     must set that parm to N so that the record values are in GMT and   
     the non-zero GMT offset will be used by MXG to correct TPX records.
                                                                        
IV.  DB2 Technical Notes.                                               
                                                                        
 1.  DB2STATS. Mar 29, 2000.  APAR PQ21969 corrects QTSLWDD values; the 
     incorrect (large) value in the type 100 subtype 1 SMF record caused
     negative values for IN USE DATASETS in DB2PM and ANALDB2R reports. 
     DSNB1CST did not decrement the count in QTSLWDD correctly when     
     closing a linear pageset with multiple pieces during deferred close
     request processing, i.e., a problem in serialization if several DB2
     jobs 'declaim' at nearly the same time.  APARS PQ23458 affects the 
     Program name and PQ24406 affects the count of datasets closed due  
     to DSMAX or DDLIMIT being exceeded in error.                       
                                                                        
V.   IMS Technical Notes.                                               
                                                                        
     Sep 12, 2000.  IMS PTF UQ35642 for APAR PQ30803 has no impact.     
     That change to the IMS log record fixes an IBM error, where a bit  
     in field DLRNOSTP is now set when it was not, but MXG does not use 
     nor care about that bit flag.                                      
                                                                        
VI.  SAS Technical Notes.                                               
                                                                        
12. Starting with SAS 8.1, the Sequential Engine names of SASV5SEQ,     
    SASV6SEQ, and SASV7SEQ cannot be used.  However, the engine names   
    of V5SEQ, V6SEQ, V7SEQ, V8SEQ, & VnSEQ are still supported and will 
    be supported in future versions.  Fortunately, I never knew of the  
    SASVnSEQ form, so all MXG notes and references have been for VnSEQ! 
    This note was precipitated because the manual What's New in SAS 8.1,
    page 21, Chapter 7 states that "SEQENGINE= now has a default of TAPE
    and no longer supports values in the form SASVnSEQ".  SAS plans to  
    change the note to document that the VnSEQ form is still valid.     
    Additionally, the default of TAPE will be the VnSEQ engine for the  
    Vn release of SAS, i.e., TAPE=V8SEQ when under SAS V8.  28Sep2000.  
                                                                        
11. If you use SAS V8's default Engine to write to a SAS Data Library   
    that was previously written to by a SAS V6 Engine, and MXG has set  
    the new SAS V8 option SASCHRLN=32000 (done for you by VMXGINIT when 
    under V8, but only if you also set option COMPRESS=YES, for some    
    long text variables in type 102 records), you get ERROR: CHARACTER  
    VARIABLE HAS TOO LONG A VALUE FOR THE SASEB ENGINE, because SAS     
    recognized the output data library was built with V6, so it changed 
    the default Engine from V8 to V6, but the V6 engine doesn't support 
    long-length variables! The only permanent fix is to not do that:    
    change your data libraries to V8-built.  You must allocate new data 
    libraries ("PDBs"), and use PROC COPY to copy from V6 to V8, then   
    delete the old data library, and rename the old back to new.  You   
    cannot use PROC DELETE nor PROC DATASETS to delete all members and  
    re-use the existing data library, because the SAS directory remains 
    in V6-format, and so that data library will always be built with the
    V6-engine.  However, if you still must create SAS V6 data libraries 
    under MXG under SAS V8, you can reset the value of SASCHRLN by using
       %LET SASCHRLN=100;  as your first //SYSIN.           Sep 6, 2000.
                                                                        
10. Comparing values between MXG PDBs built with V6 versus V8 can show  
    some differences, but only in the 7th-8th significant digit.  The   
    SAS V8 INHERIT parameter of PROC SUMMARY/PROC MEANS apparently now  
    uses the length of the input variable for the internal length use in
    calculations, whereas without it SAS uses an internal length of 8 in
    calculations.  With an input dataset that had length 4 variables,   
    the output values with INHERIT are slightly less than the same PROC 
    MEANS without INHERIT specified.  INHERIT was designed for MXG so   
    that an entire step in VMXGSUM can be avoided.                      
                                                                        
                                                                        
 9. SAS V8 did not RELEASE space from SAS Data Libraries when it was    
    requested.  SAS Technical Note SN-002674 has the fix.  28Jun00.     
                                                                        
                                                                        
 8. PROC APPEND with new versions of MXG/ITSV:  26Jun2000.              
                                                                        
    If you use PROC APPEND to create week-to-date                       
    or month-to-date SAS datasets, new variables added to               
    MXG datasets will not be added to the APPENDed "Base"               
    dataset, and lengths of variables that were changed                 
    in MXG will not be changed in your "Base" dataset.                  
       MXG does not actually use PROC APPEND in its code,               
       because it breaks the sort order of sorted datasets,             
       but now also because it doesn't propagate dataset changes.       
                                                                        
    But if you have inherited a job that uses PROC APPEND to            
    concatenate NEW observations to a BASE dataset:                     
      PROC APPEND BASE=BASE.DATASET NEW=NEW.DATASET FORCE;              
    and if the contents of NEW.DATASET are different, you get           
    a condition code 4 and these warning messages on the SAS log:       
     WARNING: Variable x was not found on BASE file and/or              
     WARNING: Variable y has different lengths on Base and Data files   
             (BASE 4 DATA 8).                                           
    and the output BASE.DATASET will still have only the                
    original variables and their original attributes.                   
                                                                        
    You must replace the "BASE.DATASET" with a dataset with the same    
    name:                                                               
                                                                        
    a. Somewhere in your jobstream, before the first day of the         
       whatever-to-date you are building, or after the last day         
       of that period, that BASE.DATASET is being re-set to zero        
       observations, instead of being deleted.                          
          If it were being deleted, then the first execution of         
          the PROC APPEND with a null BASE dataset will contain         
          all of the variables in the NEW dataset.                      
       Find where that setting of BASE.DATASET to zero observations     
       is located, and replace it with a PROC DELETE DATA=BASE.DATASET  
       before the first-day-of-period run.                              
          However, BASE.DATASET will contain only those variables in the
          NEW dataset; variables dropped by the new version will not    
          exist in the replacement BASE.DATASET.  If your reports used  
          those now-non-existent variables, they could fail, but because
          of this impact, MXG almost never drops variables!             
                                                                        
    b. Or, with complete safety, you can re-create your BASE.DATASET, as
       it now exists, to contain the union of all variables in both the 
       BASE.DATASET and NEW.DATASET, with all of the observations in the
       BASE.DATASET, adding nothing from NEW, with this program. Execute
       the program for each DATASET in the BASE library that is being   
       PROC APPENDED (after first backing up the BASE library!):        
                                                                        
          /* Create WORK.NEWBASE with zero obs but with all variables*/ 
          OPTIONS OBS=0;                                                
          DATA WORK.NEWBASE;                                            
          SET  NEW.DATASET BASE.DATASET;                                
          RUN;                                                          
          /* Reset option obs to max to now actually read observations*/
          OPTIONS OBS=MAX;                                              
          RUN;                                                          
          /* Data step will create a new BASE.DATASET; by listing the */
          /* WORK.NEWBASE first, its attributes will be used to set   */
          /* the attributes of variables found in NEWBASE.            */
          DATA BASE.DATASET;                                            
          SET WORK.NEWBASE BASE.DATASET;                                
          RUN;                                                          
                                                                        
 7. SAS Version 8/8.1 corrupted multi-volume SAS Data Library. Jun 23.  
    SAS Version 8 & 8.1 will create a corrupted multi-volume SAS Data   
    Library on DASD (but not a problem with multi-volume Tape), if you: 
      - Use a STORCLAS with "Guaranteed Space" attribute enabled when   
        the library dataset was allocated, and                          
      - Have a non-zero Secondary Space Allocation value in the SPACE=  
        parameter when the library dataset was allocated, and           
      - The second volume was actually written to.                      
                                                                        
    There is NO error during creation, but when the data library is read
    you may get USER 0315 ABEND, with this error message on the SAS log:
       Physical I/O error on SAS data library DATA.SET.NAME on          
       volume volser,jobname,stepname,dev-addr,ddname,86-OP             
    or you may just get RC=8 with these messages on the SAS log:        
       Expecting page NNN, got page -1 instead.                         
       Page validation error while reading LIBREF.DATASET.DATA          
       File LIBREF.DATASET.DATA is damaged.                             
       I/O processing did not complete.                                 
                                                                        
    Removing the Secondary Space Value will eliminate this error, and,  
    if you still must use Guaranteed Space (for example, so you can use 
    VOLSER= in your JCL), that is the solution.  However, if the only   
    reason you used a STORCLAS with GS was to satisfy SAS V6, then the  
    permanent solution is to remove the Guaranteed Space attribute from 
    the STORCLASS, or change your JCL to a different STORCLAS that does 
    not have the GS attribute specified.                                
                                                                        
    Under SAS V6, GS was REQUIRED for multi-volume DASD, but GS does not
    use secondary extents, although they were tolerated in your JCL by  
    V6.  Now, under SAS V8, the existence of a secondary value and GS   
    causes the corruption (but only when the second volume is actually  
    opened), but GS is no longer required by V8, and in general, GS     
    should not be used with V8:  with GS and five volumes of 3000 PRI   
    cylinders, you get 15,000 cylinders whether you need it all or not, 
    whereas with SAS V8 and without GS, you allocate only the primary on
    the first volume, until more is needed by today's job!              
                                                                        
    Tests with SAS V8 multi-vol DASD strongly suggest that you SHOULD   
    have a secondary allocation value, once you have removed the GS     
    attribute, as it makes it easier for allocation to find more space  
    when available on each volume.                                      
                                                                        
    How do you know if you have Guaranteed Space?  Look at the STORCLAS 
    of the Data Library (either in the JCL or on the SYSMSG allocation) 
    and go to your Storage Administrator, who can use ISMF to see if the
    GS attribute is specified for that Storage Class.                   
                                                                        
    SAS Institute is currently investigating a fix (at best, probably,  
    to force a failure rather than creating the corrupt dataset), and   
    SAS Technical Support Note 002881 will be posted later this week to 
    track the problem.                                                  
                                                                        
    In summary:  For Multi-Volume Data Libraries under SAS V8:          
      a - If you must use Guaranteed Space, do not have a Secondary.    
      b - Without Guaranteed Space, do have a Secondary allocation.     
                                                                        
                                                                        
 6. SAS V8  PROC COPY IN=WORK OUT=PDB; if the PDB DDNAME points to a V6 
    SAS data library, when copying WORK.REGSTRY (MEMTYPE=ITEMSTOR), with
    ERROR: REQUESTED FUNCTION IS NOT SUPPORTED, PDB.REGSTRY.ITEMSTOR HAS
    NOT BEEN SAVED....  While SAS investigates, adding MEMTYPE=DATA to  
    the PROC COPY is what you really wanted in the first place, and will
    avoid the incompatibility.  Jun 12, 2000.                           
                                                                        
                                                                        
 5. The SAS V8 TAPE Engine cannot be safely used.  May 12, 2000.        
                                                                        
    The SAS V8 TAPE Engine (V7SEQ=V8SEQ) cannot be used with complete   
    safety to create or even to read tape-format datasets.  LABELs of   
    variables in datasets that are created (on tape or disk!) from      
    V8SEQ-format datasets can be trashed (truncated, overlaid, extra    
    blanks) if a SET statement with a (KEEP=) dataset option is used.   
    Bad LABELs can destroy reports, and there is no warning, error      
    message, nor a condition code set.  V8SEQ can also error if you     
    create tape-format on DASD, but at least then, you do get an error! 
                                                                        
    These errors were found too late to be fixed in SAS Version 8.1!    
                                                                        
    July 26, 2000 update: See SAS Note SN-002651.  SAS ZAP Z8002651 now 
    exists for SAS V8.0 and V8.1, and the error is corrected in V8.2.   
                                                                        
    Until then, the circumvention is to tell SAS Version 8 to use the   
    V6SEQ engine instead of the V8SEQ engine (both to create and to read
    tapes) until SAS Institute has a corrected version.                 
                                                                        
    The Trashed LABELs error:                                           
                                                                        
    SAS V8 will create V8SEQ-format datasets on tape, and the LABELs in 
    the tape dataset are fine, but if you then read that tape dataset to
    create a new dataset, the LABELs in that new dataset are trashed if 
    the SET statement also uses the (KEEP=) dataset option:             
      DATA SUBSET; SET CICSTRAN.CICSTRAN (KEEP= A B .. Z);              
    While this case exposes the error, there may be other exposures.    
    MXG uses (KEEP=) to reduce the number of bytes read into memory.  It
    is used in VMXGSUM (invoked by all TRNDxxx members and most ASUMxxxx
    members), and bad labels were found first in TRND70PR.  The (KEEP=) 
    option is also used by ASUMUOW, which has only data steps, was the  
    second instance of bad labels, and helped isolate the problem.      
                                                                        
    The circumvention for Trashed Labels error in SAS V8.0 and V8.1:    
                                                                        
    You should add  SEQENGINE=V6SEQ  in your CONFIG member to make V6SEQ
    your default tape (sequential) engine.  However, you must also scan 
    your tailoring and report source libraries for any instances of     
    "LIBNAME ddname TAPE;" and must change "TAPE" to "V6SEQ", because   
    TAPE in a LIBNAME statement overrides the SEQENGINE option, and TAPE
    defaults to V8SEQ under SAS V8, a default that cannot be changed.   
    SAS V8 should be able to detect that a tape dataset was built with  
    the V6SEQ engine, but it can't.  If you try to read a V6SEQ dataset 
    with V8SEQ engine, the step fails with error message:               
      LIBRARY ddname IS NOT VALID FORMAT FOR ACCESS SASV7SEQ!           
    That's why you should change you CONFIG option to SEQENGINE=V6SEQ.  
    However, you could instead add a LIBNAME statement for each tape DD,
    (in your SYSIN stream) with "LIBNAME ddname V6SEQ;" and not have to 
    update the CONFIG member, but changing the CONFIG member is probably
    the best circumvention.                                             
                                                                        
    Second V8SEQ error, tape-format-on-DASD.                            
                                                                        
    V8SEQ also fails if you try to write a tape-format dataset on DASD, 
    using just the old DDname convention of //TAPExxxx to invoke the    
    tape engine, because that option invokes only the V5SEQ engine, and 
    SAS V8 is no longer backwards compatible, as it can only read V5SEQ 
    libraries; writing to V5SEQ from V8 causes error messages:          
     WARNING:76-63: THE OPTION LABEL IS NOT IMPLEMENTED IN V5TAPE ENGINE
     ERROR: WRITE ACCESS TO MEMBER TAPEXXXX.yyyyyyyy.DATA IS DENIED.    
    This is documented in the SAS Companion for MVS, V6, Second Edition,
    Appendix I, page 437, which is also the reference in the V8         
    Companion for MVS.                                                  
                                                                        
    The circumvention is to use   LIBNAME   ddname  V6SEQ ; for any     
    tape-format-dataset-on-DASD.                                        
                                                                        
    MXG's WEEKBLDT and MONTHBLD members use //TAPETEMP for temporary    
    files to create weekly and monthly PDBs on tape without rewinds, but
    both had "LIBNAME TAPETEMP TAPE;" statements, so that "TAPE" was    
    changed to "V6SEQ" in those two members.                            
                                                                        
    Even if you specify SEQENGINE=V6SEQ in CONFIG, that only applies if 
    the actual device is tape;  to now create a tape format dataset on  
    DASD under SAS V8, you must now also specify:                       
      LIBNAME TAPExxxx V6SEQ;  or  LIBNAME ddname V6SEQ;                
                                                                        
    The text of Change 18.104 has details on the actual MXG changes.    
                                                                        
 4. SAS V8 OPTION FILEEXT=IGNORE default value must be used with MXG.   
    The new options can be used to control the syntax than can be used  
    in SAS programs to reference PDS member names; the FILEEXT=VERIFY   
    should not be used, since MXG syntax works just fine when OS/390    
    "ignores" this option by default.  FILEEXT=VERIFY causes errors:    
     ERROR: MEMBER NAME VMXGINIT.SAS CONTAINS AN EXTENSION.             
     THE SYSTEM OPTION FILEEXT IS SET TO VERIFY, WHICH REQUIRES THE LAST
            QUALIFIER OF THE PDS OR PDSE TO MATCH THE EXTENSION.        
     ERROR: CANNOT %INCLUDE MEMBER VMXGINIT IN THE AGGREGATE SOURCLIB.  
                                                                        
 3. SAS V6.09E TS455 or later, VM 1319 and USER ABEND 1319, "No MKLEs"  
    can be corrected by SAS zap number Z609E449, although the problem   
    can also be circumvented simply by a) making sure your MEMSIZE      
    option in MXG's CONFIG member is 64M, and b) making sure your REGION
    parameter is also 64M so that SAS can get its requested MEMSIZE.    
                                                                        
 2. SAS V8 ABEND S01D when HSWORK is used.  Apr 25, 2000.               
    SAS zap number Z8001639 corrects said ABEND with SAS Version 8.     
                                                                        
 1. SAS V8 does not support V5 data libraries. Apr 17, 2000.            
    SAS V8 does not support V5 format data libraries (recognizable by   
    their old RECFM=U,BLKSIZE=32760 DCB), failing when written-to with a
    WRITE ACCESS DENIED error (which otherwise is the result of using   
    DISP=SHR for an output SAS data library).  In this case, it was the 
    MXG //SPIN library in the BUILDPDB logic that was still V5, so to   
    preserve the data and create a V8-format data library, the site     
    first used V6 to PROC COPY from V5 to a V6 library (DISP=NEW), and  
    then used V8 to PROC COPY from the V6 library to the (new and not   
    backwards compatible) V7/V8 SAS data library (DISP=NEW).            
                                                                        
VII. CICS Technical Notes.                                              
                                                                        
 1. APAR PQ41392 corrects wrong TERMID in SMF type 110 records that was 
    written for non-Terminal transactions.  The TERMID name was FHCI.   
                                                                        
VIII. Windows NT Technical Notes.                                       
                                                                        
IX.   Incompatibilities and Installation of MXG 18.04.                  
                                                                        
 1. Incompatibilities introduced in MXG 18.04 (since MXG 17.17):        
                                                                        
  a- No changes in MXG architecture were made between 17.17 and 18.04   
     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.    
                                                                        
                                                                        
X.    Online Documentation of MXG Software.                             
                                                                        
    MXG Documentation is now described in member DOCUMENT.              
                                                                        
                                                                        
XI.   Changes Log                                                       
                                                                        
--------------------------Changes Log---------------------------------  
                                                                        
 You MUST read each Change description to determine if a Change will    
 impact your site. All changes have been made in this MXG Library.      
                                                                        
 Member CHANGES 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.04:
                                                                        
  Dataset/                                                              
  Member   Change    Description                                        
                                                                        
  See Member CHANGES or CHANGESS in your MXG Source Library, or         
  on the homepage www.mxg.com.                                          
                                                                        
Inverse chronological list of all Changes:                              
                                                                        
Changes 18.264 thru 18.001 are contained in member CHANGES.