View previous topic :: View next topic
|
Author |
Message |
Deepakgoyal2005
New User
Joined: 22 Mar 2007 Posts: 57 Location: India
|
|
|
|
Requirement:
I have a PDS with say 52 members (M01 to M52). i need to split the members into new PDS with max 10 members such that my output will be 6 PDS with members as,
PDS1 - M01 to M10
PDS2 - M11 to M20
...
PDS6 - M51 and M52
I want to achive it by JCL.
Analysis till now:
I had been able to find below JCL for serving the purpose,
Code: |
//STEP010 EXEC PGM=FILEAID
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//DD01 DD DISP=SHR,DSN=INPUT.PDS.MEM52
//DD01O DD DISP=SHR,DSN=OUTPUT.PDS1
//SYSIN DD *
$$DD01 COPY MBRNAME=(M1,M10)
/* |
Such that Output PDS "OUTPUT.PDS1" contains first 10 members from M01 to M10 (i.e. "FROM MEMBER" to "TO MEMBER" respectively). Likewise i need to submit for other members.
Unfulfilled Requirement:
While dealing with 1000's of members of complex member names it becomes difficult to extract name of members to be copied into JCL. Can we just give the count of members to be copied into output PDS instead of giving the "FROM MEMBER" and "TO MEMBER" to copy. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Quote: |
I want to achive it by JCL. |
/RANT ON
Once more let us clarify exactly what JCL is.
it is Job Control Language.
By itself it does nothing. It is used to invoke the chosen program and to define which datasets are to be used by the DD names associated with the chosen program.
JCL does not have magical powers that solve all problems, JCL is merely the vehicule for telling the processor which program you want it to execute.
/RANT OFF
To me, this looks like one of those strange requirements with no real business need. Maybe if you explained the need for this we could suggest something different.
As you are using FILEAID, what did it say in the FILEAID documentation regarding the parameters that can be used and the variations of them, such as using a count. |
|
Back to top |
|
|
Deepakgoyal2005
New User
Joined: 22 Mar 2007 Posts: 57 Location: India
|
|
|
|
Hi Expat,
Thanks for conceptualizing the JCL.
My strange requirement is attached with business in context to load handling limit with endeavor.
We had about 30,000 components to be staged into endeavor which was failing since it was not able to process more than 200 components at a time. So i needed to split the PDS into almost 150 PDS with 200 component each.
With the available control card (as in my previous post) i need to change the "FROM MEMBER NAME" and "TO MEMBER NAME". So i was looking to avoid this manual intervention and give merely the "FROM NUMBER" and "TO NUMBER" of member to be copied. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
instead of wasting time creating new pds's,
what don't you create your SCL to just load 200 members for each run? |
|
Back to top |
|
|
Deepakgoyal2005
New User
Joined: 22 Mar 2007 Posts: 57 Location: India
|
|
|
|
In that case i would need to select 200 members every time out of the 30000 members in input PDS.
Or probably the option you are talking about might not be present in application at our end since it is resently been installed and is in still in maintainance mode
I was just interested in getting the solution of above requirement since i felt its need quite a few times. |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8797 Location: Welsh Wales
|
|
|
|
Have you considered using REXX as a driver.
There are numerous examples on the forum of getting a list of PDS members. From that list you can generate the JCL to do as you wish. |
|
Back to top |
|
|
|