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

MXG NEWSLETTER FORTY-FOUR

****************NEWSLETTER FORTY-FOUR***********************************
                                                                        
                                                                        
                                                                        
                                                                        
    MXG NEWSLETTER NUMBER FORTY-FOUR, Feb 11, 2004.                     
                                                                        
Technical Newsletter for Users of MXG :  Merrill's Expanded Guide to CPE
                                                                        
                         TABLE OF CONTENTS                          Page
                                                                        
I.    MXG Software Version.                                             
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.                        
         See member CHANGES and member INSTALL.                         
X.    Online Documentation of MXG Software.                             
         See member DOCUMENT.                                           
XI. Changes Log                                                         
     Alphabetical list of important changes                             
     Highlights of Changes  - See Member CHANGES.                       
                                                                        
      COPYRIGHT (C) 2004 MERRILL CONSULTANTS DALLAS TEXAS USA           
                                                                        
I.   MXG Software Version 21.21, the 2004 Annual Version, Feb 6, 2004,  
     was mailed to all sites by Feb 13, 2004.                           
                                                                        
 1. Major enhancements added in MXG 21.21:                              
                                                                        
    See CHANGES member of MXG Source, or http://www.mxg.com/changes.    
                                                                        
II.  MXG Technical Notes                                                
                                                                        
 1. None.                                                               
                                                                        
III. MVS Technical Notes.                                               
                                                                        
11. A closed ETR documents that SRVCLASS='SYSOTHER' can occur in SMF 30 
    records, even when you have a Default Fall-Thru Service Class, if   
    the SMF record is being written, i.e., if SMF requests the service  
    class data from WLM, during a "Service Policy Activation".  During  
    that event, WLM cannot return the valid service class name, so it   
    is coded to return "SYSOTHER".  Working as Designed, no APAR.       
                                                                        
10. APAR OA06350 discusses problems with WLM-managed Initiators that did
    not start for what appeared to be very long times.                  
                                                                        
 9. Erratic, large values for DEVCONTM and DEVDLYTM ('FFFFnnnn'x, in the
    RMF 74 record, IBM fields SMF74CNN and SMF74DVB, a result typical of
    a subtraction underflow error) were found when OA05197 and OA05589  
    APARs were installed, but only for FICON connections, and only for  
    random read tests.  Those APARs revised calculations of values in   
    the RMF records, but their code changes have no impact on actual I/O
    performance.  With both APARs removed, the erratic large values in  
    those two fields did go away, but the RMF numbers without the APARs 
    showed cache hit response time increased and thruput reduced, so the
    APARs were re-installed, large values discarded while IBM works on  
    the problem, and the numbers with the APARs presumed more correct.  
                                                                        
    Jan 27, 2004: IBM has PE'd APAR OA05197 with new APAR OA06168 which 
    acknowledges an RMF coding error is the cause of negative values for
    FICON, and the PTF for OA06168 should correct the error.            
    Feb 16, 2004: APARs OA05197+ was installed and fixed the error.     
                                                                        
    But the changes in how FICON connect time is measured with and with 
    out the APAR is discussed in the text of OA05589:                   
      Because of the multiplexing capability built into fiber channel   
      and FICON, physical disconnection during execution of a channel   
      program is rare.  Control Unit queue time is accumulated during   
      connect time and not disconnect time, as was the case with ESCON. 
      The RMF device activity reporting has to be changed to reflect    
      this difference from ESCON.  Affected RMF releases: OS/390-2.10 up
      to z/OS-1.5                                                       
      With this APAR OA05589 RMF device activity reporting will be      
      changed for FICON attached devices as following:                  
        CU queuing time is now subtracted from Connect time and no      
        longer from Disconnect time.                                    
      For ESCON attached devices the calculation for connect and        
      disconnect time remain unchanged:                                 
         CU queuing time is subtracted from Disconnect time.            
                                                                        
 8. APAR OA04323 has no impact on MXG Software; it increased the number 
    of channels to 512, which caused some system monitor programs to    
    fail because they had internal tables that were too small.          
                                                                        
 7. APAR OA05542 reports large values in SMF30SRV, ACTIVETM, SMF30PSF.  
    See also APAR OW53698 for IOUNITS and SERVUNIT errors.              
                                                                        
 6. APAR PQ82309 reports growth in the Subpool 230 Protect Key 0 virtual
    storage when using MULC and creating SMF 89 records. 01Jan04.       
                                                                        
 5. APAR PQ81716 reports incorrect SMF 119 End Time Stamp for TN3270    
    sessions that start before midnight UTC and end after midnight UTC. 
    01Jan04.                                                            
                                                                        
 4. APAR OA06009 reports SMF 64 fields SMF64RIO, SMF64BMH and SMF64CFH  
    are not being updated while running RLS. 1Jan04                     
                                                                        
 3. How can you move SMF files between MVS Systems?                     
                                                                        
    a. XMIT/RECEIVE                                                     
                                                                        
    b. ftp data directly, to pre-allocated VBS file 'SMF.dest.name':    
                                                                        
       MODE B                                                           
       TYPE E                                                           
       GET 'SMF.source.name' 'SMF.dest.name' (REPLACE                   
                                                                        
    c. TRSMAIN                                                          
                                                                        
       //PACKIT   EXEC PGM=TRSMAIN,PARM=PACK                            
       //* PGM=TRSMAIN is an alias entry point for the new PGM=AMSTERSE,
       //* so you get the new features without having to change PGM=.   
       //* And if you do change to PGM=AMSTERSE instead of PGM=TRSMAIN, 
       //* you must ALSO change INFILE/OUTFILE ddnames to SYSUT1/SYSUT2 
       //SYSPRINT DD   SYSOUT=*                                         
       //INFILE   DD   DISP=SHR,DSN=input.smf.data                      
       //OUTFILE  DD   DISP=(,CATLG),UNIT=SYSDA,SPACE=(CYL,(20,10),RLSE)
       //       DSN=input.smf.data.packed                               
       //***********************************************************    
       //FTPOSA   EXEC PGM=FTP,REGION=4M                                
       //SYSPRINT DD SYSOUT=*                                           
       //INPUT  DD *                                                    
          domain.name.bla.bla                                           
          userid                                                        
        < >                                                   
         bin                                                            
         put 'input.smf.data.packed' (replace                           
         QUIT                                                           
       /*                                                               
                                                                        
                                                                        
     d. ftp as RECFM=U to PC, ftp PC file to MVS RECFM=U,BLKSIZE=32760, 
        and then use MXG's UDEBLOCK utility to re-create the VBS records
        from the uploaded RECFM=U file.                                 
                                                                        
 2. ABEND 0C9 in DFSORT (especially in SAS invoked sorts!!) is corrected
    by APAR PQ80787.  The ABEND is in ICEKPUT at X'1230' when E33 Exit  
    is used (and SAS uses that exit).  Nov 20, 2003.                    
                                                                        
 1. Type 42 Subtype 21 (DELETE ALIAS) SMF records are not written if you
    have CA's PDSMAN product, and you have FASTSTOW=Y (i.e., FAST STOW  
    option of PDSMAN is enabled).  The deletion 'feature' is not yet in 
    the PDSMAN documentation for FASTSTOW option, but it was CA support 
    that recommended disabling FASTSTOW so the SMF records are written. 
    Nov 19, 2003.                                                       
                                                                        
IV.  DB2 Technical Notes.                                               
                                                                        
 3.  Another source of negative DB2TCBTM is noted in APAR PQ83772, is   
     "INCORRECT TIME IN QWACEJST WITH ACCOUNTING TRACE CLASS 2 OFF".    
     Turning on DB2 Accounting Trace Class 2 on corrected the problem.  
     The problem reportedly only occurs with CICS/TS 2.2.  17Feb04.     
                                                                        
 2.  APAR PQ79622 corrects error that caused QWACBJST to be greater than
     QWACEJST, which caused negative DB2TCBTM.  The error occurred when 
     an SQL statement fired a trigger and that trigger called either a  
     UDF or a stored procedure, that class 1 non-nested CPU time could  
     erroneously be a negative value.                                   
                                                                        
 1. The DB2PM product statistics reports did not correctly deaccumulate 
    buffer pool activity in intervals in which a Buffer Pool was skipped
    (where that Buffer Pool had had activity in the previous interval). 
    MXG properly deaccumulated across the missed intervals, and IBM's   
    DB2PM has accepted the error in APAR PQ81241. PTF issued 4Mar2004.  
                                                                        
                                                                        
V.   IMS Technical Notes.                                               
                                                                        
 1.                                                                     
                                                                        
                                                                        
VI.  SAS Technical Notes.                                               
                                                                        
 5. MXG has added long-length variables to some datasets, which cause   
     ERROR: THE CHARACTER VARIABLE xxxxxxxx HAS TOO LONG A VALUE ....   
     ERROR: FILE DDNAME.yyyyyyyy.DATA HAS NOT BEEN SAVED BECAUSE COPY   
            COULD NOT BE COMPLETED                                      
    when you PROC COPY any of those datasets from a V8/V9 data library  
    to a V6 data library (like your daily DISP=OLD PDB data library     
    build years ago with SAS V6).                                       
    If DDNAME points to a disk data library, then you must create a new 
    data library under V8/V9 and use PROC COPY IN=OLD OUT=NEW MT=DATA;  
    to preserve the existing datasets                                   
    If DDNAME is a tape data library, see the next technical note, 4.   
                                                                        
 4. SAS Version 9.1 (TS1M0) had been tested by MXG under Windows, Linux,
    and z/OS versions of SAS, with no real problems or errors, and with 
    only positive execution results; there is either equal or slightly  
    better performance (Elapsed, CPU) with V 9.1.                       
                                                                        
     A. Feb 11, 2004: FLASH: MXG default changed to V8SEQ or V9SEQ.     
                                                                        
        Please replace V6SEQ in CONFIGV8/CONFIGV9 with V8SEQ/V9SEQ, to  
        be completely safe and avoid potential errors.                  
                                                                        
        In the Feb 6, 2004 (first) MXG 21.21 code and in the Newsletter 
        FORTY-FOUR that was in NEWSLTRS member, MXG still used the      
        SEQENGINE=V6SEQ option, because it saved some CPU time by not   
        compressing when datasets were written/copied to tape.  But I   
        had failed to test PROC COPY to tape with all MXG datasets, and 
        today discovered that copying some datasets would fail with     
         ERROR: THE CHARACTER VARIABLE EKC80FRD HAS TOO LONG A VALUE....
         ERROR: FILE TUE.TYPE8XEK.DATA HAS NOT BEEN SAVED BECAUSE COPY..
        if the MXG dataset contains long-length variables.  Only a few  
        MXG datasets, built under SAS V8/V9 have long-length variables, 
        but for long text strings, like SQL text, it is the right thing 
        to do (the alternative: break text into 200 byte chunks!).      
                                                                        
        So to avoid the errors, the MXG Sequential Engine default was   
        changed in the Feb 11, 2004 edition of MXG 21.21.               
                                                                        
        The original note in Feb 6 Newsletter, below, is technically    
        correct as to why V6SEQ was originally used, but the additional 
        CPU time for the "unnecessary" compression to IDRC tape drives  
        is so small that I now wonder if I should have ever spent all   
        this time/effort discussing it; for a 265 MegaByte file, the    
        added CPU time was only 20 CPU seconds on a SU_SEC=10000 CPU!   
                                                                        
        This is the original Technical Note in Feb 6, Newsletter:       
        MXG still uses SEQENGINE=V6SEQ for SAS V 9.1 instead of V9SEQ,  
        because the V9SEQ engine spends CPU time when PROC COPY to tape 
        with COMPRESS=YES is used: since all MVS tape devices are IDRC  
        hardware compressed, we don't want SAS to compress to tape.     
        In SAS V9.1, the V9SEQ engine WAS changed for the DATA step,    
        and SAS datasets written to tape in a DATA step are no longer   
        compressed.  But there's nothing wrong with V6SEQ, and nothing  
        new/needed in V9SEQ, and the V6SEQ engine has always not invoked
        SAS compression when writing to a tape device, so there is no   
        reason to change MXG, and if I did, some site somewhere would   
        see and investigate an avoidable CPU bump in their copy jobs.   
           It turns out the real "culprit" isn't PROC COPY, per se, but 
           the NOCLONE option of PROC COPY.  If we could change the text
           of every PROC COPY statement in source code (in MXG, and in  
           all of your tailoring and personal libraries!), to add the   
           NOCLONE option (assuming there's enough blank space on each  
           line), we see that CPU time results with V9SEQ match V6SEQ.  
                                                                        
     B. Condition Code (also called Return Code) value of 4 can be      
        expected with MXG's BUILDPDB, because of                        
           WARNING: CHARACTER VARIABLE xxxxxxx LENGTH HAS BEEN SET.     
        The warning now identifies the variable, and can't be avoided   
        for JOBCLASS; JOBCLASS is $8 for JES3, but only $1 for JES2.    
        READ: A PERFECTLY GOOD DAILY JOB WITH CC=0 WILL NOW HAVE CC=4.  
        And if you use CA-7 for job control and it now expects RC=00,   
        you'll need to change that in CA-7 before running under SAS 9.1.
                                                                        
        UPDATED: JAN 21, 2005:  MXG Change 22.365 has eliminated this   
        Condition Code problem with SAS V9.  With MXG 22.22 or later,   
        the JES2 default BUILDPDB will end with Condition Code of ZERO. 
                                                                        
     C. Windows-only comparisons, XP on 3.2 GHz Processor, with disk    
        copy speed: 8.7 MegaBytes/sec to same disk, 23.4 MB/sec to a    
        second disk:                                                    
                                                                        
        Input SMF is 882 MegaByte "JOBS" (SMF 6s, 26s, 30s).            
                                                                        
        1. BUILDPDB+ big PDB.DDSTATS + PDB.SMFINTRV, FULLSTATS:         
                            V9.0 ET   V9.1 ET      V9.0 CPU   V9.1 CPU  
           With Compress:    1910      2042         488         382     
           No Compress       3143      3000         354         330     
                                                                        
        2. BUILDPDB, no DDSTATS/SMFINTRV created:                       
                                      V9.1 ET     V9.1ET                
                                      FULLSTATS   NOFULLSTATS           
           With Compress:               278         264                 
                                                                        
        Observations:                                                   
                                                                        
         a.  COMPRESS=YES on Windows definitely reduces run time from   
             large BUILDPDB run time of 50 minutes without, to only     
             34 minutes, for one additional minute of CPU time.         
         b.  FULLSTATS used to cause E.T increase, but not with 9.1;    
             BUILDPDB took 4 min 38 seconds with FULLSTATS, and took    
             4 min 24 seconds, so FULLSTATS don't cost much and provide 
             diagnostic data that is helpful!                           
                                                                        
     D. MXG and SAS V9.1 were run under Windows XP, Linux RH8, z/OS 1.4.
        Linux and Windows used the same AMD 1400 1.5 GHz processor with 
        500 MB and removable drives; z/OS runs were on an IBM 2064-210. 
        The 842MB SMF file was used.                                    
                                                                        
        The DATA step cost is tabulated, and the PROC SORT of TYPE30_D, 
        which was 3.4 GigaBytes in size are compared:                   
                                                                        
        Data Step            LINUX      WINDOWS       z/OS              
          Elapsed Time      4:27.70     7:40.02     11:03.36            
          CPU time          3:59.46     3:57.64      5:56.7             
                                                                        
        PROC SORT                                                       
          SORTSIZE DEFAULT     48MB        64MB        MAX              
          Elapsed          15:39.82    28:19.89     12:28.98            
          User CPU          5:01.43     4:02.93      5:23.16            
                                                                        
          SORTSIZE            200MB       200MB                         
          Elapsed          15:26.10    28:19.89                         
          User CPU          5:01.02     4:02.93                         
                                                                        
          SORTSIZE            400MB       400MB                         
          Elapsed          19:12.40    35:05.38                         
          User CPU          5:02.79     4:15.81                         
                                                                        
        Observations:                                                   
                                                                        
         a. SAS V9.1 under LINUX significantly outperforms Windows XP,  
            in both the DATA step and in the SORTS.                     
                                                                        
         b. SAS V9.1 under z/OS is significantly slower than either     
            LINUX or Windows for the DATA step.                         
                                                                        
         c. SAS V9.1 under z/OS is better for PROC SORT, but that was   
            with SYNCSORT on z/OS.  Newsletter FORTY showed that the    
            SYNCSORT product under Windows was significantly better     
            than the internal SAS sort under V9.0, but SYNCSORT on      
            Windows was not available for these tests.                  
                                                                        
         d. On ASCII platforms the SORTSIZE parameter does impact the   
            elapsed time, and elongation occurs if SORTSIZE is too      
            large or too small. SAS V9.1 defaults were increased from   
            the old 2MB default, and seem fine for this 3.4 GB sort.    
                                                                        
         e. But what is really demonstrated is the repeatability and the
            reliability of the SAS System's MVA Architecture to meet the
            needs of your SAS applications on any of these platforms. It
            takes SAS 5-10 minutes to read a 1 GB SMF file and to create
            an MXG "MVS" PDB data library, and 15 minutes to sort a 4 GB
            dataset, no matter where you run it; that's pretty cool!    
            And clearly this is not a capacity comparison of the two    
            hardware platforms; running MXG on Intel requires dedicated 
            hardware, at least during the creation of the PDB libraries,
            while z/OS can support thousands of users during BUILDPDB.  
            But it should give you confidence that MXG will continue to 
            measure your computer systems, no matter where SAS runs, and
            your MXG and SAS skills are transferable across platforms.  
                                                                        
 3. ERROR: OPEN FAILED FOR FILE XXX: SYSTEM ERROR 013-0E1 results on MVS
    if you try to read a Large Block Interface tape file with block size
    greater than 32760.                                                 
      (introduced in OS/390 R2.10, LBI, Large Block Interface, allows   
       256K for 3590s, 65535 for other tapes, no change for DASD).      
    SAS Note SN-010759 documents that LBI support is being looked at for
    a future release after SAS 9.1, and "until this, it will not be     
    possible to read those tape files".                                 
                                                                        
 2. ABEND 0C4 in the FORMATS step of JCLINSTL with SAS Version 9 was    
    caused by REGION=6M statement on the JOB card.  REGION=64M or       
    REGION=0M has been recommended for Version 8 and 9 for BUILDPDB.    
    Also make sure there is not a REGION= parameter on the STEP card.   
    Nov 2008:  0C4 also occurs with SAS Version 9.1.3 if ENTRY=SASHOST  
               is used.  ENTRY=SAS is the correct name for V9.1.3.      
                                                                        
 1. For execution under Windows systems, batch file examples using the  
    START command are discussed in SN-010991 which lists the link:      
      "For more information about running jobs in batch, see:           
       http://support.sas.com/techsup/unotes/SN/004/00449.html          
      which then lists the link:                                        
       http://support.sas.com/techsup/technote/ts648/ts648.pdf          
      that does discuss batch execution of SAS under Windows.           
                                                                        
VII. CICS Technical Notes.                                              
                                                                        
 1.  APAR PQ81482 corrects CICS ABENDS and overlays that are caused when
     PTF UQ79397 is applied after APAR PQ63141, when MNRES=ON in your   
     CICS SIT to enable Transaction Resource Class monitoring, if DFHMCT
     is coded with FILE=8 or more.                                      
                                                                        
VIII. Windows NT Technical Notes.                                       
                                                                        
 1.                                                                     
                                                                        
                                                                        
IX.   Incompatibilities and Installation of MXG 20.20.                  
                                                                        
 1. Incompatibilities introduced in MXG 21.07 (since MXG 20.20):        
    See CHANGES.                                                        
                                                                        
 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 20.20 now in MXG 21.xx:
                                                                        
  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 21.yyy thru 21.001 are contained in member CHANGES.