You can dynamically allocate the product and BSA libraries in a CLIST using the ISPF LIBDEF service.
For a list of libraries, see the sample CLIST or "Concatenating libraries in the TSO logon procedure".
Member B97CLIST in the BETA97.CNTL is a sample CLIST.
+------------------------------------------------------------------------+
                  |PROC 0 DEBUG(OFF) |
                  | IF &DEBUG = ON + |
                  | THEN CONTROL MSG NOPROMPT LIST CONLIST SYMLIST NOFLUSH |
                  | ELSE CONTROL NOMSG NOPROMPT NOLIST NOCON NOSYM NOFLUSH |
                  | |
                  |/* ----------------------------------------------------------------- */ |
                  |/* FILE NAME MUST BE B97LLIB */ |
                  |/* ----------------------------------------------------------------- */ |
                  | ALLOC F(IRMLOG) SYSOUT(*) |
                  | ALLOC F(B97LLIB) DA('BETA97.LOAD' + |
                  | 'BSA.LOAD') + |
                  | SHR REUSE |
                  | |
                  | ALLOC F(B97TLIB) DA('BSA.ISPTLIB') + |
                  | SHR REUSE |
                  | |
                  | |
                  | ISPEXEC LIBDEF ISPLLIB LIBRARY ID(B97LLIB) STACK |
                  | ISPEXEC LIBDEF ISPMLIB DATASET + |
                  | ID('BETA97.ISPMLIB' + |
                  | 'BSA.ISPMLIB') + |
                  | STACK |
                  | ISPEXEC LIBDEF ISPPLIB DATASET + |
                  | ID('BETA97.ISPPLIB' + |
                  | 'BSA.ISPPLIB') + |
                  | STACK |
                  | ISPEXEC LIBDEF ISPSLIB DATASET + |
                  | ID('BETA97.ISPSLIB' + |
                  | 'BSA.ISPSLIB') + |
                  | STACK |
                  | ISPEXEC LIBDEF ISPTLIB LIBRARY ID(B97TLIB) STACK |
                  | |
                  |/* --- WRITE CURRENT SSID, SYSTEM, AND LOCATION INTO BST PROFILE --- */ |
                  |/* --- POOL -------------------------------------------------------- */ |
                  | ISPEXEC SELECT PGM(B97ONSET) + |
                  | PARM(ssid,system,location) + |
                  | NEWAPPL(BST) PASSLIB |
                  | |
                  | CONTROL MSG |
                  | ISPEXEC SELECT PGM(BST00PRM) PARM(B97,PE97PRIM;B97ONEXI) |
                  | IF &DEBUG ^= ON THEN CONTROL NOMSG |
                  | |
                  | ISPEXEC LIBDEF ISPLLIB |
                  | ISPEXEC LIBDEF ISPMLIB |
                  | ISPEXEC LIBDEF ISPPLIB |
                  | ISPEXEC LIBDEF ISPSLIB |
                  | ISPEXEC LIBDEF ISPTLIB |
                  | |
                  | FREE F(B97LLIB) |
                  | FREE F(B97TLIB) |
                  | FREE F(IRMLOG ) |
                  |EXIT |
                  +------------------------------------------------------------------------+
               
If the ISPF load library is not in the linklist, the library ISP.SISPLOAD must also be concatenated under B97LLIB.
You can call the CLIST via a TSO command (TSO clistname) or via a panel (see "Including Adabas Audit Data Retrieval in a selection menu").
Important: When calling the CLIST via a panel, do not use the parameter NEWAPPL(BSS) or NEWAPPL(BST). Calling the CLIST with these parameters will lead to unpredictable results.