How many members fit in a single DD statement?



JES, JES2, JCL utilities, IDCAMS, Compile & Run JCLs, PROCs etc...

How many members fit in a single DD statement?

Postby Jackson93 » Wed Feb 07, 2018 4:09 pm

Hello,

i tried to find out how many members fit into a single DD statement, but did not find a single source.
I need to do something like this:

//SYSUT1 DD DSN=&SYSUID..TEST.#0001,DISP=(SHR,DELETE,KEEP)
//_______DD DSN=&SYSUID..TEST.#0002,DISP=(SHR,DELETE,KEEP)
//_______DD DSN=&SYSUID..TEST.#0003,DISP=(SHR,DELETE,KEEP)
...
//_______DD DSN=&SYSUID..TEST.#N,DISP=(SHR,DELETE,KEEP)

How big can N be?
I know that around 3273 DDs can exist in a single job, but not how many members can exist in a single dd statement.

Thanks & Regards
Jackson
Jackson93
 
Posts: 3
Joined: Wed Feb 07, 2018 3:55 pm
Has thanked: 4 times
Been thanked: 0 time

Re: How many members fit in a single DD statement?

 

Re: How many members fit in a single DD statement?

Postby expat » Wed Feb 07, 2018 4:42 pm

Have you googled ???
It depends on the size of your TIOT is seems
expat
 
Posts: 418
Joined: Sat Jun 09, 2007 3:21 pm
Has thanked: 0 time
Been thanked: 4 times

Re: How many members fit in a single DD statement?

Postby NicC » Wed Feb 07, 2018 4:46 pm

Whilst I was Googling Expat came up with the above. This is the second result from my Googling (taken from the results page not the link):
Concatenating Data Sets Sequentially - IBM
https://www.ibm.com/support/knowledgece ... seqcat.htm

The system can retrieve two or more data sets and process them successively as a single sequential data set. This is called sequential concatenation. The number of data sets that you can concatenate with sequential concatenation is variable. It is governed by the maximum size of the TIOT option. The system programmer


Edit: I tried that link and it came up with page not found.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic

These users thanked the author NicC for the post:
Jackson93 (Wed Feb 07, 2018 4:53 pm)
NicC
Global moderator
 
Posts: 2811
Joined: Sun Jul 04, 2010 12:13 am
Location: Pushing up the daisies (almost)
Has thanked: 4 times
Been thanked: 116 times

Re: How many members fit in a single DD statement?

Postby Jackson93 » Wed Feb 07, 2018 5:11 pm

Thank you NicC, was not sure of the TIOT variable was not only regulating the amount DD statements and steps, but also the allowed amount of members in a single DD Statement.
http://publibz.boulder.ibm.com/cgi-bin/ ... 0126222340 shows how much TIOT space a DD statement uses, but i am not sure if the same formular applies for members in a single DD statement.
Jackson93
 
Posts: 3
Joined: Wed Feb 07, 2018 3:55 pm
Has thanked: 4 times
Been thanked: 0 time

Re: How many members fit in a single DD statement?

Postby Robert Sample » Wed Feb 07, 2018 6:11 pm

The system can retrieve two or more data sets and process them successively as a single sequential data set. This is called sequential concatenation. The number of data sets that you can concatenate with sequential concatenation is variable. It is governed by the maximum size of the TIOT option. The system programmer controls the TIOT size with the option ALLOCxx member of SYS1.PARMLIB. The smallest TIOT value allows 819 single-unit DD statements or 64 DD statements having the maximum number of units. See z/OS MVS Initialization and Tuning Reference. When data sets are sequentially concatenated, your program is open to only one of the data sets at a time. Concatenated data sets cannot be read backward.
is from https://www.ibm.com/support/knowledgece ... seqcat.htm.

Furthermore, TIOT calculations must factor in the number of units and not just the number of DD statements, as this quote from the MVS Initialization and Tuning Reference manual for the ALLOCxx member indicates:
Use the following to calculate the maximum number of DDs allowed per Job Step:

The TIOT Prefix, Header, and Trailer consume sixty (60) ('3C'x) bytes of the total TIOT space available to a Job Step.
A DD statement requesting a single unit requires twenty (20) bytes ('14'x) of TIOT space. The TIOT space requirement for entire step is 80 bytes.

//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=3490 ** DD requires 20 bytes *

A DD statement requesting two (2) units requires twenty four (24) bytes ('18'x) of TIOT space. Twenty bytes for the basic information for the first unit and an additional four bytes for the second unit. The TIOT space requirement for entire step is 84 bytes.

//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=(3490,2) ** DD requires 24 bytes *

A DD requesting the maximum number of units allowed, fifty nine (59), utilizes two hundred fifty two (252) bytes ('FC'x) of TIOT space. The TIOT space requirement for entire step is 312 bytes.

//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=(3490,59) ** DD requires 252 bytes *

A Job Step with three (3) DD statements and each DD requesting one more unit than the previous DD would use the following TIOT space; TIOT space requirement for entire step is 132 bytes.

//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=3490 ** DD requires 20 bytes *
//DD2 DD UNIT=(3490,2) ** DD requires 24 bytes *
//DD3 DD UNIT=(3490,3) ** DD requires 28 bytes *

The DD limit is 259, not 3273, when every DD statement uses the maximum (59) number of units.

These users thanked the author Robert Sample for the post:
Jackson93 (Mon Feb 12, 2018 3:22 pm)
Robert Sample
Global moderator
 
Posts: 3524
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 251 times

Re: How many members fit in a single DD statement?

Postby steve-myers » Wed Feb 07, 2018 9:10 pm

Well, since a PDS must be on 1 disk volume, the TIOT entry for the DD statement requires 20 bytes. For all practical purposes you have the limit of the TIOT size and any limits as to the number of data sets in a concatenation.

Since a member is specified, it is the equivalent of a sequential data set. In sequential concatenation , for all intents and purposes, each DD statement is opened as though it were a new data set by itself, so I'm not sure if a limits about data sets in a partitioned data set concatenation apply. 259 data sets have been bandied about here, but the issues become more complex when the data sets have multiple extents. This link is old, but I think it's still correct.
steve-myers
Global moderator
 
Posts: 1944
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 209 times

Re: How many members fit in a single DD statement?

Postby enrico-sorichetti » Wed Feb 07, 2018 9:19 pm

still the original question is not clear ...

the simple reply, imo, would be according to the jcl rules,

a dd statement can contain just one member

//ddname DD DISP=...,DSN=SOME_PDS(SOME_MEMBER)

// DD DISP=...,DSN=SOME_OTHER_PDS(SOME_OTHER_MEMBER)
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico-sorichetti
Global moderator
 
Posts: 2775
Joined: Fri Apr 18, 2008 11:25 pm
Has thanked: 0 time
Been thanked: 147 times

Re: How many members fit in a single DD statement?

Postby Robert Sample » Wed Feb 07, 2018 9:45 pm

I think some of the confusion is terminology -- the TS appears to be using "members" when referring to sequential data sets
//SYSUT1 DD DSN=&SYSUID..TEST.#0001,DISP=(SHR,DELETE,KEEP)
//_______DD DSN=&SYSUID..TEST.#0002,DISP=(SHR,DELETE,KEEP)
//_______DD DSN=&SYSUID..TEST.#0003,DISP=(SHR,DELETE,KEEP)
...
//_______DD DSN=&SYSUID..TEST.#N,DISP=(SHR,DELETE,KEEP)

These users thanked the author Robert Sample for the post:
Jackson93 (Mon Feb 12, 2018 3:21 pm)
Robert Sample
Global moderator
 
Posts: 3524
Joined: Sat Dec 19, 2009 8:32 pm
Location: Dubuque, Iowa, USA
Has thanked: 1 time
Been thanked: 251 times

Re: How many members fit in a single DD statement?

Postby steve-myers » Wed Feb 07, 2018 9:46 pm

I agree with Mr. Sorichetti. The question is poorly worded. How about, "How many members can be specified in JCL on one DD statement. The answer in one. "How many members can exist in one partitioned data set?" There we can state, there is no defined limit; though there seem to be limits in a PDSE data set, however these limits, even in PDSE V1 data sets, seem to be quite large.

These users thanked the author steve-myers for the post:
Jackson93 (Mon Feb 12, 2018 3:21 pm)
steve-myers
Global moderator
 
Posts: 1944
Joined: Thu Jun 03, 2010 6:21 pm
Has thanked: 4 times
Been thanked: 209 times

Re: How many members fit in a single DD statement?

Postby willy jensen » Thu Feb 08, 2018 4:16 pm

Well, you could try. Use PGM=IEFBR14 and specify the same datasetname a number of times. Start with 20000 and increase by 5000. That will give you the number for your installation.
willy jensen
 
Posts: 175
Joined: Thu Mar 10, 2016 5:03 pm
Has thanked: 0 time
Been thanked: 25 times


Return to JCL

 


  • Related topics
    Replies
    Views
    Last post