View previous topic :: View next topic
|
Author |
Message |
Christopher Mark Roberts
New User
Joined: 19 Jan 2007 Posts: 7 Location: China
|
|
|
|
I've recently become part of a team set to take over some legacy systems. After a little research I discovered I had many, many libs full of completely useless JCL. It can't be used because the original support team (about 3 support teams ago) hardcoded all datasets as in
DFSRESL DD DSN=sys.our.linklib
Since then all the system DS's have been renamed, thus rendering the JCL useless.
I want to bring the JCL up to speed but I don't want to hard code as this could lead to the same issue in the future.
In my last shop we kept a member that was nothing but variables assigned to datasets, then in the jcl you could reference the DS through the variable so if the name of the reslib changed you only had to change the variable in one place and all the jobs still ran. I'm embarrassed to say I never payed much attention to how it worked as it was set up before I came and I simply used the jobs.
So can anybody tell me how to set up the member and reference it in JCL? All I can find in the forum and doc are instream variable setting.
I will pre-apologize if this should be posted in the IMS DB/DC forum.
Any help is appreciated. |
|
Back to top |
|
|
ofer71
Global Moderator
Joined: 27 Dec 2005 Posts: 2358 Location: Israel
|
|
|
|
Take a look at the SET and INCLUDE commands of JCL.
O. |
|
Back to top |
|
|
Christopher Mark Roberts
New User
Joined: 19 Jan 2007 Posts: 7 Location: China
|
|
|
|
i looked at that and ran some tests, all i could get was the whole member |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
Chris, could you elaborate on this comment:
Quote: |
I will pre-apologize if this should be posted in the IMS DB/DC forum.
|
Why do you think this possibly should be posted in the IMS DB/DC Forum? |
|
Back to top |
|
|
Christopher Mark Roberts
New User
Joined: 19 Jan 2007 Posts: 7 Location: China
|
|
|
|
I wasn't sure if this had more to do with system setup than JCL. Most of the posts here seem to do with JCL in/re running programs.
I will also elaborate on my last comment:
i looked at that and ran some tests, all i could get was the whole member
When I set up a pds member SETPARMS, and then code
// INCLUDE MEMBER=SETPARMS
I get
3 // INCLUDE MEMBER=SETPARMS
4 &&TESTLIB=IMS.CNCCCCCC.TESTLIB
5 &&RESLIB=IMS.TEST.RESLIB
When what I want is the is the lib as part of the sysin and some type of statement in the JCL like:
testlib=&testlib
Which will resolve to IMS.CNCCCCCC.TESTLIB so that when I revamp the JCL in the shop we will only need to maintain the member SETPARMS as DS names change and the JCL will run. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Hi Chris,
Can't imagine this is typical IMS DB/DC; operating system and system setup look closer to me. But than again: I will look into it when I get back from course whci will be 12 march. You either have to be patient, trus on Devzee or find the solution to your problem and report back. |
|
Back to top |
|
|
Christopher Mark Roberts
New User
Joined: 19 Jan 2007 Posts: 7 Location: China
|
|
|
|
Ok, after several days of frustration I finally figured out what my last shop used to use:
You create a member of a DS, IE
IMS.TOOL.BOX(SETPARMS)
Which contains statements like:
000430 //* THIS IS A TEST OF PARAMETER SETTING
000440 //*
000450 //*****************************************
000460 // SET TESTLIB=IMS.CNCCCCCC.TESTLIB
000500 // SET RESLIB=IMS.TEST.RESLIB
000600 // SET PROCLIB=IMS.TEST.PROCLIB
ETC
Then if you want for instance reslib, in your JCL you need statements:
000210 //PARMLIB JCLLIB ORDER=(IMS.TOOL.BOX)
000220 //LOCL INCLUDE MEMBER=SETPARMS
000230 //RESLIB DD DSN=&RESLIB,DISP=SHR
When the job runs it resolves thusly:
7 //RESLIB DD DSN=&RESLIB,DISP=SHR
IEFC653I SUBSTITUTION JCL - DSN=IMS.TEST.RESLIB,DISP=SHR
JCL coded in this manner is, in my opinion, lower maintenance. You can code 1 job and propagate to different systems and, if the name of the RESLIB changes, you don't need to change every piece of JCL that references the RESLIB, you just change the SET RESLIB= statement in your parameter list member.
Hope this helps somebody. |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Thanks Chris, stored in the knowlegde database |
|
Back to top |
|
|
Christopher Mark Roberts
New User
Joined: 19 Jan 2007 Posts: 7 Location: China
|
|
|
|
It would be nice if this group had a systems forum.
Happy days.
Edited: remark removed, is irrelevant |
|
Back to top |
|
|
Bitneuker
CICS Moderator
Joined: 07 Nov 2005 Posts: 1104 Location: The Netherlands at Hole 19
|
|
|
|
Christopher Mark Roberts wrote: |
It would be nice if this group had a systems forum.
Happy days. |
Might be.......but you should know I spend a lot of time preparing my retirement as per 1st of april coming. Once I'm retired I will have all the time in the world to investigate In addition, this would belong in JCL since it's not an IMS DB/DC item after all.
BTW: you've got PM. |
|
Back to top |
|
|
|