CUTIL00 TSO Command for MVS 3.8J / Hercules


Date: 5/03/2020  Release V1R0M10

Author: Larry Belmontes Jr.
        https://ShareABitofIT.net/CUTIL00-for-MVS-3-8J   
        Copyright (C) 2020  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 the 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 description 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 distrubtion tape
 
o  CUTIL00_V1R0M10.HET  Hercules Emulated Tape (HET) multi-file volume
                        with VOLSER of VS1010.  This tape contains
                        the CUTIL00 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 will 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 sufficent 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.V1R0M10.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
          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.V1R0M10.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.V1R0M10.CNTL.TAPE,UNIT=480,
//             VOL=SER=VS1010,DISP=OLD,LABEL=(1,SL)                   
//SYSUT2   DD  DSN=CUTIL00.V1R0M10.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_V1R0M10.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.
 
    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 distrubtion tape                 |
|         JCL Member: CUTIL00.V1R0M10.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.V1R0M10.CLIST.TAPE,UNIT=480,
//             VOL=SER=VS1010,DISP=OLD,LABEL=(2,SL)                   
//INHELP   DD  DSN=CUTIL00.V1R0M10.HELP.TAPE,UNIT=480,
//             VOL=SER=VS1010,DISP=OLD,LABEL=(3,SL)                   
//INISPF   DD  DSN=CUTIL00.V1R0M10.ISPF.TAPE,UNIT=480,
//             VOL=SER=VS1010,DISP=OLD,LABEL=(4,SL)                   
//INASM    DD  DSN=CUTIL00.V1R0M10.ASM.TAPE,UNIT=480,
//             VOL=SER=VS1010,DISP=OLD,LABEL=(5,SL)                   
//OUTCLIST DD  DSN=CUTIL00.V1R0M10.CLIST,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTHELP  DD  DSN=CUTIL00.V1R0M10.HELP,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTISPF  DD  DSN=CUTIL00.V1R0M10.ISPF,UNIT=3350,VOL=SER=MVSDLB,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTASM   DD  DSN=CUTIL00.V1R0M10.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.V1R0M10.CNTL data set contains
       the job to load other CUTIL00 data sets from distribution 
       tape.                                 
 
    b) Review and update JOB statement to comform 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_V1R0M10.HET READONLY=1
 
       where X:\DIRNAME is the complete path to the location
       of the Hercules Emulated Tape file. 
 
    d) Submit the job.
 
    e) Review job output for successful load of other data sets.  
 
 
+--------------------------------------------------------------------+
| Step 4. Install TSO parts for CUTIL00                              |
|         JCL Member: CUTIL00.V1R0M10.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.V1R0M10.CLIST,DISP=SHR            
//INHELP   DD  DSN=CUTIL00.V1R0M10.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.V1R0M10.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 to comform 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                                    |  
|         JCL Member: CUTIL00.V1R0M10.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                        *
//* *                                                      *
//* *  - 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.     *
//* -------------------------------------------------------*
//ASM      EXEC PGM=IFOX00,
//             PARM='NODECK,LOAD,RENT,TERM'
//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.V1R0M10.ASM(CUTIL00),DISP=SHR
//*
//LKED     EXEC PGM=IEWL,PARM='MAP,LIST,LET,RENT,XREF',
//             COND=(0,NE,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  *
 NAME CUTIL00(R)
/*
//* -------------------------------------------------------*
//* *                                                      *
//* *  If SYSn.LINKLIB or SYSn.CMDLIB is updated           *
//* *                                                      *
//* -------------------------------------------------------*
//DBSTOP   EXEC DBSTOP,
//             COND.IEFPROC=(0,NE,ASM)
//DBSTART  EXEC DBSTART,
//             COND.IEFPROC=(0,NE,ASM)
// 
Figure 5: $INST04 JCL
 
 
    a) Member $INST04 in the CUTIL00.V1R0M10.CNTL data set contains
       the job to install program CUTIL00 to SYS2.CMDLIB.                 
 
    b) Review and update JOB statement to comform to your installation
       standard.                                       
 
    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.V1R0M10.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.V1R0M10.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.V1R0M10.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.V1R0M10.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.V1R0M10.CNTL data set contains
       the job to install ISPF components to CLIB, PLIB and MLIB
       ISPF libraries.
 
    c) Review and update JOB statement to comform 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.V1R0M10.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.V1R0M10.CNTL data set contains
       the job to validate CUTIL00.                                       
 
    b) Review and update JOB statement to comform 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.V1R0M10.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)
/*
//
Figure 8: $SAMPLES.JCL
 
 
    a) Member $SAMPLES in the CUTIL00.V1R0M10.CNTL data set contains
       the job to run CUTIL00 samples using PROC CCUTIL00.         
 
    b) Review and update JOB statement to comform 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!
                                                                            

