View previous topic :: View next topic
|
Author |
Message |
wcorsar
New User
Joined: 15 Jul 2006 Posts: 6 Location: Florida
|
|
|
|
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:
//EQQJBLIB DD DSN=HLQ.&ENV..JCLLIB,DISP=SHR
// DD DSN=HLQ.PROD.JCLLIB,DISP=SHR
Where &ENV is a TWS table variable set to 'QA1'. When the job is ready to be pulled in to be run it will use this concatenation. But only for jobs running in the QA1 environment.
Does this make sense? Is it possible? |
|
Back to top |
|
|
wcorsar
New User
Joined: 15 Jul 2006 Posts: 6 Location: Florida
|
|
|
|
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.
Job-library-read Exit
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. |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
SEQQSAMP will have some examples for exits. And beside that the scheduler people could help you. (if they want to do that) |
|
Back to top |
|
|
|