View previous topic :: View next topic
|
Author |
Message |
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
The books says that not more than 15 instream procedures can be coded in job. I tried coding 209 instream procedures and also executed all the 209 procedures. It works perfectly well.
If I code 210 instream procs then I get JCL error that says excessive number of instream procs.
Can anybody throw some light on this topic and tell me why there is a contradiction between books and the real mainframes....... |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Hopefully the collection of 200+ procs is made up of very small procs.
Please post 2 or 3 of them so we can see what you are running. |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
book for which release of your op-sys? |
|
Back to top |
|
|
expat
Global Moderator
Joined: 14 Mar 2007 Posts: 8796 Location: Welsh Wales
|
|
|
|
Quote: |
The books says that not more than 15 instream procedures can be coded in job. |
Do you mean level 1 or nested procedures ? |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
The most current manual we have linked via "IBM Manuals" has the 15. . .
Possibly i mis-read. . . Gettin' late/early here. . . |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
The Instream procs are exteremely small infact i wrote the jcl just to check if a single job can actually have more than 15 procs and i landed up in the number 209. irrespective of the size of procs i believe the number should be 15. some how it does not throw an error when i have 209 insteam procs in a single job. |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
They are all level 1 procs |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
as mentioned and as usual overlooked, Expat pointed out that the 15 refers to nesting levels, not the number of procs. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
Mr dbzTHEdinosauer, 15 levels of nesting is one thing which i am aware of.
I am reffering to the exact line that is mentioned in J. Ranade IBM series, The MVS JCL Primer, Tata McGraw Hill. It clearly says the maximum number of instream procedure allowed in a single job is 15. It also says 15 levels of nesting is allowed. |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
What is the significance of the number 209? Can u guys actually test it, and see if it happens in your version of OS ? If u want I can actually share the REXX code that i used for creating a PS with 209 instream procs and 209 steps to invoke each of these procs. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
Rather than the code to generate these, i'd rather see a few of the procs and the "steps to invoke" them. . . |
|
Back to top |
|
|
dbzTHEdinosauer
Global Moderator
Joined: 20 Oct 2006 Posts: 6966 Location: porcelain throne
|
|
|
|
did you exceed the 255 dd statement limit with your 210th proc? |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Hi,
Just out of curiosity I just tried this out with 20 in-stream procs and it executed fine!!.
Here's my job.
Code: |
//XXXXXXXX JOB (SPUFI),'POT2 POH',CLASS=A,MSGCLASS=X,
// NOTIFY=&SYSUID,REGION=4M
/*JOBPARM S=MVSA
//*
//PROC1 PROC
//PS100 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=DSND.DSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=X
//SYSPRINT DD SYSOUT=X
//SYSUDUMP DD SYSOUT=X
//SYSTSIN DD DSN=XXXXXX.SPUFI.IN(CARD1),DISP=SHR
//SYSIN DD DSN=XXXXXX.SPUFI.IN(TEST2),DISP=SHR
// PEND
//*
//PROC2 PROC
//PS100 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=DSND.DSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=X
//SYSPRINT DD SYSOUT=X
//SYSUDUMP DD SYSOUT=X
//SYSTSIN DD DSN=XXXXXX.SPUFI.IN(CARD1),DISP=SHR
//SYSIN DD DSN=XXXXXX.SPUFI.IN(TEST2),DISP=SHR
// PEND
//*
.......................
.......................
//PROC20 PROC
//PS100 EXEC PGM=IKJEFT01
//STEPLIB DD DSN=DSND.DSNLOAD,DISP=SHR
//SYSTSPRT DD SYSOUT=X
//SYSPRINT DD SYSOUT=X
//SYSUDUMP DD SYSOUT=X
//SYSTSIN DD DSN=XXXXXX.SPUFI.IN(CARD1),DISP=SHR
//SYSIN DD DSN=XXXXXX.SPUFI.IN(TEST2),DISP=SHR
// PEND
//*
//*
//JS01 EXEC PROC1
//*
//JS02 EXEC PROC2
//*
.......................
.......................
//*
//JS20 EXEC PROC20 |
Job Output
Code: |
STEPNAME PROCSTEP RC
JS01 PS100 00
JS02 PS100 00
JS03 PS100 00
.......................
.......................
JS20 PS100 00 |
Thanks,
Arun |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
//Exxxxx JOB ,,NOTIFY=&SYSUID,CLASS=D,MSGLEVEL=(1,1),MSGCLASS=X
//PROC1 PROC
//STEP1 EXEC PGM=IEFBR14
// PEND
//PROC2 PROC
//STEP2 EXEC PGM=IEFBR14
// PEND
//PROC3 PROC
//STEP3 EXEC PGM=IEFBR14
// PEND
//PROC4 PROC
//STEP4 EXEC PGM=IEFBR14
// PEND
.
.
.
//PROC209 PROC
//STEP209 EXEC PGM=IEFBR14
// PEND
//STEP1 EXEC PROC1
//STEP2 EXEC PROC2
//STEP3 EXEC PROC3
//STEP4 EXEC PROC4
.
.
.
.
//STEP209 EXEC PROC209 |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
Quote: |
did you exceed the 255 dd statement limit with your 210th proc? |
I do not think there is a restriction on the number of DD names but we do have a restriction on the number of steps or exec which is 255. My job does not contain 255 steps but contains only 209. |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Hello shyam
Quote: |
I do not think there is a restriction on the number of DD names |
Yes we do have a limit in the number of DD statements and the manual says it is 3273.
Thanks,
Arun |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello shyam,
Thanks for posting the procs/execs.
Quote: |
If I code 210 instream procs then I get JCL error that says excessive number of instream procs. |
Would you post this error message number and text from the output with the jcl error? |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
IEFC665I EXCESSIVE NUMBER OF INSTREAM PROCEDURES
and
IEFC612I PROCEDURE PROC210 WAS NOT FOUND
PROC210 refers to the 210th proc. 209 procs gets expanded successfully |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10886 Location: italy
|
|
|
|
I would like to disagree on the number given in the topic tile as an absolute truth
if You had searched the forums with instream You would have found that ...
the topic has already been discussed with tests here
anyway as noted in the pointed out thread,
the full message text points out a space problem in the conversion/interpret stages
so 209 might be a good number for stupid IEFBR14 whitout any DD statement
as soon as I write a rexx tool to create 209 more complicated procedures
I will post the findings |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19243 Location: Inside the Matrix
|
|
|
|
Hello,
From the Messaged and Codes for message IEFC665I:
Quote: |
Explanation: The system found that the job fills the data set with input stream procedures. |
When jour jcl is processed the system gathers all of the specified "pieces" and creates the execution job stream. This is gathered into a "file" and when the expansion of all of the components is complete, execution moves past validation to execution. The size of all of your components creates a run-unit too large for the file.
The error is not because of the number of instream procs so much as it is the total size of what is being submitted.
I'm still curious why the manual says 15 but the system allowed 200+ |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
IEFBR14 is simple. I agree. Yesterday I wrote a JCL to execute a batch cobol program that reads a dataset and puts the content to the spool. Again the number of instream proc that i was able to successfully execute is 209. If the manual puts a limit to the number of Instream Procs, then I totatly believe that size has nothing to do with it. I still cannot figure out the significance of 209 leave alone not 15. I referred a couple of more books, everything says the only 15 instream procs are allowed.
If the forums cannot answer then who can answer? |
|
Back to top |
|
|
shyam k dhanraj
New User
Joined: 18 Jun 2008 Posts: 27 Location: bangalore
|
|
|
|
Quote: |
Yes we do have a limit in the number of DD statements and the manual says it is 3273 |
The maximum number of DD statements allowed for a single step or exec is 1635.
The maximim number of a records a JOB can have is 3273 and hence the maximum number of DD statements for a JOB cannot be said as 3273. A job has to have a miniumum of two non DD records i.e. the JOB CARD and an EXEC. |
|
Back to top |
|
|
Aaru
Senior Member
Joined: 03 Jul 2007 Posts: 1287 Location: Chennai, India
|
|
|
|
Shyam,
Quote: |
If the forums cannot answer then who can answer? |
You would def get an answer for sure.
Last time when this topic was discussed, we came to a conclusion that the maximum no of instream procedures that can be in a job is not 15 as mentioned in the manual.
Quote: |
If the manual puts a limit to the number of Instream Procs, then I totatly believe that size has nothing to do with it. |
Yep, Agreed. Even in the link that Enrico had posted he was able to execute only till 209. Hence I think the maximum no of instream procs allowed is 209 and not 15 as mentioned in the manuals.
I would try few permutations and combinations and post my findings. |
|
Back to top |
|
|
Arun Raj
Moderator
Joined: 17 Oct 2006 Posts: 2481 Location: @my desk
|
|
|
|
Shyam,
Quote: |
The maximum number of DD statements allowed for a single step or exec is 1635. |
This is what I found from z/OS V1R7.0 MVS JCL Reference.
Quote: |
The maximum number of DD statements per job step is 3273, based on the number of single DD statements allowed for a TIOT (task input output table) control block size of 64K. This limit can be different depending on the installation-defined TIOT size. The IBM-supplied default TIOT size is 32K. |
Now my question is whether this number is installation-defined and can vary with different sites?
Thanks,
Arun |
|
Back to top |
|
|
|