View previous topic :: View next topic
|
Author |
Message |
ParagChouguley
Active User
Joined: 03 Feb 2007 Posts: 175 Location: PUNE(INDIA)
|
|
|
|
What is the max length of Instream data that can be passed via JCL SYSIN statement to COBOL? |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
From the JCL Language Reference manual:
Quote: |
If you code LRECL with the * parameter, you cannot submit a data set to JES3 with a record length greater than 80 bytes.
You cannot use the TSO/E SUBMIT command to submit a data set to JES2 or JES3 with a record length greater than 80 bytes.
You can submit a data set to JES2 or JES3 with a record length greater than 80 bytes by submitting the following JCL:
//SUBMIT JOB ...
//S1 EXEC PGM=IEBGENER
//SYSPRINT DD SYSOUT=*
//SYSIN DD DUMMY
//SYSUT2 DD SYSOUT=(,INTRDR)
//SYSUT1 DD DSN=IBMUSER.LONGDATA.JCL,DISP=SHR
In this example, IBMUSER.LONGDATA.JCL contains the data with a record length greater than 80 bytes.
In a JES3 system, the record length limit is the size of the installation-defined spool buffer, minus 44. (For example, if the buffer size is 4084, the record length limit is 4040.) JES3 fails any job that exceeds this limit.
If the records longer than 80 bytes include JCL to be transmitted to a remote system using JES3 // XMIT or //*ROUTE XEQ, or JES2 /*ROUTE XEQ or /*XMIT with JES3 in the network, the records are truncated to 80 bytes. |
|
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
The same as the maximum possible length of a single JCL record (254 bytes). |
|
Back to top |
|
|
enrico-sorichetti
Superior Member
Joined: 14 Mar 2007 Posts: 10873 Location: italy
|
|
|
|
ok let' s refresh a bit of data management ... ( for sequential datasets )
1) device independence -
the program is not concerned about the device
being used to read/write the dataset
2) naming restrictions -
the are no artificial naming restriction apart those specified in the jcl guide and the programming guides
dsname max 44 chars and so on
ddname max 8 chars
all this means that a ddname called SYSIN can point anywhere,
card reader, real if You can find one or spooled
disk dataset
tape dataset
mvs itself will not object if You want to define in Your program
SYSIN as the output dataser and sysprint as the input dataset
( we might be intersted in the raction of Operations )
at the end of the story we need to straighten up the terminology
instream data are card images ==> record lenght 80
instream data is seen as a sequential dataset
instream data cn contain any number of records(cards images)
so ... there is no sysin data as an entity ...
there is a SYSIN DD which can point anywhere
Code: |
//SYSIN DD *
//SYSIN DD ...,UNIT=TAPE,...
//SYSIN DD ...,UNIT=SYSDA,... |
|
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
I think the key point of the topic is that the data is "instream", which to me means that it cannot be any longer than the longest possible record in the job that's supplying the instream data. |
|
Back to top |
|
|
dick scherrer
Moderator Emeritus
Joined: 23 Nov 2006 Posts: 19244 Location: Inside the Matrix
|
|
|
|
Quote: |
Post subject: Reply to: max length of Instream data to COBOL |
Quote: |
I think the key point of the topic is that the data is "instream", |
Yup, "instream" surely makes the difference. . .
d |
|
Back to top |
|
|
|