>>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 [email protected] with the message: INFO IBM-MAIN
