when executing concurrent post install ssid0002 jobs the following message appears in the job output:
ACF0C038 ACF2 LOGONID ATTRIBUTES HAVE REPLACED DEFAULT USER ATTRIBUTES READY PROFILE PREFIX(CMH5342) NOPROMPT MSGID READY ISPSTART CMD(%INSSTART . INSFTBND)
ISPT036 Table in use -/-TBOPEN issued for table ISPSPROF that is in use, ENQUEUE failed.
what Dataset does this correspond to? ISPTLIB?? the first dsn in the ddname concatenation, has an ISPFPROF member, but seemingly every user has access to that library so putting a disp=old in my job would not be a viable solution - can i just just copy the member to ssid-specific dataset, and put it at the top of the ISPTLIB DD concatenation?
The root cause of this sporadic error is that ISPTLIB DD in the JCL specifies a common library (ISP.SISPTENU).
The JCL is running an ISPF session in batch. This may lead ISPF to save its settings (maybe at termination) into its profile (member ISPSPROF in ddname ISPPROF).
Although it looks surprising, when doing so, ISPF gets an exclusive enqueue using the first DSN coded in ISPTLIB DD to build the resource name.
When that DSN is a common library, this may lead to an enqueue conflict with other users or jobs, which is what ISPF tells us by message ISPT036
Normally, the first library named in the ISPTLIB chain is the same which is allocated to ISPPROF DD, which in turn is either the personal ISPF profile (userid.ISPF.ISPPROF) or a temporary dataset.
In this case, since ISPPROF points to a temp dataset, do the following:
1 - Add a first step to the BATCH PROC, to copy, via IEBCOPY, library ISP.SISPTENU over &&TEMP
2 - In the IKJEFT01 step, code ISPTLIB and ISPPROF as follows::
//ISPTLIB DD DSN=&&TEMP,DISP=(OLD,DELETE,DELETE)
//ISPPROF DD DSN=&&TEMP,DISP=(OLD,DELETE)