ISPF Table Services for MVS 3.8J / Hercules


Date: 4/24/2018  Release V1R0M00

*  Author:  Larry Belmontes Jr.
*           https://ShareABitofIT.net/Using-ISPF-Table-Services-in-mvs-3-8j
*           Copyright (C) 2019-2021  Larry Belmontes, Jr.


---------------------------------------------------------------------- 
|  ISPF Table Srvs  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 ISPF Table Services as added value to MVS 3.8J!
-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 ISPTBLS               

o  $INST01.JCL          Load CNTL data set from distribution tape

o  ISPTBLS_V1R0M00.HET  Hercules Emulated Tape (HET) multi-file volume
                        with VOLSER of VS1000.  This tape contains
                        the software distribution.
 
o  DSCLAIMR.TXT         Disclaimer
 
o  PREREQS.TXT          Required user-mods 
 
o  README.TXT           This File                                              
 
 NOTE: ISPF v2.1 or higher must be install on MVS3.8J.            



======================================================================
* 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 may be required for some installation
   steps. 
 
o  Tape files use device 480.
 
o  DASD file(s) are loaded to VOLSER=MVSDLB, type 3350 device.  
   Confirm that 110 tracks are available.                 
 
o  TSO user-id with sufficient access rights to update ISPF libraries. 
 
o  Names of ISPCLIB (Clist) 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 ISPTBLS in MVS User Catalog           |
|         JCL Member: ISPTBLS.V1R0M00.CNTL($INST00)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISPTBLS0 JOB (SYS),'Define ISPTBLS Alias', <-- Review and Modify 
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISPTBLS for MVS3.8J TSO / Hercules                  *
//* *  JOB: $INST00  Define Alias for HLQ ISPTBLS          *
//* *  Note: The master catalog password will be required  *
//* -------------------------------------------------------*
//DEFALIAS EXEC PGM=IDCAMS 
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
 PARM GRAPHICS(CHAIN(SN))
 LISTCAT ALIAS  ENT(ISPTBLS) 
 IF LASTCC NE 0 THEN -
    DEFINE ALIAS(NAME(ISPTBLS) 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: ISPTBLS.V1R0M00.CNTL($INST01)                  |
+--------------------------------------------------------------------+
 
 
 
______________________________________________________________________
//ISPTBLS1 JOB (SYS),'Install CNTL PDS',     <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISPTBLS for MVS3.8J TSO / Hercules                  *
//* *  JOB: $INST01  Load CNTL PDS from distribution tape  *
//* *  Note: Uses tape drive 480                           *
//* -------------------------------------------------------*
//ISPTBLS1 PROC VRM=V1R0M00,                           
//             TVOLSER=VS1000,TUNIT=480,
//             DVOLSER=MVSDLB,DUNIT=3350     <-- Review and Modify
//LOAD001  EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//SYSUT1   DD  DSN=ISPTBLS.&VRM..CNTL.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(1,SL)                 
//SYSUT2   DD  DSN=ISPTBLS.&VRM..CNTL,
//             UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//SYSIN    DD  DUMMY                                                    
//         PEND                                                     
//*
//STEP001  EXEC ISPTBLS1
______________________________________________________________________
Figure 1: $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\ISPTBLS_V1R0M00.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 distrubtion tape                 |
|         JCL Member: ISPTBLS.V1R0M00.CNTL($INST02)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISPTBLS1 JOB (SYS),'Install Other PDSs',   <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISPTBLS for MVS3.8J TSO / Hercules                  *
//* *  JOB: $INST02  Load other PDS from distribution tape *
//* *  Note: Uses tape drive 480                           *
//* -------------------------------------------------------*
//ISPTBLS2 PROC VRM=V1R0M00,                           
//             TVOLSER=VS1000,TUNIT=480,
//             DVOLSER=MVSDLB,DUNIT=3350     <-- Review and Modify
//LOAD02   EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//INCLIST  DD  DSN=ISPTBLS.&VRM..CLIST.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(2,SL)                   
//INHELP   DD  DSN=ISPTBLS.&VRM..HELP.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(3,SL)                   
//INISPF   DD  DSN=ISPTBLS.&VRM..ISPF.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(4,SL)                   
//INASM    DD  DSN=ISPTBLS.&VRM..ASM.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(5,SL)                   
//OUTCLIST DD  DSN=ISPTBLS.&VRM..CLIST,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTHELP  DD  DSN=ISPTBLS.&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTISPF  DD  DSN=ISPTBLS.&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//OUTASM   DD  DSN=ISPTBLS.&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(60,30,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//         PEND                                                         
//*
//STEP001  EXEC ISPTBLS2
//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 ISPTBLS.V1R0M00.CNTL data set contains
       the job to load other ISPTBLS 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\ISPTBLS_V1R0M00.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.  
 
 
 
+--------------------------------------------------------------------+
| Step 4. Install ISPF parts for ISPTBLS                             |
|         JCL Member: ISPTBLS.V1R0M00.CNTL($INST05)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISPTBLS5 JOB (SYS),'Install ISPF Parts',   <-- Review and Modify 
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISPTBLS for MVS3.8J TSO / Hercules                  *
//* *                                                      *
//* *  JOB: $INST05  Install ISPF parts                    *
//* *                                                      *
//* *  Note: Duplicate members are over-written.           *
//* *                                                      *
//* *                                                      *
//* -------------------------------------------------------*
/*
//* -------------------------------------------------------*
//* *                                                      *
//* *  CLIST PDS Member Installation                       *
//* *  - CEMPL00  Clist    installs to ISPCLIB             *
//* *  - CEMPL1A  Clist    installs to ISPCLIB             *
//* *  - CEMPL1B  Clist    installs to ISPCLIB             *
//* *  - CEMPL1C  Clist    installs to ISPCLIB             *
//* *  - CEMPL1D  Clist    installs to ISPCLIB             *
//* *  - CEMPL1E  Clist    installs to ISPCLIB             *
//* *  - CEMPL1F  Clist    installs to ISPCLIB             *
//* *  - CEMPL1G  Clist    installs to ISPCLIB             *
//* *  - CEMPL1H  Clist    installs to ISPCLIB             *
//* *  - CEMPL1I  Clist    installs to ISPCLIB             *
//* *  - CEMPL1J  Clist    installs to ISPCLIB             *
//* *  - CEMPL1K  Clist    installs to ISPCLIB             *
//* *  - CEMPL1L  Clist    installs to ISPCLIB             *
//* *  - CEMPL1M  Clist    installs to ISPCLIB             *
//* *  - CEMPL1N  Clist    installs to ISPCLIB             *
//* *  - CEMPL1O  Clist    installs to ISPCLIB             *
//* *  - CEMPL1P  Clist    installs to ISPCLIB             *
//* *                                                      *
//* *  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=ISPTBLS.V1R0M00.ISPF,DISP=SHR             
//CLIBOUT  DD  DSN=XXXXXXXX.ISPCLIB,DISP=SHR       <--TARGET
//SYSIN    DD  *              
   COPY INDD=((CLIBIN,R)),OUTDD=CLIBOUT
   SELECT MEMBER=CEMPL00   
   SELECT MEMBER=CEMPL1A   
   SELECT MEMBER=CEMPL1B   
   SELECT MEMBER=CEMPL1C   
   SELECT MEMBER=CEMPL1D   
   SELECT MEMBER=CEMPL1E   
   SELECT MEMBER=CEMPL1F   
   SELECT MEMBER=CEMPL1G   
   SELECT MEMBER=CEMPL1H   
   SELECT MEMBER=CEMPL1I   
   SELECT MEMBER=CEMPL1J   
   SELECT MEMBER=CEMPL1K   
   SELECT MEMBER=CEMPL1L   
   SELECT MEMBER=CEMPL1M   
   SELECT MEMBER=CEMPL1N   
   SELECT MEMBER=CEMPL1O   
   SELECT MEMBER=CEMPL1P   
/*
//* -------------------------------------------------------*
//* *                                                      *
//* *  Panel PDS Member Installation                       *
//* *  - PEMPL8D  Panel    installs to ISPPLIB             *
//* *  - PEMPL9D  Panel    installs to ISPPLIB             *
//* *  - PISPTBLS Panel    installs to ISPPLIB             *
//* *  - HISPTBLS Panel    installs to ISPPLIB             *
//* *                                                      *
//* *  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=ISPTBLS.V1R0M00.ISPF,DISP=SHR             
//PLIBOUT  DD  DSN=XXXXXXXX.ISPPLIB,DISP=SHR       <--TARGET
//SYSIN    DD  *              
   COPY INDD=((PLIBIN,R)),OUTDD=PLIBOUT
   SELECT MEMBER=PEMPL8D
   SELECT MEMBER=PEMPL9D
   SELECT MEMBER=PISPTBLS
   SELECT MEMBER=HISPTBLS
/*
//
______________________________________________________________________
Figure 2: $INST05 JCL
 
 
    a) Member $INST05 in the ISPTBLS.V1R0M00.CNTL data set contains
       the job to install ISPF components to CLIB and PLIB 
       ISPF libraries.
 
    b) Review and update JOB statement and other JCL to conform to your
       installation standard.                                       
 
    c) Review and update DD statements for ISPCLIB (clist),
       ISPPLIB (panel) 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 5. Validate Using ISPF Tables menu application                |
+--------------------------------------------------------------------+
 
 
    a) From the ISPF Main Menu, enter the following command:       
       TSO ISPEXEC SELECT PANEL(PISPTBLS)                
 
    b) The panel PISPTBLS, Using ISPF Table Services w MVS 3.8J menu,
       is displayed.
       o  Select option A, EMPL1A
       o  Since no table has been created, the result display log is
             
            ** CEMPL1A: DISPLAY ISPF TABLE VIA TBDISPL ** 
            USING TABLE NAME:EMPLTBL0                    
            TBOPEN ERROR, RC=8                           
            ***                                          
             
       o  Press <ENTER>                                                         
       o  Press <PF1> to display help panel, HISPTBLS 
       o  Press <PF3> twice to exit help and menu panel 
       
    e) Validation for Using ISPF Tables menu application is complete.
                                                                            
                                                                            
+--------------------------------------------------------------------+
| Step 4. Done                                                       |
+--------------------------------------------------------------------+
 
 
    a) Congratulations!  You completed the installation.





Enjoy using ISPF Tables!
                                                                            

