Im a little confused here. >OPEN for OUTPUT, specify MACRF=(RP,WP), write normally (and >NOTE?). When needed, issue POINT, READ, POINT back to it, and >WRITE. (I'm assuming you CHECK all I/O prior to POINT.) The >WRITE will become the new last block in the data set.
This wont work for DASD as Gerhard has described. Is this processing all under the same TASK (TCB) ? Or are these individual processes ? You Can NOTE a Block AND POINT back to a bLOCK of a sequential file. You can then re-write/update the block. As far as continuing to write "new" records I believe You will need to POINT back to the End Of The File and Continue to issue WRITES. Someone else should chime in. This would have been better with VSAM> Paul D'Angelo -----Original Message----- From: IBM Mainframe Assembler List [mailto:[email protected]] On Behalf Of Gerhard Postpischil Sent: Thursday, June 10, 2010 8:21 PM To: [email protected] Subject: Re: Replacing a block in write mode with BSAM On 6/10/2010 4:16 PM, Kirk Wolf wrote: > I've got a program that writes full blocks using BSAM. > Now I need to change it so that I can point to a BLOCK, *READ* it, and then > re-WRITE it and continue writing sequentially from there. OPEN for OUTPUT, specify MACRF=(RP,WP), write normally (and NOTE?). When needed, issue POINT, READ, POINT back to it, and WRITE. (I'm assuming you CHECK all I/O prior to POINT.) The WRITE will become the new last block in the data set. > I just don't want to trash the performance by adding support for "replacing > a block" while writing. I'm not clear what you wish to accomplish. If you only wish to replace a block without affecting subsequent ones, then this will not work. You either need to use BDAM or EXCP, or close the written data set and OPEN for UPDAT. All of these require DASD, and won't work for tape. Gerhard Postpischil Bradford, VT ******************************************************************************** This e-mail and any files transmitted with it, are confidential to National Grid and are intended solely for the use of the individual or entity to whom they are addressed. If you have received this e-mail in error, please reply to this message and let the sender know.
