When BSAM reads a file that has a block prefix length (the size of which is specified in DCBBUFOF) then the block prefix is returned in the BSAM data (unlike QSAM which skips over that data.)
And, there are several accomodations/requirements made regarding the DCBBLKSI field and the sizes of buffers BSAM might allocate. However - it doesn't seem to be clear if you are doing your own buffer allocation. Does the size of the buffer need to simply be DCBBLKSI, or should it be DCBBLKSI + DCBBUFOF ? I found a note in the z/VM documentation that the size needs to be the sum of the two values. But - I found notes in the documentation of the DCB macro that seem to indicate that the DCBBLKSI should _include_ the size specified but DCBBUFOF (that is, a block is a block, and the DCBBUFOF is just the start of your data.) The answer also might be dependent on the the question of ASCII tape files (RECFM=D...) I'm not finding the documentation very clear on this point, does someone know the definitive answer - or can they point me to where in the doc the answer resides? I've waded through many macro parm definitions and DFSMS manuals... - Thanks! - - Dave Rivers - -- [email protected] Work: (919) 676-0847 Get your mainframe programming tools at http://www.dignus.com ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
