KiwiREXXDude
Programmer
This is a known problem in batch ISPF where you try and access the ISPSPROF from the ISPTLIB and other jobs are using it even though the disp is share. See for details.
What you can do is allocate ISPTLIB to a temporary dataset then use a normal REXX to copy the system tables dataset into the temporary dataset before you invoke ISPF.
JCL:
REXX (COPYTLIB):
What you can do is allocate ISPTLIB to a temporary dataset then use a normal REXX to copy the system tables dataset into the temporary dataset before you invoke ISPF.
JCL:
Code:
//ISPTLIB DD DSN=&&ISPTLIB,DISP=(,DELETE),UNIT=SYSDA,
// SPACE=(CYL,(1,1,10),RLSE),LRECL=80,RECFM=FB,BLKSIZE=0
//SYSTSIN DD *
COPYTLIB
ISPSTART CMD(MYREXX) NEWAPPL(REXX)
//*
REXX (COPYTLIB):
Code:
/* Rexx to copy the ISPF profile to a temporary PDS in batch */
"Alloc Fi(SYSPRINT) Sysout(Z) Reu"
"Alloc Fi(SYSIN) New Lrecl(80) DataClas(LOG) DSOrg(PS) Reu"
"Alloc Fi(TEMPPROF) Da('SYS1.SISPTENU') Shr Reu"
OUT.1 = " COPY I=TEMPPROF,O=ISPTLIB"
"Execio * DiskW SYSIN (Stem OUT. Finis)"
"IEBCOPY"
"Free Fi(SYSPRINT SYSIN TEMPPROF)"
return 0