View previous topic :: View next topic
|
Author |
Message |
Martylin
New User
Joined: 08 Mar 2016 Posts: 13 Location: Taiwan
|
|
|
|
//INP0501 DD DUMMY,LRECL=133 => OK
//INP0501 DD DUMMY => ABEND
IBM0122S ONCODE=22
The RECORD condition was raised because the length of the record variable was greater than the record
length (FILE= INP0501).
why my other jcl didn't abend without DCB parameter? |
|
Back to top |
|
|
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
That's actually a good question. I, too, have occasionally been killed by unexpected DD DUMMY issues like the one you encountered. It seems to me input DD DUMMY shouldn't care since any input request is going to immediately raise end of data.
Output, on the other hand, does raise possible problems. Speaking in Assembler terms, DSORG=PS,MACRF=PL requires a pseudo I/O buffer since PUT returns a buffer address, where DSORG=PS,MACRF=PM does not because (hopefully) the access method is just going to return without moving anything.
I just spent some time hunting for a hint in DFSMS Using Data Sets and found nothing.
JCL Reference says
Quote: |
Code the DCB parameter, if needed. If the program does not supply all the data control block information, make sure that the DCB parameter supplies the missing information. |
In other words, that's meaningless. How the [text deleted since terms inappropriate for the gentler gender and most children were used] is some poor shlub going to answer this! |
|
Back to top |
|
|
PeterHolland
Global Moderator
Joined: 27 Oct 2009 Posts: 2481 Location: Netherlands, Amstelveen
|
|
|
|
"An OPEN macro instruction was issued for a dummy data set; the BLKSIZE and BUFL values are both 0. Correct the DCB by specifying a BLKSIZE or BUFL value other than 0."
IEC141I 013-rc,mod,jjj,sss, ddname[-#] [,dev,volser, dsname(member)]
Where rc = 10.
Quote: |
It seems to me input DD DUMMY shouldn't care since any input request is going to immediately raise end of data
|
Before any input/output occurs, a dataset has tp be opened. |
|
Back to top |
|
|
sergeyken
Senior Member
Joined: 29 Apr 2008 Posts: 2144 Location: USA
|
|
|
|
Martylin wrote: |
//INP0501 DD DUMMY,LRECL=133 => OK
//INP0501 DD DUMMY => ABEND
IBM0122S ONCODE=22
The RECORD condition was raised because the length of the record variable was greater than the record
length (FILE= INP0501).
why my other jcl didn't abend without DCB parameter? |
No context given on the used environment, and other circumstances.
Trying to guess.
This happened when trying to READ a fixed length record into a variable within some PL/I code, isn't it?
PL/I OPEN FILE collects the attributes in standard sequence:
1) From DECLARE FILE statement in PL/I program
2) From DD DCB= parameters in JCL
3) From DSCB (e.g. "dataset label")
In your case #2, and #3 definitely have no LRECL definition. I can guess that your PL/I code has no ENV( RECSIZE(...) ) definition in its DCL INP0501 FILE statement.
This situation must definitely cause the mentioned ABEND, unless DCB has been specified somehow either in DD, or in (existing) DSCB.
BTW, this topic is not related to "JCL/VSAM"; it is more PL/I issue. |
|
Back to top |
|
|
|