Customizing a user server address space JCL (IVPUSRT)

A z/Server STC user server IVPUSRT is started by the scheduler address space to execute REXX execs or ISPF applications. It is essentially a two-step batch TSO address space. The first step executes under the general z/Server user ID and switches the security environment to the user ID of the client that had requested the user server to be started. The second step (the actual batch TSO address space) then uses this specific TSO user ID.

Customize the sample hlq.ZSERVER.JCL(IVPUSRT) and copy it to the PROCLIB concatenation and named as ivpusrt .

Verify and customize the high level qualifier defined for both TAURHLQ and ISPFHLQ, and also TCPDATA to make sure it specifies the correct TCPIP configuration data set. Make sure that the ISPF high level qualifier is ISF. Similar to a logon procedure, add all required libraries for things such as panels, messages, and REXX execs that are necessary to run the user’s required ISPF applications.

The initial REXX procedure IVPINIT1 must be located in the z/Server REXX dataset. This REXX exec should be customized by the installation to fit the installation's needs (see Optional customization).

Note: The dataset hlq.ZSERVER.REXX must be allocated using DDNAME SYSEXEC (not SYSPROC).
//TAURHLQ  SET TAURHLQ=HLQ.ZSERVER
//ISPFHLQ  SET ISPFHLQ=ISP
//TCPDATA  SET TCPDATA=TCPIP.TCPDATA
//*********************************************************************
//*    START TSO/E-ISPF-SESSION AS STARTED JOB
//*********************************************************************
//*  SET ACEE FOR USER
//*********************************************************************
//TAURSJOB EXEC PGM=TAURSJOB
//STEPLIB  DD DISP=SHR,DSN=&TAURHLQ..LOADLIB
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//*IPCONFIG DD DISP=SHR,DSN=&TAURHLQ..CONFIG(IVPACEE)
//*********************************************************************
//*    START TSO/E-ISPF-SESSION BATCH
//*    MOVE TEMP ALLOCATIONS TO IVPINIT1 RPI 611619
//*********************************************************************
//IVPISPF  EXEC PGM=IKJEFT1B,PARM='%IVPINIT1',
//            DYNAMNBR=200,REGION=0M,TIME=NOLIMIT,COND=(4,LT)
//STEPLIB  DD DSN=&TAURHLQ..LOADLIB,DISP=SHR
//*IPCONFIG DD DISP=SHR,DSN=&TAURHLQ..CONFIG(IVPUSR)
//SYSTCPD  DD DISP=SHR,DSN=&TCPDATA
//SYSEXEC  DD DSN=&TAURHLQ..EXEC,DISP=SHR
//         DD DSN=&TAURHLQ..REXX,DISP=SHR
//ISPPLIB  DD DSN=&TAURHLQ..PANELS,DISP=SHR
//         DD DSN=&ISPFHLQ..SISPPENU,DISP=SHR
//         DD DSN=ISF.SISFPLIB,DISP=SHR
//ISPSLIB  DD DSN=&TAURHLQ..SKELS,DISP=SHR
//         DD DSN=&ISPFHLQ..SISPSENU,DISP=SHR
//         DD DSN=ISF.SISFSLIB,DISP=SHR
//ISPMLIB  DD DSN=&ISPFHLQ..SISPMENU,DISP=SHR
//         DD DSN=ISF.SISFMLIB,DISP=SHR
//ISPTLIB  DD DSN=&ISPFHLQ..SISPTENU,DISP=SHR
//         DD DSN=ISF.SISFTLIB,DISP=SHR
//ISPLOG   DD SYSOUT=*,DCB=(RECFM=VA,LRECL=125)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//ZCOTSPRT DD SYSOUT=*
//SYSTSIN  DD DUMMY
//ZCOTSIN  DD DUMMY
//SYSOUT   DD SYSOUT=*
//CEEAPI03 DD SYSOUT=*
//CEEREX30 DD SYSOUT=*
//ISPDPTRC DD SYSOUT=*
//         PEND

Temporary data set references have been removed from the above JCL and can now be found in the IVPINIT1 REXX procedure.

Note: Notice that the IPCONFIG DD statement is commented out. This must not be enabled if you are using the new XML configuration file.

The SYSTCPD DD statement has been added to provide information about the IP stack on your host to the started task.