Is there a way to dynamically concatenate libraries to EQQJBLIB in TWS using TWS variables? I am trying to modify our process to pretty much use only production JCL and PROC's across varying environments. (Multiple QA/UAT environments if that helps. I can control most of this using SET statements and TWS variable tables per processing environment. However, pulling in the JCL to execute becomes an issue if it has been modified. (For a new release if you will) If I concatenate a lib before the production lib, then every environment would use the new version. Obviously not what I want. I'd like to be able to put it in a library that is environment specific and only concatenate that environment at runtime. (or setup time) For example:
I think I may have found my answer. Now, the question is, has anyone ever used this facility? EQQUX002? Any insight on its usage and best practices would be appreciated.
Here's what I found out.
The job-library-read exit is called when IBM Tivoli Workload Scheduler for z/OS cannot find the JCL for a job in the JCL repository data set (EQQJSnDS). By default, IBM Tivoli Workload Scheduler for z/OS searches the concatenation of data sets assigned to the EQQJBLIB ddname in the controller JCL procedure. If you want IBM Tivoli Workload Scheduler for z/OS to search other data sets, install EQQUX002 to perform this function.
Dynamic allocation of JCL is very useful if your installation operates as a computer services bureau for several independent customers or departments. When independent job libraries are concatenated on the EQQJBLIB statement, duplicate member names can occur in different job library data sets. By placing JCL in separate job libraries and then using EQQUX002 to dynamically allocate a library for a particular application, you can more easily protect each customer's JCL.
Also consider using EQQUX002 to enhance performance if you have many large partitioned data sets (PDS) concatenated to EQQJBLIB. To find a member in the last data set of the concatenation, IBM Tivoli Workload Scheduler for z/OS must read the directory of all preceding PDSs, which can present a significant overhead. Consider defining a PDS and a corresponding ddname for each computer workstation. EQQUX002 can then search a specific library. If no JCL is found, you can let IBM Tivoli Workload Scheduler for z/OS search the EQQJBLIB concatenation for the JCL.
The SEQQSAMP member EQQUX002 contains a sample job-library-read exit. This sample searches a ddname MYJOBLIB before EQQJBLIB.