BSP—Backspace a physical record (BPAM, BSAM—magnetic tape and DASD only)

The BSP macro backspaces the current volume one data block (physical record). All input and output operations must be tested for completion before the BSP macro is issued. You can use the BSP macro only with a BSAM or BPAM DCB. You can use the BSP macro on a data set created by QSAM if it is opened using BSAM. Do not use the BSP macro if the CNTRL, NOTE, or POINT macro is being used (see the discussion of UNIX files, below, for NOTE and POINT exceptions).

Any attempt to backspace across a file mark results in a return code of X'04' and your tape or direct access volume is not positioned after the file mark. This means you cannot issue a successful BSP macro after your EODAD routine is entered unless you first reposition the tape or direct access volume into your data set. (Use CLOSE TYPE=T to position to the end of your data set.)

PDSE You can use the BSP macro to backspace the current member one simulated block. You can then reread or rewrite the simulated block. However, you cannot backspace beyond the start of a PDSE directory nor backspace beyond the start of a PDSE member. See the chapter on PDSEs in z/OS DFSMS Using Data Sets for information on using the BSP macro with variable spanned and variable blocked spanned records.

Extended format data sets: The system treats the stripes of a striped data set as one volume. If it is a compressed format data set, the amount of data backspaced over is what was originally written by one WRITE macro or simulated by PUT macros as a block.

UNIX files: BSP is supported for UNIX files (except for FIFO or character special files or with PATHOPTS=OAPPEND) by positioning you to the beginning of the block which was just read or written.

Magnetic Tape: A backspace is always made toward the beginning of the tape.

SYSIN or SYSOUT Data Sets: A BSP macro is ignored, but a completion code is returned.

The BSP macro may be issued in 24- or 31-bit addressing mode. When issued in 31-bit addressing mode, all addresses must be valid 31-bit addresses.

The format of the BSP macro is:

dcb address—RX-Type Address, (2-12), or (1)
specifies the address of the data control block for the volume to be backspaced. You must open the data set on the volume to be backspaced before issuing the BSP macro. When issued in 31-bit addressing mode, the input DCB address must be a clean 31-bit address.