View previous topic :: View next topic
|
Author |
Message |
rkprasanth_m
New User
Joined: 22 Jun 2006 Posts: 44
|
|
|
|
Hi,
I have a requirement to send data records which have record length 133 to internal reader. Can we do like that?
Someone please clarify |
|
Back to top |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi
JobControlCards allways have a fixed length of 80 Bytes.
Regards, UmeySan |
|
Back to top |
|
|
kamran
New User
Joined: 01 May 2005 Posts: 55
|
|
|
|
Hi,
Internal Reader is used just for submitting jobs and the contents of the records should be the jcl cards so the requirements for submitting jobs would govern your output records.
Anyhow if you are trying to submit a job through internal reader why you have used records with lrecl 133?
it is not clear for me why you are trying to reach to offer appropriate solution.
rkprasanth_m wrote: |
Hi,
I have a requirement to send data records which have record length 133 to internal reader. Can we do like that?
Someone please clarify |
|
|
Back to top |
|
|
rkprasanth_m
New User
Joined: 22 Jun 2006 Posts: 44
|
|
|
|
Well, Thanks for your replays.
Actually, I need to send in-stream data with lrecl 133.
Here is my complete requirement.
My program submits a job from COBOL which inturns calls a procedure. That procedure has a dataset which we need to create dynamically. In attempt to do this I need to send instream data (lrecl 133).
This program sends automatic mails with attachments (which i need to create dynamically). |
|
Back to top |
|
|
annujp
New User
Joined: 31 Aug 2005 Posts: 39 Location: St Paul,MN
|
|
|
|
Correct me if i am wrong, if the JCL which you are submitting from a COBOL program is calling a PROC, the PROC will be residing in a JOBLIB. In that case, how can you create the dataset dynamically?
Could you explain the requirement more clearly? |
|
Back to top |
|
|
rkprasanth_m
New User
Joined: 22 Jun 2006 Posts: 44
|
|
|
|
That's I am tring to do. I am not sure, can't we write records to internal reader which over writes dd name in proc. |
|
Back to top |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi !
Anyway, JobControlCards allways have a fixed length of 80 Bytes.
And that is what JES2 is handling and accepting.
So if i understood correctly, you create data dynamically for mail dispatching. So i think, only the text for the mails has to be 133 bytes.
Therfore, why don't create the text in a separate file. The procedure you told us, has to exist in Proclib/Joblib. Then you could transfer the JCL to internal reader. This little JCL will only activating the proc which is using the data-file from the cobol-programm.
Regards, UmeySan |
|
Back to top |
|
|
annujp
New User
Joined: 31 Aug 2005 Posts: 39 Location: St Paul,MN
|
|
|
|
Correct me if i am wrong...
Create a file in the Program dynamically that has LRECL 133. Submit a job in this Program that calls the proc. The proc will use this dataset that the program created.
That is. the Datset name of the dynamically created dataset with LRECL 133, will appear as DISP=(New,Catlg,Delete) in the run JCL of the Program and the Program will submit the job which calls the Proc. In the proc, the disp of the dataset will be SHR.
Did i confuse u? |
|
Back to top |
|
|
rkprasanth_m
New User
Joined: 22 Jun 2006 Posts: 44
|
|
|
|
ok, But this program generates emails with attachments. So I have to create a file for every email. all things dynamically. |
|
Back to top |
|
|
superk
Global Moderator
Joined: 26 Apr 2004 Posts: 4652 Location: Raleigh, NC, USA
|
|
|
|
rkprasanth_m wrote: |
I have a requirement to send data records which have record length 133 to internal reader. Can we do like that? |
Yes. Your JCL records can be up to 254-bytes. |
|
Back to top |
|
|
kamran
New User
Joined: 01 May 2005 Posts: 55
|
|
|
|
Hi,
I think just in stream data can be 254-bytes and if the jcl cards continued beyond 71 byte it will get error during execution!
superk wrote: |
rkprasanth_m wrote: |
I have a requirement to send data records which have record length 133 to internal reader. Can we do like that? |
Yes. Your JCL records can be up to 254-bytes. |
|
|
Back to top |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi superk !
The genesis of the JobControlStatements now a days are the very old
puched cardes with a length of 80.
A JCL command beginns with // and ends in position 71.
Responsible for the batch processing in OS/390 is JES. JobEntrySystem.
JES is descended from HASP ( Houston Automatic Spool Program ). By the way, this was develloped in the 60 from IBM for the NASA.
JES2, also JES3, is handling JCL-Cards with a fixed length of 80 Bytes.
In an IBM environment you will allways see the SYS1.PROCLIB defined as fixed block with 80 bytes length.
JES handels JCL in 3 main Steps.
First is Preprocessing, like checking syntax and do allocations.
Second is processing, so like run/execute the programms.
Third is Postprocessing, something like a clean-up phase.
So in detail, what does JES do ?
z/OS has two versions of job entry systems: JES2 and JES3. Of these, JES2 is the most common by far and is the JES used in examples in this text. JES2 and JES3 have many functions and features, but their most basic functions are as follows:
Accept jobs submitted in various ways:
From ISPF through the SUBMIT command
Over a network
From a running program, which can submit other jobs through the JES internal reader
From a card reader (very rare!) Here you are. Again 80 Bytes.
Queue jobs waiting to be executed. Multiple queues can be defined for various purposes.
Queue jobs for an initiator , which is a system program that requests the next job in the appropriate queue.
Accept printed output from a job while it is running and queue the output.
Optionally, send output to a printer, or save it on spool for PSF, InfoPrint, or another output manager to retrieve.
As a consequence of the limitations of the number of characters that could be contained in single 80-column punched cards used in earlier systems, z/OS introduced the concepts of continuation and concatenation. Therefore, z/OS retained these conventions in order to minimize the impact on previous applications and operations.
Continuation of JCL syntax involves a comma at the end of the last complete parameter. The next JCL line would include // followed by at least one space, then the additional parameters. JCL parameter syntax on a continuation line must begin on or before column sixteen and should not extend beyond column 72.
So please correct me if i'm wrong.
Regards, UmeySan |
|
Back to top |
|
|
rkprasanth_m
New User
Joined: 22 Jun 2006 Posts: 44
|
|
|
|
umeysen,
we can send upto 254 bytes through internal reader, I think |
|
Back to top |
|
|
UmeySan
Active Member
Joined: 22 Aug 2006 Posts: 771 Location: Germany
|
|
|
|
Hi !
Do you mean a 254 byte stream, which includes 80byte jcl cards or what ?
I guess the question was, if one could send a jcl-card with a length of 133
to internal reader. So that means to me, that perhaps i could code a jcl-statement in position 82 up to 133.
Regards, UmeySan (with "a" in San please) |
|
Back to top |
|
|
|