IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Maximum number of instream procedure allowed in a job is 209


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 11:11 am
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Aug 06, 2008 11:26 am
Reply with quote

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
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Aug 06, 2008 12:06 pm
Reply with quote

book for which release of your op-sys?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8796
Location: Welsh Wales

PostPosted: Wed Aug 06, 2008 12:07 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Aug 06, 2008 12:10 pm
Reply with quote

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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 12:11 pm
Reply with quote

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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 12:13 pm
Reply with quote

They are all level 1 procs
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Aug 06, 2008 12:27 pm
Reply with quote

as mentioned and as usual overlooked, Expat pointed out that the 15 refers to nesting levels, not the number of procs.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Aug 06, 2008 12:30 pm
Reply with quote

Hello,

Quote:
Note: The maximum number of in-stream procedures you can code in any job is 15.
Comes from:
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/handheld/Connected/BOOKS/iea2b540/1.2.3.1.1?

which is from our link. . .

I must be missing something icon_confused.gif
Back to top
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 12:31 pm
Reply with quote

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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 12:35 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Aug 06, 2008 12:45 pm
Reply with quote

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
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Aug 06, 2008 12:49 pm
Reply with quote

did you exceed the 255 dd statement limit with your 210th proc?
Back to top
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Wed Aug 06, 2008 2:08 pm
Reply with quote

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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 2:13 pm
Reply with quote

//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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Wed Aug 06, 2008 2:17 pm
Reply with quote

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
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Wed Aug 06, 2008 4:38 pm
Reply with quote

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Wed Aug 06, 2008 9:20 pm
Reply with quote

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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Thu Aug 07, 2008 4:15 pm
Reply with quote

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
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Thu Aug 07, 2008 4:31 pm
Reply with quote

I would like to disagree on the number given in the topic tile as an absolute truth icon_biggrin.gif

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
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Thu Aug 07, 2008 7:19 pm
Reply with quote

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+ icon_confused.gif
Back to top
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Fri Aug 08, 2008 10:25 am
Reply with quote

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
View user's profile Send private message
shyam k dhanraj

New User


Joined: 18 Jun 2008
Posts: 27
Location: bangalore

PostPosted: Fri Aug 08, 2008 11:22 am
Reply with quote

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
View user's profile Send private message
Aaru

Senior Member


Joined: 03 Jul 2007
Posts: 1287
Location: Chennai, India

PostPosted: Fri Aug 08, 2008 11:38 am
Reply with quote

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
View user's profile Send private message
Arun Raj

Moderator


Joined: 17 Oct 2006
Posts: 2481
Location: @my desk

PostPosted: Fri Aug 08, 2008 12:13 pm
Reply with quote

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
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Excuting store procedure via JCL batch JCL & VSAM 1
No new posts Executing DB2 SQL store procedure via... DB2 0
No new posts Pulling a fixed number of records fro... DB2 2
No new posts Substring number between 2 characters... DFSORT/ICETOOL 2
No new posts Generate random number from range of ... COBOL Programming 3
Search our Forums:

Back to Top