Opening the internal reader data set

You can write to an internal reader using BSAM or QSAM or an ACB interface. With BSAM or QSAM, you code DSORG=PS in the DCB. There is no advantage to specifying multiple buffers. The most efficient number of QSAM buffers (BUFNO in the DCB) is 1. You can use any of these interfaces in 24-bit or 31-bit addressing mode. If you call in 31-bit mode, the ACB can be above the 16 MB line.

The DCB macro requires that you code the DDNAME keyword. If you code DALRTDDN on the dynamic allocation call, it means that you are requesting dynamic allocation to return the new DD name. If you do this, you might choose to code a dummy DD name on the DCB or ACB macro. For example, you might code DDNAME=*.

If you code DALRTDDN, move the returned DDNAME from the DALRTDDN text unit to the DCB or ACB before issuing the OPEN macro. The offset to the DDNAME field in the DCB is the same as the offset in the ACB. You can use the DCBD mapping macro for either one and copy the DD name to the DCBDDNAM field. For information on using the OPEN, DCB, ACB, and DCBD macros, see z/OS DFSMS Macro Instructions for Data Sets.

Opening the INTRDR data set identifies it to the JES and prepares it to receive records.

Opening an internal reader that is already open has no effect. Multiple tasks cannot have the same internal reader open at the same time.