>>I've run into another PDSe problem.
>>When I was reading through a PDS file of Source Code, I would define 
>>DCB as RECFM=U, After the OPEN, DCBLRECL = Record Length. DCBBLKSI = 
>>File Block Size After issuing a READ, DCBLRECL would be the Actual Block Size.
>>My PDS :  LRECL=80, BLKSIZE=27920 Number of records per block = 349 So 
>>if a program has 500 lines of code:
>>First read DCBLRECL would = 27920, Number of lines would = 349 Next 
>>read DCBLRECL would = 12080, Number of lines would = 151 Maybe it was 
>>an accident, but this has worked for me forever.
>>
>>Now same program using same DCB definition, determines than it's a PDSe 
>>before the OPEN.
>>If it's a PDSe, program changes RECFM to be FB....which returned a full block 
>>of records.
>>How do I tell when the difference between a full block and a short block on a 
>>PDSe ??
>>Hope I explained this right.
>>
>I don't think block boundaries mean much to a PDSE which keeps everything in 
>4KiB pages.
>You can override with any DCBBLKSI from 80 to 27920 and a READ will fetch 
>enough records to fill that block.

>Customarily, RECFM=U indicates a Program Object.  Perhaps PDSE enforces this.

>What are you trying to do?

Well I read though the directory, Execute a FIND on Member Name, then Execute a 
READ on the Source Code.
This Source Code is our Cobol or Assembler programs or copybooks, that I will 
pull certain tagged code from one library to another.  PDS works fine, but PDSe 
isn’t telling me when I get a short block.  Program thinks its getting a full 
block read no matter whether program has 50 records or 500 records.  I cant 
tell when there aren’t enough records to fill whole block.

Like I said, maybe I got lucky or it was an accident.....but I used RECFM=U 
definition for our Source Code library and looking DCBLRECL after executing 
each READ macro gave me actual block size....full or short.  That allowed me to 
calculate when a member was finished.  

Thanks,

Tom Savor

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to