Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
I know I can define a VSAM without using IDCAMS and a control card. I want to do this so I can reuse code instead of creating 72 control cards (6 VSAMs with 4 promote levels across 3 Lines of business). If I can define the VSAM using the following JCL, using the &PARM syntax that we can use in a proc I only need one proc w/ parameters for each of the 6 VSAMs. My problem here is that I need to specify SHAREOPTION(2 3). I am am trying to convince my tech support to define a DATACLAS that I can use with those parameters, but they are reluctant. If I can't get them to do this, does anyone know the paramteter I need to code to get that SHAREOPTION? The JCL works but defines (1 3).
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
Hello,
What about creating a single process (a bit of code and associated jcl) that would that would generate jcl and idcams and/or other control statements and submit them thru the internal reader to run in the appropriate environment? The particulars could be "canned" or entered as the process is used.
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
Dick,
That is what I would like to do, but time constraints on the project with the workload I have for it are too tight. And, like anywhere, once the project is implemented we don't go back to improve things unless they are broke.
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
expat: that uses IDCAMS, like Dick said, the ideal way is to use a some process to generate the jcl and control card on the flay but no time no time....
We have a model cluster but are heavily discouraged from using it because people forget to define the actual needs of the VSAM and just assume they can all use what the model has. And... I can't use a model without IDCAMS.
I got approval from everyone I could and support before sending it to our storage admin area yesterday, I'm still waiting to hear back.
Not sure if you can use the LIKE parameter for VSAM, might be worth a go.
Code:
//STEPDEF1 EXEC PGM=IEFBR14
//VKSDS1 DD DSN=MY.FILE.S015.TESTVS,DISP=(,CATLG,DELETE),
// LIKE=cluster to be modelled
//VKSDS2 DD DSN=MY.FILE.S016.TESTVS,DISP=(,CATLG,DELETE),
// LIKE=cluster to be modelled
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
The main storage guy is on vacation this week. His backup thinks it is a bad idea because then they would have to double the number of dataclasses they maintain. He thinks it is better for us to maintain control cards for all of the vsams for all 4 promote level and 3 lines of business.
GRRRRR, gonna work it from another angle with them I suppose, get my manager involved. So instead of them maintaining twice as many data classes, they would rather we maintain near 1000 of control cards just to define VSAM files....
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
Hello,
If you set up code like what i mentioned previously, i suspect you could write the code in a very few hours. How long will it take to edit/copy/paste/whatever 1000 members and ensure there are no typos?
Quote:
instead of them maintaining twice as many data classes, they would rather we maintain near 1000 of control cards
Of course Let's see - they can do nothing or they can do something. Doing nothing means they will make no mistake and they will expend no effort. Wonder which they might choose. . . . What was that phrase - oh, yeah, bone idle. . .
If putting together the code really is out of the question (still my preference so that when things change, only one bit of "stuff" need be modified), you may get a better response from the main storage guy or your management may be able to be convinced that it is a better business soluton to expand the data classes.
Joined: 13 Jun 2007 Posts: 631 Location: Wisconsin
Query to TECH
Quote:
If these we had this option set in some data classes we have the potential to eliminate 1000's of control cards from the maintenance cycle. My count has now gone up to 96 just for this project for the 6 required VSAMs. If we were to double the number of dataclasses would we be approaching the 96 number I have for control cards for just 6 VSAMs? Would we come close to the 1000's of control cards for fixed length VSAMs with no alternate indexes?
Response
[quote]
New data classes would need to be created.
Comparing the number of data classes we would need to create to the number of control cards you need to create is not logical. There's more involved in creating and maintaining new data classes than control cards.
Yes, you could probably eliminate 1000's of control cards however they would have to be replaced by modification to 1000's of JCL.
If you wish to pursue this further, I suggest this discussion be taken to the management level.
[/code]
I am still reading that as, we don't want to do the work to make your life easier.
Anyway back to writing a program and have it generating dynamic JCL. Writing the code to create the JCL with instream control cards is quite simple, but how would I pass these parms into the COBOL program to create the control card? I remember a discussion before where the inbound limit on a parm was 100 characters. If I have to put it in SYSIN for the program execution, I am no better off than IDCAMS.