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.
//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
- 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
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
/* ---------------------------------------------------- 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)