1. I did not get any message other than the message in the OP --
specifically, no S013. I'm not intentionally leaving anything out of the
story. As I look at the code now, the input DCB OPEN exit provides a maximum
size BUFL if it is still zero at the time the exit is drive -- that code was
no doubt inserted to work around some other DFSMS obscurity -- so that plug
of DCBBUFL may be masking the S013.

2. By "working until recently" I did not mean to imply that this particular
specific situation changed. I meant that the subroutine was tested and
generally working in a wide variety of circumstances -- that it was not new
code -- and that apparently due to other changes in a product that is
undergoing ongoing development, the subroutine was now encountering this
situation.

Charles

-----Original Message-----
From: IBM Mainframe Discussion List [mailto:[EMAIL PROTECTED] On Behalf
Of (IBM Mainframe Discussion List)
Sent: Monday, January 22, 2007 7:49 AM
To: IBM-MAIN@BAMA.UA.EDU
Subject: Re: What is "command reject" trying to tell me?

 
 
In a message dated 1/22/2007 7:30:12 A.M. Central Standard Time, usenet5678

@ YAHOO.COM writes:
>I'm not sure what to make of this.  My understanding is that if you  OPEN
>a BSAM or QSAM DCB for INPUT and the F1-DSCB has BLKSIZE=0,  
>you get an S013-34 abend.  ...
>Gilbert Saint-Flour
 
The OP said he had an Assembler subroutine that does GETs with QSAM on a
RECFM=FB DCB and 
that the code had been working until recently.  IBM's doc [1] says  "An
error 
occurred during the processing of an OPEN macro."  We don't know  the LRECL
or 
OPEN options other than input.  Quite a few causes are listed,  of which the

following seem possible given only the OP's facts:  (1) "The  following 
combination was specified: QSAM, MACRF=GD or PD, and a RECFM value  that is
not VS, 
VBS, DS, or DBS."  (2) "An OPEN macro instruction was  issued for a data set

with BLKSIZE and BUFL equal to 0. The system determined  that it had to
obtain 
buffers but was unable to do so."  (3) "The following  combination was 
specified: QSAM, LRECL=0, and a RECFM value that is not V or  VB."  (4) "The

following combination was specified: QSAM and BLKSIZE=0. No  nonzero BLKSIZE
value was 
available from any source and the system could not  determine one."
 
I described in a previous post that the command reject was caused by  the 
Locate Record's transfer length factor's being zero, and then  speculated
that 
this was caused by a zero blocksize.  With the large  number of options 
available with QSAM DASD I/O, and since the OP did not say he  had gotten a
S013-34, I 
think we can conclude that either (1) there  are some combinations of 
operands that include BLKSIZE=0 that will not cause a  S013-34 and will
allow QSAM to 
try to do an I/O with an invalid transfer length  factor in the Locate
Record 
parameters or (2) there is something else that  the OP did not tell us.

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to