CUTIL00 for MVS 3.8J / Hercules


Date: 4/10/2021  Release V1R1M00
      5/03/2020  Release V1R0M10
      3/20/2020  Release V1R0M00

*  Author: Larry Belmontes Jr.
*          https://ShareABitOfIT.net/CUTIL00-for-mvs-3-8j/
*          Copyright (C) 2020-2021 Larry Belmontes, Jr.


---------------------------------------------------------------------- 
| C U T I L 0 0   I n s t a l l a t i o n   R e f e r e n c e        | 
---------------------------------------------------------------------- 

   The approach for this installation procedure is to transfer the
distribution tape content from your personal computing device to
MVS with minimal JCL (less than 24 lines for easy copy-paste) and to
continue the installation procedure using supplied JCL from the MVS
CNTL data set under TSO.                         

   Below are descriptions of ZIP file content, pre-installation
requirements and installation steps.
 
Good luck and enjoy using CUTIL00 in your CLIST development!
-Larry Belmontes



======================================================================
* I. C o n t e n t   o f   Z I P   F i l e                           |
======================================================================

o  $INST00.JCL          Define Alias for HLQ CUTIL00 in Master Catalog
 
o  $INST01.JCL          Load CNTL data set from distribution tape
 
o  CUTIL00_V1R1M00.HET  Hercules Emulated Tape (HET) multi-file volume
                        with VOLSER of VS1100 containing software 
                        distribution.
 
o  DSCLAIMR.TXT         Disclaimer
 
o  PREREQS.TXT          Required user-mods 
 
o  README.TXT           This File                                              
 
 NOTE: Although not required to install CUTIL00, two user-mods 
 ----- are required before using CUTIL00. See PREREQS.TXT file.



======================================================================
* II. P r e - i n s t a l l a t i o n   R e q u i r e m e n t s      |
======================================================================

o  The Master Catalog password will be required for some installation
   steps. 
 
o  Tape files use device 480.
 
o  DASD files will be loaded to VOLSER=MVSDLB, type 3350 device.
   Confirm that 110 tracks are available.
 
o  TSO user-id with sufficient access rights to update SYS2.CMDPROC,  
   SYS2.HELP, SYS2.CMDLIB and optional ISPF libraries.
 
o  If installing ISPF components (parts), names of ISPCLIB (Clist),
   ISPMLIB (Message) and ISPPLIB (Panel) libraries.
 
o  Download ZIP file to your PC local drive.    
 
o  Unzip the downloaded file into a temp directory on your PC device.
  
 
                                                
======================================================================
* III. I n s t a l l a t i o n   S t e p s                           |
======================================================================
                                                
+--------------------------------------------------------------------+
| Step 1. Define Alias for HLQ CUTIL00 in Master Catalog             |
|         JCL Member: CUTIL00.V1R1M00.CNTL($INST00)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//CUTIL000 JOB (SYS),'Define CUTIL00 Alias', <-- Review and Modify 
//             CLASS=A,                      <-- Review and Modify
//             MSGCLASS=A,                   <-- Review and Modify
//             MSGLEVEL=(1,1)                <-- Review and Modify
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $INST00                                        *
//* *       Define Alias for HLQ CUTIL00 in Master Catalog *
//* *                                                      *
//* *  Note: The master catalog password will be required  *
//* -------------------------------------------------------*
//DEFALIAS EXEC PGM=IDCAMS 
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
 PARM GRAPHICS(CHAIN(SN))
 LISTCAT ALIAS  ENT(CUTIL00) 
 IF LASTCC NE 0 THEN -
    DEFINE ALIAS(NAME(CUTIL00) RELATE(SYS1.UCAT.MVS))                          
/*                                                                      
//
______________________________________________________________________
Figure 1: $INST00 JCL
 
 
    a) Copy and paste the above JCL to a PDS member, update JOB 
       statement to conform to your installation standard.             
 
    b) Submit the job.                                  
 
    c) Review job output for successful DEFINE ALIAS.
 
    Note: Job step DEFALIAS returns RC=0004 due to LISTCAT function
          completing with condition code of 4 and DEFINE ALIAS
          function completing with condition code of 0.
           
 
+--------------------------------------------------------------------+
| Step 2. Load CNTL data set from distribution tape                  |
|         JCL Member: CUTIL00.V1R1M00.CNTL($INST01)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//CUTIL001 JOB (SYS),'Install CNTL PDS',     <-- Review and Modify
//             CLASS=A,                      <-- Review and Modify
//             MSGCLASS=A,                   <-- Review and Modify
//             MSGLEVEL=(1,1)                <-- Review and Modify
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $INST01                                        *
//* *       Load CNTL data set from distribution tape      *
//* *                                                      *
//* *  Note: Uses tape drive 480                           *
//* -------------------------------------------------------*
//STEP001  EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//SYSUT1   DD  DSN=CUTIL00.V1R1M00.CNTL.TAPE,UNIT=480,
//             VOL=SER=VS1100,DISP=OLD,LABEL=(1,SL)                   
//SYSUT2   DD  DSN=CUTIL00.V1R1M00.CNTL,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//SYSIN    DD  DUMMY                                                    
/*                                                                  
//
______________________________________________________________________
Figure 2: $INST01 JCL
 
 
    a) Before submitting the above job, the distribution tape   
       must be made available to MVS by issuing the following
       command from the Hercules console:
 
       DEVINIT 480 X:\dirname\CUTIL00_V1R1M00.HET READONLY=1
 
       where X:\dirname is the complete path to the location
       of the Hercules Emulated Tape file. 
 
    b) Issue the following command from the MVS console to vary
       device 480 online:
 
       V 480,ONLINE
 
    c) Copy and paste the above JCL to a PDS member, update JOB 
       statement to conform to your installation standard.
 
       Review JCL and apply any modifications per your installation.
 
    d) Submit the job.                                              
 
    e) Review job output for successful load of the CNTL data set.
 
    f) Subsequent installation steps will be submitted from members
       contained in the CNTL data set.
 
 
+--------------------------------------------------------------------+
| Step 3. Load Other data sets from distribution tape                |
|         JCL Member: CUTIL00.V1R1M00.CNTL($INST02)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//CUTIL002 JOB (SYS),'Install Other PDSs',   <-- Review and Modify
//             CLASS=A,                      <-- Review and Modify
//             MSGCLASS=A,                   <-- Review and Modify
//             MSGLEVEL=(1,1)                <-- Review and Modify
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $INST02                                        *
//* *       Load Other data sets from distribution tape    *
//* *                                                      *
//* *  Note: Uses tape drive 480                           *
//* -------------------------------------------------------*
//STEP001  EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//INCLIST  DD  DSN=CUTIL00.V1R1M00.CLIST.TAPE,UNIT=480,
//             VOL=SER=VS1100,DISP=OLD,LABEL=(2,SL)                   
//INHELP   DD  DSN=CUTIL00.V1R1M00.HELP.TAPE,UNIT=480,
//             VOL=SER=VS1100,DISP=OLD,LABEL=(3,SL)                   
//INISPF   DD  DSN=CUTIL00.V1R1M00.ISPF.TAPE,UNIT=480,
//             VOL=SER=VS1100,DISP=OLD,LABEL=(4,SL)                   
//INASM    DD  DSN=CUTIL00.V1R1M00.ASM.TAPE,UNIT=480,
//             VOL=SER=VS1100,DISP=OLD,LABEL=(5,SL)                   
//OUTCLIST DD  DSN=CUTIL00.V1R1M00.CLIST,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTHELP  DD  DSN=CUTIL00.V1R1M00.HELP,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTISPF  DD  DSN=CUTIL00.V1R1M00.ISPF,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTASM   DD  DSN=CUTIL00.V1R1M00.ASM,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(60,30,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//SYSIN    DD  *                                                        
    COPY INDD=INCLIST,OUTDD=OUTCLIST
    COPY INDD=INHELP,OUTDD=OUTHELP
    COPY INDD=INISPF,OUTDD=OUTISPF
    COPY INDD=INASM,OUTDD=OUTASM
/*                                                                  
//
______________________________________________________________________
Figure 3: $INST02 JCL
 
 
    a) Member $INST02 in the CUTIL00.V1R1M00.CNTL data set contains
       the job to load other CUTIL00 data sets from distribution 
       tape.                                 
 
    b) Review and update JOB statement and other JCL to conform to your
       installation standard.                          
 
    c) Before submitting the above job, the distribution tape   
       must be made available to MVS by issuing the following
       command from the Hercules console:
 
       DEVINIT 480 X:\dirname\CUTIL00_V1R1M00.HET READONLY=1
 
       where X:\dirname is the complete path to the location
       of the Hercules Emulated Tape file. 
 
    d) Issue the following command from the MVS console to vary
       device 480 online:
 
       V 480,ONLINE
 
    e) Submit the job.
 
    f) Review job output for successful load of other data sets.  
       Return Code = 8 is due to empty datasets detected by IEBCOPY.
 
 
+--------------------------------------------------------------------+
| Step 4. Install TSO parts for CUTIL00                              |
|         JCL Member: CUTIL00.V1R1M00.CNTL($INST03)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//CUTIL003 JOB (SYS),'Install TSO Parts',    <-- Review and Modify
//             CLASS=A,                      <-- Review and Modify
//             MSGCLASS=A,                   <-- Review and Modify
//             MSGLEVEL=(1,1)                <-- Review and Modify
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $INST03                                        *
//* *       Install TSO parts for CUTIL00                  *
//* *                                                      *
//* *  - CCUTIL00 clist   installs to SYS2.CMDPROC         *
//* *  - CCUTIL0V clist   installs to SYS2.CMDPROC         *
//* *  - CUTIL00  help    installs to SYS2.HELP            *
//* *  - CCUTIL00 help    installs to SYS2.HELP            *
//* *                                                      *
//* *  Note: Duplicate members are over-written.           *
//* -------------------------------------------------------*
//STEP001  EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//INCLIST  DD  DSN=CUTIL00.V1R1M00.CLIST,DISP=SHR            
//INHELP   DD  DSN=CUTIL00.V1R1M00.HELP,DISP=SHR             
//OUTCLIST DD  DSN=SYS2.CMDPROC,DISP=SHR                               
//OUTHELP  DD  DSN=SYS2.HELP,DISP=SHR
//SYSIN    DD  *                                                        
    COPY INDD=((INCLIST,R)),OUTDD=OUTCLIST
    SELECT MEMBER=CCUTIL00
    SELECT MEMBER=CCUTIL0V
    COPY INDD=((INHELP,R)),OUTDD=OUTHELP
    SELECT MEMBER=CUTIL00
    SELECT MEMBER=CCUTIL00
/*                                                                  
//
______________________________________________________________________
Figure 4: $INST03 JCL
 
 
    a) Member $INST03 in the CUTIL00.V1R1M00.CNTL data set contains
       the job to install TSO CLIST and HELP files to SYS2.CMDPROC  
       and SYS2.HELP, respectively.
 
    b) Review and update JOB statement and other JCL to conform to your
       installation standard.                          
 
    c) Submit the job.
 
    d) Review job output for successful load of the TSO CLIST and 
       HELP members.                                                
 
 
+--------------------------------------------------------------------+
| Step 5. Install CUTIL00 Program and sub-programs                   |  
|         JCL Member: CUTIL00.V1R1M00.CNTL($INST04)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//CUTIL004 JOB (SYS),'Install CUTIL00',      <-- Review and Modify 
//             CLASS=A,                      <-- Review and Modify
//             MSGCLASS=A,                   <-- Review and Modify
//             MSGLEVEL=(1,1)                <-- Review and Modify
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $INST04                                        *
//* *       Install CUTIL00  Program                       *
//* *       Install CUTILTBL Sub-program                   *
//* *                                                      *
//* *  - CUTIL00  program installs to SYS2.CMDLIB          *
//* *  - Install libraries marked...                       *
//* *    - Search for '<--TARGET'                          *
//* *    - Update install libraries per your               *
//* *      installation standard                           *
//* *                                                      *
//* *  NOTE:                                               *
//* *  -----                                               *
//* *  Two user-mods, ZP60014 and ZP60038, are REQUIRED.   *
//* *                                                      *
//* *  For more information, refer to program CUTIL00.     *
//* -------------------------------------------------------*
//ASMP     PROC MBR=WHOWHAT     
//ASM      EXEC PGM=IFOX00,
//             PARM='NODECK,LOAD,RENT,TERM,XREF'
//SYSGO    DD  DSN=&&LOADSET,DISP=(MOD,PASS),SPACE=(CYL,(1,1)),
//             UNIT=VIO,DCB=(DSORG=PS,RECFM=FB,LRECL=80,BLKSIZE=800)
//SYSLIB   DD  DSN=SYS1.MACLIB,DISP=SHR
//         DD  DSN=SYS1.AMODGEN,DISP=SHR
//         DD  DSN=SYS2.MACLIB,DISP=SHR          ** YREG  **
//SYSTERM  DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSPUNCH DD  DSN=NULLFILE
//SYSUT1   DD  UNIT=VIO,SPACE=(CYL,(6,1))
//SYSUT2   DD  UNIT=VIO,SPACE=(CYL,(6,1))
//SYSUT3   DD  UNIT=VIO,SPACE=(CYL,(6,1))
//SYSIN    DD  DSN=CUTIL00.V1R1M00.ASM(&MBR),DISP=SHR <--INPUT
//         PEND                 
//*
//* -------------------------------------------------------*
//* *                                                      *
//* *  Assemble CUTIL00, CUTILTBL                          *
//* *                                                      *
//* -------------------------------------------------------*
//CUTIL00  EXEC  ASMP,MBR=CUTIL00
//CUTILTBL EXEC  ASMP,MBR=CUTILTBL
//*
//LKED     EXEC PGM=IEWL,PARM='MAP,LIST,LET,RENT,XREF',
//             COND=(5,LT)
//*            COND=(5,LT,ASM)
//SYSLIN   DD  DSN=&&LOADSET,DISP=(OLD,DELETE)
//         DD  DDNAME=SYSIN
//SYSLMOD  DD  DSN=SYS2.CMDLIB,DISP=SHR            <--TARGET
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=VIO,SPACE=(CYL,(5,2))
//SYSIN    DD  *    
 ENTRY CUTIL00
 NAME  CUTIL00(R)
/*
//*
//* -------------------------------------------------------*
//* *                                                      *
//* *  If SYSn.LINKLIB or SYSn.CMDLIB is updated           *
//* *                                                      *
//* -------------------------------------------------------*
//DBSTOP  EXEC DBSTOP,
//             COND.IEFPROC=(0,NE,LKED)
//DBSTART EXEC DBSTART,
//             COND.IEFPROC=(0,NE,LKED)
// 
______________________________________________________________________
Figure 5: $INST04 JCL
 
 
    a) Member $INST04 in the CUTIL00.V1R1M00.CNTL data set contains
       the job to install program CUTIL00 to SYS2.CMDLIB.                 
 
    b) Review and update JOB statement to conform to your installation
       standard.                                       
 
    c) Review and update DD statement for ISPLLIB (load) 
       ISPF library names.  The DD statements are tagged
       with '<--TARGET'.
 
    c) Submit the job.
 
    d) Review job output for successful completion of assembly and
       link edit steps.                                             
 
 
+--------------------------------------------------------------------+
| Step 6. Install ISPF parts for CUTIL00                             |
|         JCL Member: CUTIL00.V1R1M00.CNTL($INST05)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//CUTIL005 JOB (SYS),'Install ISPF Parts',   <-- Review and Modify 
//             CLASS=A,                      <-- Review and Modify
//             MSGCLASS=A,                   <-- Review and Modify
//             MSGLEVEL=(1,1)                <-- Review and Modify
//* -------------------------------------------------------*
//* *  Install CUTIL00 ISPF 2.0 Panels, CLIST and Messages *
//* *                                                      *
//* *  JOB: $INST05                                        *
//* *       Install ISPF parts for CUTIL00                 *
//* *                                                      *
//* *  - CCUTIL0I Clist    installs to ISPCLIB             *
//* *  - PCUTIL00 Panel    installs to ISPPLIB             *
//* *  - HCUTIL00 Panel    installs to ISPPLIB             *
//* *  - CUTIL0   Messages installs to ISPMLIB             *
//* *                                                      *
//* *  Note: Duplicate members are over-written.           *
//* *                                                      *
//* *                                                      *
//* *  - Uses CUTIL00 for MVS3.8J                          *
//* *  - Uses ISPF 2.0 product from Wally Mclaughlin       *
//* *  - Install libraries marked...                       *
//* *    - Search for '<--TARGET'                          *
//* *    - Update install libraries per your               *
//* *      installation standard                           *
//* *                                                      *
//* *  Using ISPF CUTIL00 Panel:                           *
//* *  -------------------------                           *
//* *  - Log on to TSO / ISPF 2.0.                         *
//* *  - Invoke panel driver from option 6                 *
//* *      %CCUTIL0I                                       *
//* *  - CUTIL00 panel should appear                       *
//* *  - Enter data and hit <ENTER>                        *
//* *  - Review results for entered function               *
//* -------------------------------------------------------*
/*
//* -------------------------------------------------------*
//* *                                                      *
//* *  CLIST PDS Member Installation                       *
//* *   - CCUTIL0I                                         *
//* *                                                      *
//* *  Suggested Location:                                 *
//* *      DSN defined or concatenated to ISPCLIB DD       *
//* *      for ISPF 2.0                                    *
//* *                                                      *
//* *  Note: If you use a new PDS, it must be defined      *
//* *        before executing this install job AND the     *
//* *        ISPF start-up procedure should include the    *
//* *        new PDS in the ISPCLIB allocation step.       *
//* *                                                      *
//* -------------------------------------------------------*
//ADDCLIB  EXEC PGM=IEBCOPY              
//SYSPRINT DD  SYSOUT=*
//CLIBIN   DD  DSN=CUTIL00.V1R1M00.ISPF,DISP=SHR             
//CLIBOUT  DD  DSN=XXXXXXXX.ISPCLIB,DISP=SHR       <--TARGET
//SYSIN    DD  *              
   COPY INDD=((CLIBIN,R)),OUTDD=CLIBOUT
   SELECT MEMBER=CCUTIL0I
/*
//* -------------------------------------------------------*
//* *                                                      *
//* *  Panel PDS Member Installation                       *
//* *   - PCUTIL00                                         *
//* *   - HCUTIL00                                         *
//* *                                                      *
//* *  Suggested Location:                                 *
//* *      DSN defined or concatenated to ISPPLIB DD       *
//* *      for ISPF 2.0                                    *
//* *                                                      *
//* *  Note: If you use a new PDS, it must be defined      *
//* *        before executing this install job AND the     *
//* *        ISPF start-up procedure should include the    *
//* *        new PDS in the ISPPLIB allocation step.       *
//* *                                                      *
//* -------------------------------------------------------*
//ADDPLIB  EXEC PGM=IEBCOPY              
//SYSPRINT DD  SYSOUT=*
//PLIBIN   DD  DSN=CUTIL00.V1R1M00.ISPF,DISP=SHR             
//PLIBOUT  DD  DSN=XXXXXXXX.ISPPLIB,DISP=SHR       <--TARGET
//SYSIN    DD  *              
   COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT
   SELECT MEMBER=PCUTIL00
   SELECT MEMBER=HCUTIL00
/*
//* -------------------------------------------------------*
//* *                                                      *
//* *  Message PDS Member Installation                     *
//* *   - CUTIL0                                           *
//* *                                                      *
//* *  Suggested Location:                                 *
//* *      DSN defined or concatenated to ISPMLIB DD       *
//* *      for ISPF 2.0                                    *
//* *                                                      *
//* *  Note: If you use a new PDS, it must be defined      *
//* *        before executing this install job AND the     *
//* *        ISPF start-up procedure should include the    *
//* *        new PDS in the ISPMLIB allocation step.       *
//* *                                                      *
//* -------------------------------------------------------*
//ADDMLIB  EXEC PGM=IEBCOPY              
//SYSPRINT DD  SYSOUT=*
//MLIBIN   DD  DSN=CUTIL00.V1R1M00.ISPF,DISP=SHR             
//MLIBOUT  DD  DSN=XXXXXXXX.ISPMLIB,DISP=SHR       <--TARGET
//SYSIN    DD  *              
   COPY INDD=((MLIBIN,R)),OUTDD=MLIBOUT
   SELECT MEMBER=CUTIL0 
/*
//
______________________________________________________________________
Figure 6: $INST05 JCL
 
 
    a) This step can be omitted if ISPF 2.0 is NOT installed on
       your system.  Proceed to the next step.                 
 
    b) Member $INST05 in the CUTIL00.V1R1M00.CNTL data set contains
       the job to install ISPF components to CLIB, PLIB and MLIB
       ISPF libraries.
 
    c) Review and update JOB statement to conform to your installation
       standard.
 
    d) Review and update DD statements for ISPCLIB (clist),
       ISPPLIB (panel), ISPMLIB (message) ISPF library names.
       The DD statements are tagged with '<--TARGET'.
 
    d) Submit the job.
 
    e) Review job output for successful load of ISPF members 
       across ISPF libraries. 
 
 
+--------------------------------------------------------------------+
| Step 7. Run CUTIL00 Validation                                     |
|         JCL Member: CUTIL00.V1R1M00.CNTL($IVP1)                    |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//IVP1     JOB (SYS),'CUTIL00 IPV1',         <-- Review and Modify           
//             CLASS=A,                      <-- Review and Modify 
//             MSGCLASS=A,                   <-- Review and Modify 
//             MSGLEVEL=(1,1)                <-- Review and Modify 
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $IVP1                                          *
//* *       Run CUTIL00 Validation                         *
//* *                                                      *
//* *  CUTIL00 validation via CCLIST0V using BATCH TSO     *
//* *  of documented function in program documentation.    *
//* *                                                      *
//* *  Note: CLIST are resolved from SYS2.CMDPROC          *
//* *        and tagged with <--TARGET for search          *
//* *        purposes.                                     *
//* -------------------------------------------------------*
//BATCHTSO PROC
//STEP01   EXEC PGM=IKJEFT01
//SYSPROC  DD  DISP=SHR,DSN=SYS2.CMDPROC           <--TARGET
//SYSPRINT DD  SYSOUT=*
//SYSTSPRT DD  SYSOUT=*
//SYSTSIN  DD  DUMMY       Command Line Input
//         PEND
//*
//TESTIT0  EXEC BATCHTSO 
//STEP01.SYSTSIN DD *
CCUTIL0V                                  
/*
//
______________________________________________________________________
Figure 7: $IVP1 JCL
 
 
    a) Member $IVP1 in the CUTIL00.V1R1M00.CNTL data set contains
       the job to validate CUTIL00.                                       
 
    b) Review and update JOB statement to conform to your installation
       standard.                                       
 
    c) Submit the job.
 
    d) Review job output for successful execution.  Return codes will
       vary but a PASS / FAIL message is displayed for each function.
       Expected results are all PASS.                                 
 
    e) Validation for CUTIL00 is complete.
 
 
+--------------------------------------------------------------------+
| Step 8. Run CUTIL00 Samples                                        |
|         JCL Member: CUTIL00.V1R1M00.CNTL($SAMPLES)                 |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//IVPS     JOB (SYS),'CUTIL00 IPVS',   <-- Review and Modify           
//             CLASS=A,                <-- Review and Modify 
//             MSGCLASS=A,             <-- Review and Modify 
//             MSGLEVEL=(1,1)          <-- Review and Modify 
//* -------------------------------------------------------*
//* *  CUTIL00 for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $IVP1                                          *
//* *       Run CUTIL00 Samples                            *
//* *                                                      *
//* *  CUTIL00 validation via CCUTIL00 using BATCH TSO     *
//* *  of sample functions.                                *
//* *                                                      *
//* *  Note: CLIST are resolved from SYS2.CMDPROC          *
//* *        and tagged with <--TARGET for search          *
//* *        purposes.                                     *
//* -------------------------------------------------------*
//BATCHTSO PROC
//STEP01   EXEC PGM=IKJEFT01
//SYSPROC  DD  DISP=SHR,DSN=SYS2.CMDPROC           <--TARGET
//SYSPRINT DD  SYSOUT=*
//SYSTSPRT DD  SYSOUT=*
//SYSTSIN  DD  DUMMY       Command Line Input
//         PEND
//*
//TESTITS  EXEC BATCHTSO 
//STEP01.SYSTSIN DD *
CCUTIL00 ABOUT VERBOSE(N)
CCUTIL00 LTRIM    VAR01('   LEADING SPACES') VAR02('')  VERBOSE(N)
CCUTIL00 RTRIM    VAR01('TRAILING SPACES  ') VAR02('')  VERBOSE(N)
CCUTIL00 TRIM     VAR01(' TRIM   MY  DATA ') VAR02('')  VERBOSE(N)
CCUTIL00 TRIM$    VAR01(' TRIM   MY  DATA ') VAR02('')  VERBOSE(N)
CCUTIL00 INDEX    VAR01('MY, STRING, OK?   ') VAR02('","')  VERBOSE(N)
CCUTIL00 INDEXB   VAR01('MY, STRING, OK?   ') VAR02('","')  VERBOSE(N)
CCUTIL00 ISNUM    VAR01('0123456789') VERBOSE(N)
CCUTIL00 ISALPHA  VAR01('ABCDEFGHIJ') VERBOSE(N)
CCUTIL00 ISLOWER  VAR01('abcdefghij') VERBOSE(N)
CCUTIL00 ISUPPER  VAR01('ABCDEFGHIJ') VERBOSE(N)
CCUTIL00 ISBLANK  VAR01('         ') VERBOSE(N)
CCUTIL00 ISDSN    VAR01('A.A1234567') VERBOSE(N)
CCUTIL00 ECHO     VAR01('MY DATA TO DISPLAY') VERBOSE(N)
CCUTIL00 ECHOQ    VAR01('MY DATA TO DISPLAY') VERBOSE(N)
CCUTIL00 REVRS    VAR01('ABCDEFGHIJKLM96%QRS') VAR02('') VERBOSE(N)
CCUTIL00 UPPERC   VAR01('ABCDEFGHIJKLMNOPQRS') VERBOSE(N)
CCUTIL00 LOWERC   VAR01('ABCDEFGHIJKLMNOPQRS') VAR02('') VERBOSE(N)
CCUTIL00 COUNT    VAR01('MY NAME IS DINO, BIG DINO.') VAR02('"DINO"') -        
 VERBOSE(N)
CCUTIL00 FIND     VAR01('MY NAME IS DINO, BIG DINO.') VAR02('"DINO"') -        
 VERBOSE(N)
CCUTIL00 FINDL    VAR01('MY NAME IS DINO, BIG DINO.') VAR02('"DINO"') -        
 VERBOSE(N)
CCUTIL00 CENTER   VAR01('CENTER THIS T E X T ...       ') VAR02('') -
 VERBOSE(N)
CCUTIL00 LJUST    VAR01(' JUSTIFY THIS TEXT    ') VAR02('') VERBOSE(N)
CCUTIL00 RJUST    VAR01(' JUSTIFY THIS TEXT    ') VAR02('') VERBOSE(N)
CCUTIL00 ZFILL    VAR01('12   ') VAR02('') VERBOSE(N)
CCUTIL00 WORDS    VAR01('  ONE TEWO THREE33 FOUR., FIVE ') VERBOSE(N)
CCUTIL00 GEN#     VAR01('') VERBOSE(N)
CCUTIL00 DD2DSN   VAR01('SYSPROC') VAR02('') VERBOSE(N)
CCUTIL00 JOBINFO  VAR01('') VERBOSE(N)
CCUTIL00 DAYSMM   VAR01('022016') VERBOSE(N)
CCUTIL00 DAYSYY   VAR01('2020') VERBOSE(N)
CCUTIL00 ISLEAP   VAR01('2020') VERBOSE(N)
 
CCUTIL00 CYJ-D8   VAR01('2020061') VAR02('') VERBOSE(N)
CCUTIL00 CYJ-DAY  VAR01('1981061') VAR02('') VERBOSE(N)
CCUTIL00 CYJ-DOW  VAR01('1981061') VAR02('') VERBOSE(N)
CCUTIL00 CYJ-MDCY VAR01('2020061') VAR02('') VERBOSE(N)
 
CCUTIL00 JCY-D8   VAR01('1612017') VAR02('') VERBOSE(N)
CCUTIL00 JCY-DAY  VAR01('0611981') VAR02('') VERBOSE(N)
CCUTIL00 JCY-DOW  VAR01('0611981') VAR02('') VERBOSE(N)
CCUTIL00 JCY-MDCY VAR01('1612017') VAR02('') VERBOSE(N)
 
CCUTIL00 MDCY-D8  VAR01('12101990') VAR02('') VERBOSE(N)
CCUTIL00 MDCY-DAY VAR01('12101990') VAR02('') VERBOSE(N)
CCUTIL00 MDCY-DOW VAR01('12101990') VAR02('') VERBOSE(N)
CCUTIL00 MDCY-CYJ VAR01('12101990') VAR02('') VERBOSE(N)
 
CCUTIL00 DMCY-D8  VAR01('15071987') VAR02('') VERBOSE(N)
CCUTIL00 DMCY-DAY VAR01('15071987') VAR02('') VERBOSE(N)
CCUTIL00 DMCY-DOW VAR01('15071987') VAR02('') VERBOSE(N)
CCUTIL00 DMCY-CYJ VAR01('15071987') VAR02('') VERBOSE(N)
 
CCUTIL00 CYMD-D8  VAR01('19951231') VAR02('') VERBOSE(N)
CCUTIL00 CYMD-DAY VAR01('19951231') VAR02('') VERBOSE(N)
CCUTIL00 CYMD-DOW VAR01('19951231') VAR02('') VERBOSE(N)
CCUTIL00 CYMD-CYJ VAR01('19951231') VAR02('') VERBOSE(N)
 
CCUTIL00 CYDM-D8  VAR01('19951605') VAR02('') VERBOSE(N)
CCUTIL00 CYDM-DAY VAR01('19951605') VAR02('') VERBOSE(N)
CCUTIL00 CYDM-DOW VAR01('19951605') VAR02('') VERBOSE(N)
CCUTIL00 CYDM-CYJ VAR01('19951605') VAR02('') VERBOSE(N)
CCUTIL00 FILL     VAR01('') VAR02('*20') VERBOSE(N)
CCUTIL00 LSTRIP   VAR01(',,28,BC,') VAR02(',') VERBOSE(N)
CCUTIL00 RSTRIP   VAR01(',,28,BC,') VAR02(',') VERBOSE(N)
CCUTIL00 STRIP    VAR01(',,28,BC,') VAR02(',') VERBOSE(N)
CCUTIL00 STRIP$   VAR01(',,28,BC,') VAR02(',') VERBOSE(N)
CCUTIL00 CONCAT   VAR01('STRING DATA 1.') -     
 VAR02('A RESULT STRING 2.') VERBOSE(N)   
CCUTIL00 UNSTR    VAR01('1234567 AND SO ON . I AM 78 LONG. ') -     
 VAR02('7') VERBOSE(N)       
CCUTIL00 REPLACE  VAR01('1234567 AND SO ON . I AM 7879.') -     
 VAR02('"SO ON ","890123456--"') VERBOSE(N)       
CCUTIL00 VEXIST   VAR01('VAR01') VERBOSE(N)
CCUTIL00 VEXIST   VAR01('DDD01') VERBOSE(N)
CCUTIL00 TDSN     VAR01('HERC01.CARDS.') VERBOSE(N)
CCUTIL00 NOW      VAR01('') VERBOSE(N)
CCUTIL00 PAD      VAR01('MAKE ME 30 LONG') VAR02(' 30') VERBOSE (N)
CCUTIL00 GET1V    VAR01('THE TABLE TOP IS CLEAR') VAR02('x11') -
 VERBOSE (N)
CCUTIL00 PUT1V    VAR01('THE TABLE TOP IS CLEAR') VAR02('N22') -
 VERBOSE (N)
CCUTIL00 MCAL     VAR01('') VAR02('') VERBOSE (N)
/*
//
______________________________________________________________________
Figure 8: $SAMPLES.JCL
 
 
    a) Member $SAMPLES in the CUTIL00.V1R1M00.CNTL data set contains
       the job to run CUTIL00 samples using PROC CCUTIL00.         
 
    b) Review and update JOB statement to conform to your installation
       standard.                                       
 
    c) Submit the job.
 
    d) Review job output at your leisure.  Return codes will vary by 
       function.                        
 
 
+--------------------------------------------------------------------+
| Step 9. Validate CUTIL00 ISPF 2.0 application                      |
+--------------------------------------------------------------------+
 
 
    a) This step can be omitted if ISPF 2.0 is NOT installed on
       your system.  Proceed to the next step.                       
 
    b) From the ISPF Main Menu, select option 6, COMMAND.  The TSO
       COMMAND PROCESSOR panel will display. 
 
    c) Enter the TSO command:
       %CCUTIL0I
 
    d) The panel PCUTIL00, CUTIL00 for MVS 38J, is displayed.
       Type the following information in the upper left corner:
       o  Type JOBINFO for FUNCTION
       o  Type N for VAR1 Quote
       o  Type N for VAR2 Use
       o  Press ENTER                                                         
       o  Results will display under VAR1 ruler on the panel       
          Comprised of three 8-byte fields -
              Userid, TSO proc name, and Logon proc name 
       o  Press PF1 to display help panel, HCUTIL00 
       o  Press PF3 twice to exit help and application panel 
       
    e) Validation for CUTIL00 ISPF 2.0 Application is complete.
                                                                            
                                                                            
+--------------------------------------------------------------------+
| Step 10. Done                                                      |
+--------------------------------------------------------------------+
 
 
    a) Congratulations!  You completed the installation for CUTIL00.





Enjoy CUTIL00!
                                                                            

