View previous topic :: View next topic
|
Author |
Message |
Duncan Sharppe
New User
Joined: 13 Dec 2013 Posts: 20 Location: USA
|
|
|
|
Hey Good folks,
While I am not totally new to JCL I am stumped in trying to find an answer to this questions:
What is the max number of JCL DD statements per job step.
What is the max number of DD statements per job.
I've searched this forum and checked the JCL User's Guide... Nothing jumped out at me.
Thanks in advance to any answers / pointers.
friar Duncan |
|
Back to top |
|
|
gcicchet
Senior Member
Joined: 28 Jul 2006 Posts: 1702 Location: Australia
|
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
Try the JCL Language Reference. from the Table of Contents...
Quote: |
DD statement
in JCL, 12.0
comments field, 12.1.5
ddname, 12.1.2
description, 12.0
example, 12.1.7
location in JCL, 12.1.6
name field, 12.1.2
operation field, 12.1.3
parameter field, 12.1.4
maximum number per job, 12.1.1
|
|
|
Back to top |
|
|
Kmr.deepakcs
New User
Joined: 11 Oct 2013 Posts: 37 Location: India
|
|
|
|
it depends upon tiot avaliable for single dd statement. like if u have tiot control blocksize of 32k then u can have 3273 dd statements per job. Actually, It totally depends upon shop to shop. |
|
Back to top |
|
|
Duncan Sharppe
New User
Joined: 13 Dec 2013 Posts: 20 Location: USA
|
|
|
|
Thanks everyone for he pointers.
Especial thanks to Deepak Kumar. I believe that this "trick" question was presented to me because of some obscure joke or in-need-of-knowledge to send me into researching it.
The JCL references pointed out were read by me and I'm going to try to piece all of this together.
Many thanks again.
Duncan |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
Quote: |
like if u have tiot control blocksize of 32k then u can have 3273 dd statements per job. |
unfortunately the reply is just plain wrong ....
here is what the SYSTEM INITIALIZATION AND TUNING manuals tell
Quote: |
TIOT
Specifies the installation defaults for the task I/O table (TIOT).
SIZE(nn)
Specifies the size of the TIOT. The TIOT contains an entry for each DD statement.
The size of the TIOT controls how many DDs are allowed per jobstep. By specifying an integer from 16 to 64 as the value of this parameter, the installation controls the default DD allowance.
The following table shows the relationship between the size of the TIOT and the maximum number of DDs allowed:
Maximum number
of DDs allowed
when every DD
Maximum number requests the
SIZE Value of single Unit maximum number
Dec (Hex) Size of TIOT DDs allowed of units (59)
16 10 16384 (16K) |816 64
17 11 17408 (17K) 867 68
24 18 24576 (24K) |1225 97
25 19 25600 (25K) 1277 101
32 20 32768 (32K) 1635 129
40 28 40960 (40K) 2045 162
48 30 49152 (48K) 2454 194
56 38 57344 (56K) 2864 227
64 40 65536 (64K) 3273 259
Notes:
Your calculations need to take into account that the size of a TIOT entry, for a DD statement or a Dynamic Allocation, increases by four (4) bytes for every SMS Candidate volume assigned (e.g., by your DATACLAS), regardless of whether they're guaranteed space.
For a VSAM KSDS the number of 4-byte entries in the TIOT for the data set depends on whether or not the data set is defined as reusable. The count of entries in the TIOT is the count of candidate volumes for the data and index components plus:
For a reusable data set - the number of volumes used by the data component plus the number of volumes used by the index component.
For a nonreusable data set - the number of volumes in the set of volumes used by the data and index component.
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.
Example 1:
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=3490 ** DD requires 20 bytes *
TIOT space requirement for entire step = 80 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.
Example 2:
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=(3490,2) ** DD requires 24 bytes *
TIOT space requirement for entire step = 84 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.
Example 3:
//TAPEJOB JOB
//STEP1 EXEC PGM=IEFBR14
//DD1 DD UNIT=(3490,59) ** DD requires 252 bytes *
TIOT space requirement for entire step = 312 bytes.
A Job Step with three (3) DD statements and each DD requesting one more unit than the previous DD would utilitize the following TIOT space:
//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 *
TIOT space requirement for entire step = 132 bytes.
Value Range: 16 - 64 kilobytes
Default: 32 kilobytes
|
note how the number of DDs depends on the number of VOLUMES allocated |
|
Back to top |
|
|
Kmr.deepakcs
New User
Joined: 11 Oct 2013 Posts: 37 Location: India
|
|
|
|
Sory, it was 64k instead of 32k.
Thanks enrico for correction. |
|
Back to top |
|
|
|