ISPF, ISPF 2.x, MVS38J

ISRZ00 in MVS38J

ISRZ00 – ISPF Generic Messages for MVS38J / Hercules
(current version 1.2.00  2022-07-09)

When developing application dialogues under ISPF 2.0 (Wally Mclaughlin’s ISPF-like product) on a Hercules/MVS38J system, some form of error processing and messaging is most likely an application requirement. Even when quickly developing a productivity tool!

ISPF 2.0 (referred to ISPF in this post) message facility displays a short message (24 characters) in the upper right-hand corner of line 1. If the user subsequently presses PF1 (HELP), the corresponding long message is displayed on line 3 (78 characters). This is typical ISPF behavior.

According to ISPF documentation, the message declaration in a message member follows the below definition:

line 1:                                                                
                                                                       
'MSGID' ['short message'] [.HELP=panel|*] [.ALARM=yes|no] [NOKANA|KANA]
[.WINDOW=resp|noresp] [.TYPE=notify|warning|action|critical]           
                                                                       
line 2:                                                                
                                                                       
'long message'

Figure 1. Message Format

However, some of the operands are ignored in this version of ISPF. They include:
[.ALARM=yes|no] [NOKANA|KANA] [.WINDOW=resp|noresp] [.TYPE=notify|warning|action|critical] .

I mentioned developer productivity tool purposely! Some MVS ISPF freeware and CBT contributed software contain ISPF dialogues that use generic message ISRZ002 allowing the developer to set short message and long message content without defining new message entries into a message member.

I am not advocating replacing actual messages with generic messages. However, for internal tools, this could be an acceptable practice based on departmental standards or best practices.

Therefore, as an upgrade to ISPF to increase message use flexibility, a variation of generic messages in member ISRZ00 can be applied to an existing non-system ISPMLIB library. All contained generic messages use symbolic variables to provide message content setting from a panel, CLIST or program.

ISRZ00 contains four generic messages are ISRZ000, ISRZ001, ISRZ002, and ISRZ003. Below is message definition for ISRZ002 adapted for ISPF:

ISRZ002  '&ZERRSM                 ' .ALARM = NO           
'&ZERRLM                                                                       '


Figure 2. Message ISRZ002 Content

Note the use of &ZERRSM and &ZERRLM symbolic variables which are resolved by ISPF message processing at time of execution.

After the message member ISRZ00 is installed and configured into ISPF, the programmer can invoke generic message ISRZ002 as shown in the below example code snippets.

)INIT
 .
 . code in INIT panel section
 .
 &ZERRLM = 'ENTER DATA IN THE FIRST TWO SEARCH FIELDS'
 &ZERRSM = ''  /*Blank short message to display Long Message*/
 .MSG = ISRZ002   /* User generic message number */
 .
 .
 .

)PROC
 .
 .  code in PROC panel section
 .
 &ZERRLM = 'PROCESSING COMPLETED FOR FILE OPERATION REQUESTED'
 &ZERRSM = 'PROCESS DONE'
 .MSG = ISRZ002   /* User generic message number */
 .
 .
 .


Figure 3. Panel Code Snippet 

A similar approach can be used with ISPF CLISTs.

PROC 0
.
. code in ISPF PROC
.
SET ZERRLM = &STR(INVALID VALUE FOR FIELD)
SET ZERRSM = &STR(FIELD XYZ VALID VALUES ARE A, B, C)
ISPEXEC SETMSG MSG(ISRZ002)    /* User generic message number */
ISPEXEC DISPLAY PANEL(panelid)
.
.
.

Figure 4. CLIST Code Snippet

For a program, SETMSG can be invoked via ISPLINK or ISPEXEC depending on language syntax. Consult manual SC34-2088-2 ISPF Dialog Management on the use of SETMSG.

Software Disclaimer

No guarantee; No warranty; Install / Use at your own risk.

This software is provided “AS IS” and without any expressed or implied warranties, including, without limitation, the implied warranties of merchantability and fitness for a particular purpose.

The author requests keeping authors name intact to any modified versions.

In addition, the author requests readers to submit any code modifications / enhancements and associated comments for consideration into a subsequent release (giving credit to contributors) thus, improving overall functionality benefiting the MVS 3.8J hobbyist public domain community.

Installing Message Member ISRZ00

After downloading the ZIP file, the approach for this installation procedure is to transfer the distribution content (HET and XMI formats) 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.

  • Click here to download the ISRZ00 zip file to your PC local drive.

The below README file includes a ZIP file content list, pre-installation requirements and installation steps.


ISRZ00 for MVS 3.8J / Hercules                                              . 
==============================                                              .
                                                                            .

Date: 07/09/2022  Release V1R2M00
      06/22/2021  Release V1R1M00
      06/21/2019  Release V1R0M00  **INITIAL software distribution

*  Author:  Larry Belmontes Jr.
*           https://ShareABitofIT.net/ISRZ00-in-MVS38J
*           Copyright (C) 2020-2022 Larry Belmontes, Jr.


---------------------------------------------------------------------- 
|    ISRZ00       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 content from your personal computing device to MVS with
minimal JCL 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 (notes, credits) and installation steps.
 
Good luck and enjoy this software as added value to MVS 3.8J!
-Larry Belmontes



---------------------------------------------------------------------- 
|    ISRZ00       C h a n g e   H i s t o r y                        | 
---------------------------------------------------------------------- 
*
*  MM/DD/CCYY Version  Change Description
*  ---------- -------  -----------------------------------------------
*  07/09/2022 1.2.00   - Repackaged distribution and installation
*                      - No change to ISRZ00 messages
*
*  06/22/2021 1.1.00   - Add message ISRZ005 to provide similar
*                        compatibility with IBM ISPF ISR002 
*
*  06/21/2019 1.0.00   - Initial version released to MVS 3.8J
*                        hobbyist public domain
*
*
======================================================================
* I. C o n t e n t   o f   Z I P   F i l e                           |
======================================================================

o  $INST00.JCL          Define Alias for HLQ ISRZ00 in Master Catalog
 
o  $INST01.JCL          Load CNTL data set from distribution tape
 
o  $RECVXMI.JCL         Receive XMI SEQ to MVS PDSs                  
 
o  ISRZ00.V1R2M00.HET   Hercules Emulated Tape (HET) multi-file volume
                        with VOLSER of VS1200 containing software   
                        distribution.                         

o  ISRZ00.V1R2M00.XMI   XMIT file containing 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 installed under MVS3.8J TSO             
-----   including associated user-mods per ISPF Installation Pre-reqs.
 

======================================================================
* 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  As default, DASD files will be loaded to VOLSER=MVSDLB, type 3350 device.
    
   Below is a DATASET List after tape distribution load for reference purposes:
    
   DATA-SET-NAME------------------------------- VOLUME ALTRK USTRK ORG FRMT % XT
   ISRZ00.V1R2M00.ASM                           MVSDLB    20     1 PO  FB   5  1
   ISRZ00.V1R2M00.CLIST                         MVSDLB     2     1 PO  FB  50  1
   ISRZ00.V1R2M00.CNTL                          MVSDLB    20     7 PO  FB  35  1
   ISRZ00.V1R2M00.HELP                          MVSDLB     2     1 PO  FB  50  1
   ISRZ00.V1R2M00.ISPF                          MVSDLB     5     2 PO  FB  40  1
   ISRZ00.V1R2M00.MACLIB                        MVSDLB     2     1 PO  FB  50  1
   **END**    TOTALS:      51 TRKS ALLOC        13 TRKS USED       6 EXTENTS    
    
   Confirm the TOTAL track allocation is available on MVSDLB.                 
    
   Note: A different DASD device type may be used to yield
         different usage results.
 
o  TSO user-id with sufficient access rights to update SYS2.CMDPROC,  
   SYS2.CMDLIB, SYS2.HELP, SYS2.LINKLIB and/or ISPF libraries.
 
o  For installations with a security system (e.g. RAKF), you MAY need to
   insert additional JOB statement information.
    
   //         USER=???????,PASSWORD=????????
 
o  Names of ISPCLIB (Clist), ISPMLIB (Message), ISPLLIB (Load) and/or 
   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.
  
o  Install pre-requisite (if any) software and/or user modifications.
  
 
                                                
======================================================================
* III. I n s t a l l a t i o n   S t e p s                           |
======================================================================
                                                
+--------------------------------------------------------------------+
| Step 1. Define Alias for HLQ ISRZ00 in MVS User Catalog            |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST00)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0000 JOB (SYS),'Define ISRZ00 Alias',  <-- Review and Modify 
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *  JOB: $INST00  Define Alias for HLQ ISRZ00           *
//* *  Note: The master catalog password will be required  *
//* -------------------------------------------------------*
//DEFALIAS EXEC PGM=IDCAMS 
//SYSPRINT DD  SYSOUT=*
//SYSIN    DD  *
 PARM GRAPHICS(CHAIN(SN))
 LISTCAT ALIAS  ENT(ISRZ00) 
  
 IF LASTCC NE 0 THEN -
    DEFINE ALIAS(NAME(ISRZ00) 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: When $INST00 runs for the first time,
          Job step DEFALIAS returns RC=0004 due to LISTCAT ALIAS function
          completing with condition code of 4 and DEFINE ALIAS function 
          completing with condition code of 0.
           
    Note: If $INST00 runs after the ALIAS is defined,
          Job step DEFALIAS returns RC=0000 due to LISTCAT ALIAS function
          completing with condition code of 0 and DEFINE ALIAS 
          function being bypassed.
           
 
+--------------------------------------------------------------------+
| Step 2. Determine software installation source                     |
+--------------------------------------------------------------------+
|         HET or XMI ?                                               |
+--------------------------------------------------------------------+
 
 
    a) Software can be installed from two sources, HET or XMI.    
          
       - For tape installation (HET), proceed to STEP 4. ****     
          
         or
          
       - For XMIT installation (XMI), proceed to next STEP.     
 
 
+--------------------------------------------------------------------+
| Step 3. Load XMIPDS data set from XMI SEQ file                     |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($RECVXMI)                  |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//RECV000A JOB (SYS),'Receive ISRZ00 XMI',       <-- Review and Modify
//             CLASS=A,MSGCLASS=X,REGION=0M,     <-- Review and Modify
//             MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  JOB: $RECVXMI  Receive Application XMI Files        *
//* -------------------------------------------------------*
//RECV     PROC HLQ=ISRZ00,VRM=V1R2M00,TYP=XXXXXXXX,
//             DSPACE='(TRK,(10,05,40))',DDISP='(,CATLG,DELETE)',
//             DUNIT=3350,DVOLSER=MVSDLB         <-- Review and Modify
//*
//RECV370  EXEC PGM=RECV370
//STEPLIB  DD  DSN=SYS2.LINKLIB,DISP=SHR         <-- Review and Modify
//RECVLOG  DD  SYSOUT=*
//XMITIN   DD  DISP=SHR,DSN=&&XMIPDS(&TYP)
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  DSN=&&SYSUT1,
//   UNIT=SYSALLDA,SPACE=(CYL,(10,05)),DISP=(,DELETE,DELETE) 
//SYSUT2   DD  DSN=&HLQ..&VRM..&TYP,DISP=&DDISP,
//   UNIT=&DUNIT,SPACE=&DSPACE,VOL=SER=&DVOLSER
//SYSIN    DD  DUMMY
//SYSUDUMP DD  SYSOUT=*
//         PEND
//* RECEIVE XMIPDS TEMP                                       
//XMIPDS   EXEC RECV,TYP=XMIPDS,DSPACE='(CYL,(10,05,10),RLSE)' 
//RECV370.XMITIN DD  DISP=SHR,DSN=your.transfer.xmi    <-- XMI File 
//RECV370.SYSUT2   DD  DSN=&&XMIPDS,DISP=(,PASS), 
//   UNIT=SYSDA,SPACE=&DSPACE
//* RECEIVE CNTL, HELP, CLIST, ISPF, ASM, MACLIB
//CNTL     EXEC RECV,TYP=CNTL,DSPACE='(TRK,(20,10,10))'
//HELP     EXEC RECV,TYP=HELP,DSPACE='(TRK,(02,02,02))'
//CLIST    EXEC RECV,TYP=CLIST,DSPACE='(TRK,(02,02,02))'
//ISPF     EXEC RECV,TYP=ISPF,DSPACE='(TRK,(05,05,10))'
//ASM      EXEC RECV,TYP=ASM,DSPACE='(TRK,(20,10,10))'
//MACLIB   EXEC RECV,TYP=MACLIB,DSPACE='(TRK,(02,02,02))'
//
______________________________________________________________________
Figure 2: $RECVXMI.JCL
 
 
    a) Transfer ISRZ00.V1R2M00.XMI to MVS using your 3270 emulator.
       
       Make note of the DSN assigned on MVS transfer.       
       
       Use transfer IND$FILE options:                   
       
          NEW BLKSIZE=3200 LRECL=80 RECFM=FB     
             
       Ensure the DSN on MVS exists with the correct DCB information:
       
          ORG=PS BLKSIZE=3200 LRECL=80 RECFM=FB     
       
          
    b) 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 
       including the DSN assigned during the transfer above for
       the XMI file.
 
    d) Submit the job.                                              
 
    e) Review job output for successful load of the following PDSs:
 
       ISRZ00.V1R2M00.ASM   
       ISRZ00.V1R2M00.CLIST 
       ISRZ00.V1R2M00.CNTL  
       ISRZ00.V1R2M00.HELP  
       ISRZ00.V1R2M00.ISPF  
       ISRZ00.V1R2M00.MACLIB
 
    f) Subsequent installation steps will be submitted from members
       contained in the CNTL data set.
 
    g) Proceed to STEP 6.   ****
 
+--------------------------------------------------------------------+
| Step 4. Load CNTL data set from distribution tape                  |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST01)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0001 JOB (SYS),'Install CNTL PDS',     <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *  JOB: $INST01  Load CNTL PDS from distribution tape  *
//* *  Note: Uses tape drive 480                           *
//* -------------------------------------------------------*
//LOADCNTL PROC HLQ=ISRZ00,VRM=V1R2M00,TVOLSER=VS1200,      
//   TUNIT=480,DVOLSER=MVSDLB,DUNIT=3350     <-- Review and Modify
//LOAD001  EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//INCNTL   DD  DSN=&HLQ..&VRM..CNTL.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(1,SL)                 
//CNTL     DD  DSN=&HLQ..&VRM..CNTL,
//             UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//         PEND                                                     
//STEP001  EXEC LOADCNTL                     Load CNTL PDS
//SYSIN    DD  *                                                        
    COPY INDD=INCNTL,OUTDD=CNTL 
//                                                                  
______________________________________________________________________
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\ISRZ00.V1R2M00.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 5. Load Other data sets from distribution tape                |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST02)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0002 JOB (SYS),'Install Other PDSs',   <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *  JOB: $INST02  Load other PDS from distribution tape *
//* *  Tape Volume:  File 1 - CNTL                         *
//* *                File 2 - CLIST                        *
//* *                File 3 - HELP                         *
//* *                File 4 - ISPF                         *
//* *                File 5 - ASM                          *
//* *                File 6 - MACLIB                       *
//* *  Note: Default TAPE=480, DASD=3350 on MVSDLB         *
//* -------------------------------------------------------*
//LOADOTHR PROC HLQ=ISRZ00,VRM=V1R2M00,TVOLSER=VS1200,            
//   TUNIT=480,DVOLSER=MVSDLB,DUNIT=3350     <-- Review and Modify
//LOAD02   EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//INCLIST  DD  DSN=&HLQ..&VRM..CLIST.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(2,SL)                   
//INHELP   DD  DSN=&HLQ..&VRM..HELP.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(3,SL)                   
//INISPF   DD  DSN=&HLQ..&VRM..ISPF.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(4,SL)                   
//INASM    DD  DSN=&HLQ..&VRM..ASM.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(5,SL)                   
//INMACLIB DD  DSN=&HLQ..&VRM..MACLIB.TAPE,UNIT=&TUNIT,
//             VOL=SER=&TVOLSER,DISP=OLD,LABEL=(6,SL)   
//CLIST    DD  DSN=&HLQ..&VRM..CLIST,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(02,02,02)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//HELP     DD  DSN=&HLQ..&VRM..HELP,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(02,02,02)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//ISPF     DD  DSN=&HLQ..&VRM..ISPF,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(05,05,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//ASM      DD  DSN=&HLQ..&VRM..ASM,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(20,10,10)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600) 
//MACLIB   DD  DSN=&HLQ..&VRM..MACLIB,UNIT=&DUNIT,VOL=SER=&DVOLSER,
//             SPACE=(TRK,(02,02,02)),DISP=(,CATLG),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=3600)
//         PEND                                                         
//*
//STEP001  EXEC LOADOTHR                     Load ALL other PDSs
//SYSIN    DD  *                                                        
    COPY INDD=INCLIST,OUTDD=CLIST
    COPY INDD=INHELP,OUTDD=HELP
    COPY INDD=INISPF,OUTDD=ISPF
    COPY INDD=INASM,OUTDD=ASM
    COPY INDD=INMACLIB,OUTDD=MACLIB
//                                                                  
______________________________________________________________________
Figure 3: $INST02 JCL
 
 
    a) Member $INST02 installs remaining 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\ISRZ00.V1R2M00.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 loads.  
 
 
+--------------------------------------------------------------------+
| Step 6. FULL or UPGRADE Installation                               |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($UP1200)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ000U JOB (SYS),'Upgrade ISRZ00',       <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *                                                      *
//* *  JOB: $UP1200                                        *
//* *       Upgrade ISRZ00 Software from release V1R1M00   *
//* *                                                      *
//* *  Review JCL before submitting!!                      *
//* -------------------------------------------------------*
//*
//* -------------------------------------------------------*
//* *                                                      *
//* *  PROC: PARTSISPF                                     *
//* *       Copy ISPF Parts                                *
//* *                                                      *
//* -------------------------------------------------------*
//PARTSI   PROC HLQ=MYHLQ,VRM=VXRXMXX,
//             CLIB='XXXXXXXX.ISPCLIB',    
//             MLIB='XXXXXXXX.ISPMLIB',    
//             PLIB='XXXXXXXX.ISPPLIB',   
//             SLIB='XXXXXXXX.ISPSLIB',   
//             TLIB='XXXXXXXX.ISPTLIB'    
//*
//* -------------------------------------------------------*
//* *                                                      *
//* *  ISPF Library Member Installation                    *
//* *                                                      *
//* *  Suggested Location:                                 *
//* *      DSN defined or concatenated to ISPF Libraries   *
//* *      - ISPCLIB, ISPMLIB, ISPPLIB, ISPSLIB, ISPTLIB   *
//* *                                                      *
//* *  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 ISPxLIB allocation step.       *
//* *                                                      *
//* -------------------------------------------------------*
//ISPFLIBS EXEC PGM=IEBCOPY              
//SYSPRINT DD  SYSOUT=*
//ISPFIN   DD  DSN=&HLQ..&VRM..ISPF,DISP=SHR             
//CLIBOUT  DD  DSN=&CLIB,DISP=SHR
//MLIBOUT  DD  DSN=&MLIB,DISP=SHR
//PLIBOUT  DD  DSN=&PLIB,DISP=SHR
//SLIBOUT  DD  DSN=&SLIB,DISP=SHR
//TLIBOUT  DD  DSN=&TLIB,DISP=SHR
//SYSIN    DD  DUMMY          
//*
//         PEND
//*
//* -------------------------------------------------------*
//* *  Update ISPF parts for this release distribution     *
//* -------------------------------------------------------*
//* *  Note: Duplicate members are over-written.           *
//* -------------------------------------------------------*
//*
//* *  - Install libraries marked...                       *
//* *    - Search for '<--TARGET'                          *
//* *    - Update install libraries per your               *
//* *      installation standard                           *
//*
//* -------------------------------------------------------*
//ISPFPRTS EXEC PARTSI,HLQ=ISRZ00,VRM=V1R2M00,
//         CLIB='XXXXXXXX.ISPCLIB',                <--TARGET
//         MLIB='XXXXXXXX.ISPMLIB',                <--TARGET
//         PLIB='XXXXXXXX.ISPPLIB',                <--TARGET
//         SLIB='XXXXXXXX.ISPSLIB',                <--TARGET
//         TLIB='XXXXXXXX.ISPTLIB'                 <--TARGET
//SYSIN    DD  *
   COPY INDD=((ISPFIN,R)),OUTDD=CLIBOUT
   SELECT MEMBER=C$ISRZ0      
   SELECT MEMBER=C$ISRZ5      
   COPY INDD=((ISPFIN,R)),OUTDD=MLIBOUT
   SELECT MEMBER=ISRZ00    
   COPY INDD=((ISPFIN,R)),OUTDD=PLIBOUT
   SELECT MEMBER=PSAM00  
   SELECT MEMBER=PSAM005 
   COPY INDD=((ISPFIN,R)),OUTDD=SLIBOUT
   SELECT MEMBER=NO#MBR#                     /*dummy entry no mbrs! */
   COPY INDD=((ISPFIN,R)),OUTDD=TLIBOUT
   SELECT MEMBER=NO#MBR#                     /*dummy entry no mbrs! */
// 
______________________________________________________________________
Figure 5: $UP1200.JCL  Upgrade from previous version to V1R2M00
 
    a) If this is the INITIAL software distribution, proceed to STEP 7.
 
    b) This software may be installed in FULL or UPGRADE from a
       prior version.
 
    Note:  If the installed software version is customized, a manual
    -----  review and evaluation is suggested to properly incorporate
           customizations into this software distribution before
           proceeding with the installation.
 
           Refer to the $UPvrmm.JCL members for upgraded software
           components being installed.
 
 
    c) If a FULL install of this software distribution is elected   
       regardless of previous version installed on your system,
       proceed to STEP 7.
 
    d) If this is an UPGRADE from the PREVIOUS version,       
       execute the below JCL based on current installed version:  
 
       - Upgrading from V1R1M00, use $UP1200.JCL
       - V1R0M00 initial release, thus, no updates available!
 
 
    d) After upgrade is applied, proceed to validation, STEP 11.
 
 
+--------------------------------------------------------------------+
| Step 7. Install TSO parts                                          |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST03)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0003 JOB (SYS),'Install TSO Parts',    <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *                                                      *
//* *  JOB: $INST03  Install TSO parts                     *
//* *                                                      *
//* *  Note: Duplicate members are over-written.           *
//* -------------------------------------------------------*
//STEP001  EXEC PGM=IEBCOPY                                           
//SYSPRINT DD  SYSOUT=*                                              
//INCLIST  DD  DSN=ISRZ00.V1R2M00.CLIST,DISP=SHR            
//INHELP   DD  DSN=ISRZ00.V1R2M00.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=NO#MBR#                    /*dummy entry no mbrs! */
    COPY INDD=((INHELP,R)),OUTDD=OUTHELP
    SELECT MEMBER=NO#MBR#                    /*dummy entry no mbrs! */
/*                                                                  
//
______________________________________________________________________
Figure 6: $INST03 JCL
 
 
    a) Member $INST03 installs TSO component(s).
 
       Note:  If no TSO components are included for this distribution,
       -----  RC = 4 is returned by the corresponding IEBCOPY step.
 
    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(s).
 
 
+--------------------------------------------------------------------+
| Step 8. Install ISRZ00 Programs                                    |  
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST04)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0004 JOB (SYS),'Install ISRZ00',       <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *                                                      *
//* *  JOB: $INST04  Install ISRZ00 Software               *
//* *                                                      *
//* *  - Install libraries marked...                       *
//* *    - Search for '<--TARGET'                          *
//* *    - Update install libraries per your               *
//* *      installation standard                           *
//* *                                                      *
//* -------------------------------------------------------*
//*
//* -------------------------------------------------------*
//* *  IEFBR14                                             *
//* -------------------------------------------------------*
//DUMMY    EXEC PGM=IEFBR14
//SYSPRINT DD   SYSOUT=*
// 
______________________________________________________________________
Figure 7: $INST04 JCL
 
 
    a) Member $INST04 installs program(s).
 
       Note:  If no components are included for this distribution,
       -----  an IEFBR14 step is executed.
 
    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 completion.
 
 
+--------------------------------------------------------------------+
| Step 9. Install ISPF parts                                         |
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST05)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0005 JOB (SYS),'Install ISPF Parts',   <-- Review and Modify 
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *                                                      *
//* *  JOB: $INST05  Install ISPF parts                    *
//* *                                                      *
//* *  Note: Duplicate members are over-written.           *
//* *                                                      *
//* -------------------------------------------------------*
//*
//* -------------------------------------------------------*
//* *                                                      *
//* *  PROC: PARTSISPF                                     *
//* *       Copy ISPF Parts                                *
//* *                                                      *
//* -------------------------------------------------------*
//PARTSI   PROC HLQ=MYHLQ,VRM=VXRXMXX,
//             CLIB='XXXXXXXX.ISPCLIB',    
//             MLIB='XXXXXXXX.ISPMLIB',    
//             PLIB='XXXXXXXX.ISPPLIB',   
//             SLIB='XXXXXXXX.ISPSLIB',   
//             TLIB='XXXXXXXX.ISPTLIB'    
//*
//* -------------------------------------------------------*
//* *                                                      *
//* *  ISPF Library Member Installation                    *
//* *                                                      *
//* *  Suggested Location:                                 *
//* *      DSN defined or concatenated to ISPF Libraries   *
//* *      - ISPCLIB, ISPMLIB, ISPPLIB, ISPSLIB, ISPTLIB   *
//* *                                                      *
//* *  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 ISPxLIB allocation step.       *
//* *                                                      *
//* -------------------------------------------------------*
//ISPFLIBS EXEC PGM=IEBCOPY              
//SYSPRINT DD  SYSOUT=*
//ISPFIN   DD  DSN=&HLQ..&VRM..ISPF,DISP=SHR             
//CLIBOUT  DD  DSN=&CLIB,DISP=SHR
//MLIBOUT  DD  DSN=&MLIB,DISP=SHR
//PLIBOUT  DD  DSN=&PLIB,DISP=SHR
//SLIBOUT  DD  DSN=&SLIB,DISP=SHR
//TLIBOUT  DD  DSN=&TLIB,DISP=SHR
//SYSIN    DD  DUMMY          
//*
//         PEND
//*
//ISPF     EXEC PARTSI,HLQ=ISRZ00,VRM=V1R2M00,
//         CLIB='XXXXXXXX.ISPCLIB',                <--TARGET
//         MLIB='XXXXXXXX.ISPMLIB',                <--TARGET
//         PLIB='XXXXXXXX.ISPPLIB',                <--TARGET
//         SLIB='XXXXXXXX.ISPSLIB',                <--TARGET
//         TLIB='XXXXXXXX.ISPTLIB'                 <--TARGET
//SYSIN    DD  *
   COPY INDD=((ISPFIN,R)),OUTDD=CLIBOUT
   SELECT MEMBER=C$ISRZ0      
   SELECT MEMBER=C$ISRZ5      
   COPY INDD=((ISPFIN,R)),OUTDD=MLIBOUT
   SELECT MEMBER=ISRZ00    
   COPY INDD=((ISPFIN,R)),OUTDD=PLIBOUT
   SELECT MEMBER=PSAM00
   SELECT MEMBER=PSAM005  
   COPY INDD=((ISPFIN,R)),OUTDD=SLIBOUT
   SELECT MEMBER=NO#MBR#                     /*dummy entry no mbrs! */
   COPY INDD=((ISPFIN,R)),OUTDD=TLIBOUT
   SELECT MEMBER=NO#MBR#                     /*dummy entry no mbrs! */
//
______________________________________________________________________
Figure 8: $INST05 JCL
 
 
    a) Member $INST05 installs ISPF component(s).
 
       Note:  If no ISPF components are included for this distribution,
       -----  RC = 4 is returned by the corresponding IEBCOPY step.
 
    b) Review and update JOB statement and other JCL to conform to your
       installation standard.                                       
 
    c) Review and update DD statements for ISPCLIB (clist),
       ISPMLIB (messages), and/or ISPPLIB (panel) library names. 
       The DD statements are tagged with '<--TARGET'.
 
    d) Submit the job.
 
    e) Review job output for successful load(s).
 
 
+--------------------------------------------------------------------+
| Step 10. Install Other Software                                    |  
+--------------------------------------------------------------------+
|         JCL Member: ISRZ00.V1R2M00.CNTL($INST40)                   |
+--------------------------------------------------------------------+
 
 
______________________________________________________________________
//ISRZ0040 JOB (SYS),'Install Other Pgms',   <-- Review and Modify
//         CLASS=A,MSGCLASS=X,               <-- Review and Modify
//         MSGLEVEL=(1,1),NOTIFY=&SYSUID     <-- Review and Modify
//* -------------------------------------------------------*
//* *  ISRZ00 for MVS3.8J TSO / Hercules                   *
//* *                                                      *
//* *  JOB: $INST40 Install Other Programs                 *
//* *       Install xxxxxx   Programs                      *
//* *                                                      *
//* *  - Install libraries marked...                       *
//* *    - Search for '<--TARGET'                          *
//* *    - Update install libraries per your               *
//* *      installation standard                           *
//* *                                                      *
//* -------------------------------------------------------*
//*
//* -------------------------------------------------------*
//* *  IEFBR14                                             *
//* -------------------------------------------------------*
//DUMMY    EXEC PGM=IEFBR14
//SYSPRINT DD   SYSOUT=*
// 
______________________________________________________________________
Figure 9: $INST40 JCL
 
 
    a) Member $INST40 installs additional software.
 
       Note:  If no other software is included for this distribution,
       -----  an IEFBR14 step is executed.
 
    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 completion.
 
 
+--------------------------------------------------------------------+
| Step 11. Validate ISRZ00                                           |
+--------------------------------------------------------------------+
 
    The purpose of this step is to initiate the TSO Allocations display
    panel for the TSO logged userid.
 
 
    a) Log off TSO/ISPF.
     
    b) Log on to TSO/ISPF.
     
    c) From the ISPF Main Menu, enter the following command:    
     
       TSO C$ISRZ0 
 
    d) The panel PSAM00 is displayed.
 
________________________________________________________________________________
 --------------------------  VALIDATE ISRZ002 MSG -----------  ISRZ002 SHORT MSG
 ====>                                                                          
                                                                                
   Panel: PSAM00                                                                
                                                                                
   If message FOUND, 'ISRZ002 SHORT MSG' displays on line 1, column 57.         
                                                                                
   Otherwise, 'INVALID MESSAGE ID' displays on line 1, column 57.               
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                               
________________________________________________________________________________
Figure 7a: ISRZ00 Short message display using panel PSAM00
 
 
    e) The expected response from panel PSAM00 should display message ISZR002
       content on line 1, column 57 as shown below:
 
         ISPZ002 SHORT MSG
 
       Note: If an error is displayed regarding the DISPLAY command,
             panel PSAM00 may not be installed / defined correctly in the
             ISPF LOGON procedure(s).  Review the command from step c or  
             installation sequence and/or modifications to ISPF LOGON 
             procedure(s).
              
       If panel PSAM00 displays message content below on line 1, column 57,    
 
         INVALID MESSAGE ID
 
       the new PDS message libary is not installed / defined correctly in the
       ISPF LOGON procedure(s) or the message member (ISRZ00) was not copied
       to the target message library.  Review installation sequence and/or
       modifications to ISPF LOGON procedure(s). 
 
    f) From the ISPF Main Menu, enter the following command:    
 
       TSO C$ISRZ5 
 
    g) The panel PSAM005 is displayed.
 
________________________________________________________________________________
 --------------------------  VALIDATE ISRZ005 MSG -----------  ISPZ005 SHORT MSG
 ====>                                                                          
                                                                                
   Panel: PSAM005       ISPF Version: V2.2.000                                  
                                                                                
   If message FOUND, 'ISRZ005 SHORT MSG' displays on line 1, column 57.         
                                                                                
   Otherwise, 'INVALID MESSAGE SYNTAX' or 'MESSAGE PROCESSING ERROR'            
   or similar error message text displays on line 1, column 57,                 
   due to using a version of ISPF that does not support this message            
   definition.                                                                  
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
________________________________________________________________________________
Figure 7b: ISRZ00 Short message display using panel PSAM005
 
    h) The expected response from panel PSAM005 should display message ISZR005
       content on line 1, column 57 as shown below:
 
         ISPZ005 SHORT MSG
 
       Note: If an error is displayed regarding the DISPLAY command,
             panel PSAM005 may not be installed / defined correctly in the
             ISPF LOGON procedure(s).  Review the command from step h or  
             installation sequence and/or modifications to ISPF LOGON 
             procedure(s).
              
       If panel PSAM005 displays message content below on line 1, column 57,    
 
         INVALID MESSAGE SYNTAX  or  similar message text
 
       the installed version of ISPF does not support ISRZ005 message
       definition.  However, the messages ISRZ000 - ISRZ003 are      
       supported in your ISPF version.
 
    i) Validation for ISRZ00 is complete.
 
 
+--------------------------------------------------------------------+
| Step 12. Done                                                      |
+--------------------------------------------------------------------+
 
 
    a) Congratulations!  You completed the installation for ISRZ00.


+--------------------------------------------------------------------+
| Step 13. Incorporate ISRZ00 into ISPF UTILITY SELECTION Menu       |
+--------------------------------------------------------------------+
 
 
    a) No menu integration is necessary for this installation.



Enjoy ISRZ00 for ISPF 2.x on MVS 3.8J!

Ready to use ISRZ00* messages in ISPF dialogues or CLISTs.


======================================================================
* IV. S o f t w a r e   I n v e n t o r y   L i s t                  |
======================================================================

  - ISRZ00.V1R2M00.ASM 
   . README      Dummy member, this is intentional
      
  - ISRZ00.V1R2M00.CLIST
   . README      Dummy member, this is intentional

  - ISRZ00.V1R2M00.CNTL
 $ . $INST00     Define Alias for HLQ ISRZ00       
 $ . $INST01     Load CNTL data set from distribution tape (HET)
 $ . $INST02     Load other data sets from distribution tape (HET)
 $ . $INST03     Install TSO Parts
 $ . $INST04     Install ISRZ00 CP and utilities
 $ . $INST05     Install ISPF Parts
 $ . $INST40     Install Other programs                  
 $ . $RECVXMI    Receive XMI SEQ to MVS PDSs via RECV370
 $ . $UP1200     Upgrade to V1R2M00   from   V1R1M00
 $ . DSCLAIMR    Disclaimer
 $ . PREREQS     Required User-mods
 $ . README      Documentation and Installation instructions

  - ISRZ00.V1R2M00.HELP
   . README      Dummy member, this is intentional

  - ISRZ00.V1R2M00.ISPF
 $ . PSAM00      Display ISRZ002 message on panel
 $ . PSAM005     Display ISRZ005 message on panel
 $ . C$ISRZ0     IVP ISRZ002        CLIST
 $ . C$ISRZ5     IVP ISRZ005        CLIST
 $ . ISRZ00      Messages                  
                
  - ISRZ00.V1R2M00.MACLIB
   . README      Dummy member, this is intentional
       
       
  - After downloading any other required software, consult provided
    documentation including any configuration steps (if applicable)
    for software and HELP file installation. 
       
       
 $ - Denotes modified software component for THIS DISTRIBUTION               
     relative to prior DISTRIBUTION               
                                                                            
                                                                            


Validation of ISRZ00

Although detailed in $readme.txt, a partial validation experience is depicted below with panel responses. After completing installation and restarting ISPF, –

Type the command as shown below into the ISPF Primary Option Menu (ISPF main menu) Option line:

 -------------------------  ISPF PRIMARY OPTION MENU  ----
 OPTION  ===> TSO C$ISRZ0     
                                                          

Figure 5. TSO Command to validate ISRZ00

The expected response:

 --------------------------  VALIDATE ISRZ002 MSG ----  ISRZ002 SHORT MSG 
 ====>                                                                    
                                                                          
   Panel: PSAM00                                                          

   If message FOUND, 'ISRZ002 SHORT MSG' displays on line 1, column 57.                 

   Otherwise, 'INVALID MESSAGE ID' displays on line 1, column 57.                          
                                                                          
                                                                          
                                                                          


Figure 6. Successful ISRZ002 Validation Response

If the message ‘Invalid Message ID’ is displayed, as shown in Figure 7, the new PDS and/or PDS member , ISRZ00, is not defined correctly in the ISPF Logon procedure. Review installation sequence and/or ISPF logon PROC modification(s).,

 --------------------------  VALIDATE ISRZ002 MSG ----  INVALID MESSAGE ID 
 ====>                                                                    
                                                                          
   Panel: PSAM00                                                          

   If message FOUND, it will display on line 1, column 57.                 

   Otherwise, 'INVALID MESSAGE ID' displays on line 1, column 57.                          
                                                                          
                                                                          
                                                                          


Figure 7. Unsuccessful ISRZ002 Validation Response

Closing

Development and testing environment included ISPF 2.0 and ISPF 2.1 on MVS38J TK3 under Hercules 3.13 on Windows 10 Professional.

Installing message member ISRZ00 upgrades ISPF with a flexible program message use feature that allows execution time setting of short and long message content for ISPF dialogue application development!

Please use the comment box below or the contact us link on the menu bar to communicate any suggestions, improvements, corrections or issues regarding this post.

Thank You.

Version History

*
*  MM/DD/CCYY Version  Change Description
*  ---------- -------  -----------------------------------------------
*  07/09/2022 1.2.00   - Repackaged distribution and installation
*                      - No change to ISRZ00 messages
*
*  06/22/2021 1.1.00   - Add message ISRZ005 to provide similar
*                        compatibility with IBM ISPF ISR002 
*
*  06/21/2019 1.0.00   - Initial version released to MVS 3.8J
*                        hobbyist public domain
*
Tagged ,

Leave a Reply

Your email address will not be published. Required fields are marked *


CAPTCHA Image
Reload Image

This site uses Akismet to reduce spam. Learn how your comment data is processed.