In a message dated 5/24/2005 10:11:26 P.M. Central Daylight Time,  
[EMAIL PROTECTED] writes:

>In  my previous post, I said to take the block size and subtract the  
>residual  count to determine how many bytes were read in.   This is
>the only  way to do it,
No. You can get it from DCBLRECL for RECFM=U. 

 
 
Could be true.  I don't know much about RECFM=U.  At any rate,  the access 
method subtracts the residual count from the max possible size to  know what to 
store into DCBLRECL if RECFM=U.  So this technique may  not be "the only way 
to do it", but it does work in all cases.
 
Note that in the case of chained scheduling (DCBOPTCD=C) the residual count  
will only apply to the last block read.  If N blocks are being read and one  
of them is short, the short block will cause the channel program to stop and 
the  residual count will apply to the short block.  All previous blocks are 
thus 
 known to be full.  The original poster, however, said he was using BSAM,  
which means no chained scheduling and only one block is read per I/O  request.  
So the residual count method still works in this case.  You  can transfer more 
than one block per I/O request in reading a PDS member (as  chained 
scheduling would do), but you can't use BSAM to do it.  You would  have to use 
QSAM or 
perhaps EXCP.
 
Bill Fairchild

----------------------------------------------------------------------
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