Sometimes, the need might arise to run Quick-edit dialog using an AUTHLIB/CONLIB different from the ones that are normally used.
The only valid ways to achieve this result are either:
- Place the new libraries in the LOGON procedure STEPLIB
- Dynamically allocate via ALLOCATE command from TSO the new libraries to the ISPLLIB DD before starting ISPF
- Use any OEM software allowing to dynamically change the STEPLIB for a TSO session
Sites might be tempted to use the ISPF LIBDEF service to dynamically add the libraries to the ISPLLIB concatenation and start Quick-edit main program ENDIE000 via the ISPF SELECT CMD service (instead of the SELECT PGM service used by the CA-supplied CLIST ENDICLS1).
Even though this will effectively cause Quick-edit modules to load from the dynamic ISPLLIB, it WILL NOT WORK. It will raise a S0C3 Abend in module ENDIE4M when editing an element. This is because:
- SELECT CMD causes Quick-edit to run in its own TCB, which is attached as a daughter of the ISPF TCB (running ISPTASK). This is different from SELECT PGM, that causes Quick-edit to run under the ISPF TCB.
- Quick-edit will build its control blocks under its TCB. At some point, it will call the ISPF EDIT service to edit the Endevor element.
- Regardless of whether Quick-edit runs under its own TCB, the ISPF EDIT service will always run under the ISPF TCB. This is the key point.
- ISPF EDIT service will call program ENDIE4M during initialization.
- ENDIE4M looks for the Endevor control blocks in its TCB (which is the ISPF TCB). Since they are not there (they are in the Quick-edit TCB), it forces a S0C3 abend to terminate the dialog.
When Quick-edit is started via SELECT PGM, both the edit service and Quick-edit run under the same TCB and everything works fine.