Setting up the ISPF interface

To run IVP jobs the ISPF interface must be set up first, using the sample JCL and pre-allocated data sets.

The data sets are pre-allocated to the following DD statements; DWWMSG, DWWDMSG, DWWPRINT, and DWWDUMP.

Alternatively, you can use the sample JCL shown here to define the data sets. The data sets must have unique names for ISPF, CICS VR utilities, and the server. Use the TSO user ID as HLQ or part of HLQ in ISPF for DWWMSG, DWWDMSG, DWWDUMP, and DWWPRINT.

Before you run the CICS VR dialog interface, you must create the data sets that are allocated to the ISPFILE, DWWMSG, DWWDMSG and DWWPRINT DD names in DWWCLIST. You can use the DWWUALLC sample job in SDWWCNTL to allocate these data sets.

Figure 1. Sample DWWUALLC updated for TSO user JTILLI1
//DWWUALLC JOB (999,POK),’CICS VR 6.1’,CLASS=A,MSGLEVEL=(1,1),
// MSGCLASS=T,NOTIFY=&SYSUID,REGION=0M 
/*JOBPARM L=9999,SYSAFF=SC66  
//********************************************************************* 
//*                                                                 *// 
//* @BANNER_START                           01                      *// 
//* Licensed Materials - Property of IBM                            *// 
//*                                                                 *// 
//* 5655-GY1              DWWUALLC                                  *// 
//*                                                                 *// 
//* (C) Copyright IBM Corp. 2014                                    *//
//* (C) Copyright HCL Technologies Ltd. 2025                        *//
//*                                                                 *// 
//*                                                                 *// 
//* @BANNER_END                                                     *// 
//*       PN= REASON  REL YYMMDD ID:       REMARKS                  *// 
//*           R71977  520 140128 ......... customization            *//   
//******************************************************************** //* 
//*  Set "CAPS ON" to prevent JCL errors 
//* 1. Modify the JOB statement to meet your system requirements. 
//* 
//*    This sample job allocates user data sets to the following  
//*    DD statements: DWWMSG, DWWDMSG, DWWPRINT, DWWDUMP and ISPFILE 
//* 2. Specify a value for the UHLQ symbolic parameter that points 
//*    to the high level qualifier for user data sets. 
//*--------------------------------------------------------------------* 
//SETPARM  SET UHLQ=DWW.JTILLI1 
//BR14     EXEC PGM=IEFBR14 
//DWWDUMP1 DD DISP=(,CATLG),UNIT=3390,SPACE=(CYL,(10,10)), 
//            RECFM=VBA,LRECL=84,BLKSIZE=3120, 
//            DSN=&UHLQ..DWWDUMP 
//DWWPRINT DD DISP=(,CATLG),UNIT=3390,SPACE=(CYL,(1,1)), 
//            RECFM=FBA,LRECL=133,BLKSIZE=27930, 
//            DSN=&UHLQ..DWWPRINT 
//DWWDMSG1 DD DISP=(,CATLG),UNIT=3390,SPACE=(CYL,(1,1)), 
//            RECFM=VBA,LRECL=84,BLKSIZE=3120, 
//            DSN=&UHLQ..DWWDMSG 
//DWWMSG2  DD DISP=(,CATLG),UNIT=3390,SPACE=(CYL,(1,1)), 
//            RECFM=VBA,LRECL=133,BLKSIZE=27930, 
//            DSN=&UHLQ..DWWMSG 
//ISPFILE  DD DISP=(,CATLG),UNIT=3390,SPACE=(CYL,(1,1,2)), 
//            RECFM=FB,LRECL=80,BLKSIZE=32000, 
//            DSN=&UHLQ..ISPFILE
The sample CLIST is provided in member DWWCLIST of the SDWWCNTL data set. To activate the ISPF interface modify settings for the following variables into the sample CLIST to allocate the required data sets.
  • HLQ - high level qualifier for CICS VR libraries
  • UHLQ - high level qualifier for user data sets (ISPFILE, DWWMSG, and so on)
  • PREF - value used for CICSVR_RCDS_PREFIX
  • SUFF - value used for CICSVR_GRPNAME_SUFFIX
Note:
If you have run CICS VR JCL customization, all these parameters are already modified and you can use the customized DWWCLIST from SDWWCNTL.OUT.

This example shows the DWWCLIST customized with the settings for HLQs and RCDS names that are used in this topic.

ISPEXEC VGET ZPFSHOW PROFILE        /* CHANGE PFSHOW SO THAT       */  
SET PFSAVE = &ZPFSHOW               /* PF-KEY ARE DISPLAYED DURING */  
SET PFCMD  = &STR(PFSHOW ON)        /* CICSVR DIALOG INTERFACE     */  
ISPEXEC DISPLAY COMMAND(PFCMD)   

ISPEXEC LIBDEF ISPFILE  
ISPEXEC LIBDEF ISPPLIB  
ISPEXEC LIBDEF ISPMLIB  
ISPEXEC LIBDEF ISPTLIB  
FREE FI(DWWCON1,DWWCON2,DWWCON3,DWWMSG,DWWPRINT,MYFILE,ISPFILE)  
FREE FI(DWWSLIB,DWWLLIB,DWWDMSG)  
FREE FI(DWWLOAD)  

/* ---------------------------------------------------- DWWCON1    */  
 ALLOC FI(DWWCON1) DA('&PREF..DWWCON1.GRP&SUFF') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = DWWCON1   
    GOTO SETMSG3  
 END 
/* ---------------------------------------------------- DWWCON2    */  
 ALLOC FI(DWWCON2) DA('&PREF..DWWCON2.GRP&SUFF') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO   
    SET DDNAME = DWWCON2   
    GOTO SETMSG3  
 END 
/* ---------------------------------------------------- DWWCON3    */  
 ALLOC FI(DWWCON3) DA('&PREF..DWWCON3.GRP&SUFF') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = DWWCON3   
    GOTO SETMSG3  
 END 
/* ---------------------------------------------------- DWWMSG     */  
 /** ALLOC FI(DWWMSG) SYSOUT(X) DEST(XXXX)  ***/  
 ALLOC FI(DWWMSG) DA('&UHLQ..DWWMSG') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO   
    SET DDNAME = DWWMSG   
    GOTO SETMSG3  
 END 
/* ---------------------------------------------------- DWWPRINT   */  
 /** ALLOC FI(DWWPRINT) SYSOUT(X) DEST(XXXX) ***/  
 ALLOC FI(DWWPRINT) DA('&UHLQ..DWWPRINT') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = DWWPRINT    
    GOTO SETMSG3  
 END  
/* ---------------------------------------------------- DWWDMSG    */  
 /** ALLOC FI(DWWDMSG) SYSOUT(X) DEST(XXXX) ***/  
 ALLOC FI(DWWDMSG) DA('&UHLQ..DWWDMSG') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = DWWDMSG   
    GOTO SETMSG3  
 END  
/* ---------------------------------------------------- ISPLLIB    */ 
/*  The following line (LIBDEF for ISPLLIB) is added only if       */ 
/*  the CICSVR LOADLIB'S are not allocated to ISPLLIB in the       */ 
/*  TSO LOGON PROC.                                                */ 
/* -------------------------------------------------------------   */  
 ISPEXEC LIBDEF ISPLLIB DATASET ID('&HLQ..SDWWLOAD',   +    
                                  '&HLQ..SDWWLENU')  
/* ---------------------------------------------------- DWWLOAD    */ 
/*  The following allocation is required only if the CICSVR        */ 
/*  LOADLIB'S are not allocated to ISPLLIB in the TSO LOGON        */ 
/*  PROC.                                                          */ 
/* -------------------------------------------------------------   */  
 SET &LIBS = &STR('&HLQ..SDWWLOAD')  
 SET &DSN  = &STR('&HLQ..SDWWLENU')  
 SET &LIBS = &STR(&LIBS , &DSN)  
 ALLOC FI(DWWLOAD) DA(&LIBS) SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO   
    SET DDNAME = DWWLOAD     
    GOTO SETMSG3  
 END  
/* ---------------------------------------------------- DWWLLIB   */  
 SET &LIBS = &STR('&HLQ..SDWWLOAD')  
 SET &DSN1 = &STR('&HLQ..SDWWLENU')  
 SET &LIBS = &STR(&LIBS , &DSN1 )  
 ALLOC FI(DWWLLIB) DA(&LIBS) SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = DWWLLIB   
    GOTO SETMSG3  
 END  
/* ---------------------------------------------------- ISPPLIB   */  
 ISPEXEC LIBDEF ISPPLIB DATASET ID('&HLQ..SDWWPENU')  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = ISPPLIB   
    GOTO SETMSG3  
 END 
/* ---------------------------------------------------- ISPMLIB   */  
 ISPEXEC LIBDEF ISPMLIB DATASET ID('&HLQ..SDWWMENU')  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = ISPMLIB   
    GOTO SETMSG3  
 END 
* ---------------------------------------------------- ISPTLIB    */  
 ISPEXEC LIBDEF ISPTLIB DATASET ID('&HLQ..SDWWTENU')  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = ISPTLIB  
    GOTO SETMSG3  
 END 
/* ---------------------------------------------------  DWWSLIB   */  
 SET &LIBS = &STR('&UHLQ..ISPFILE')  
 SET &DSNO= &STR('&HLQ..SDWWSENU')  
 SET &LIBS = &STR(&LIBS , &DSNO)  
 ALLOC FI(DWWSLIB) DA(&LIBS) SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = DWWSLIB   
    GOTO SETMSG3  
END 
Figure 2. Sample DWWCLIST
/* ---------------------------------------------------- ISPFILE   */  
 ALLOC FI(MYFILE) DA('&UHLQ..ISPFILE') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = MYFILE   
    GOTO  SETMSG3  
 END   

 ALLOC FI(ISPFILE) DA('&UHLQ..ISPFILE') SHR  
 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN DO  
    SET DDNAME = ISPFILE   
    GOTO  SETMSG3  
 END   
/**************************************************************/ 
/*  INVOKE CICSVR DIALOG PROGRAM.                             */ 
/**************************************************************/  
 ISPEXEC SELECT PGM(DWWPM) NEWAPPL(DWW) PASSLIB   

 SET RCSAVE = &LASTCC  
 IF &RCSAVE NE 0 THEN    +  
    SET ZERRLM = &STR(CICSVR DIALOGS COMPLETED, RC = &RCSAVE)  
 GOTO FINISH  
/**************************************************************/ 
/*   SET ERROR MESSAGE IF ANY, TO BE DISPLAYED ON ISPF PANEL. */ 
/**************************************************************/  
 SETMSG3:   + 
  SET ZERRLM = &STR(ALLOCATE OF DDNAME &DDNAME FAILED WITH RC= &RCSAVE)   

 FINISH:    +  
 ISPEXEC LIBDEF ISPFILE  
 ISPEXEC LIBDEF ISPPLIB  
 ISPEXEC LIBDEF ISPMLIB  
 ISPEXEC LIBDEF ISPTLIB  
 ISPEXEC LIBDEF ISPLLIB           /** ONLY IF NOT IN LOGON PROC  **/  
 FREE FI(DWWCON1,DWWCON2,DWWCON3,DWWMSG,DWWPRINT,MYFILE,ISPFILE)  
 FREE FI(DWWSLIB,DWWLLIB,DWWDMSG)  
 FREE FI(DWWLOAD)  
 IF &RCSAVE = 0 THEN    +   
    SET ZERRHM = &STR(ISR00003)   /* SET TO TOP ISPF TUTOR PANEL  */  
 IF &RCSAVE = 0 THEN    +  
    GOTO EXIT1                    /* NORMAL EXIT                  */   

 SETERROR:  +  
 SET ZERRMSG = &STR(ISRZ002)      /* USE THIS ISPF MESSAGE NUMBER.*/  
 SET ZERRALRM = &STR(YES)         /* BEEP AT USER                 */  
 SET ZERRNM = &STR(ISR00003)      /* SET TO TOP ISPF TUTOR PANEL  */   

 EXIT1:   +  
 SET PFCMD = &STR(PFSHOW &PFSAVE) /* RESTORE PFKEY DISPLAY TO     */  
 ISPEXEC DISPLAY COMMAND(PFCMD)   /*   PREVIOUS STATUS            */  
 EXIT CODE(&RCSAVE)