BAM macro instructions

The choice of which non-VSAM macro to use depends on which access method is appropriate for the type of data set being processed:

All macros described in this book are in the main system macro library, SYS1.MACLIB.

You can use certain access method services commands, such as ALLOCATE, ALTER, DEFINE NONVSAM, DELETE, LISTCAT, PRINT, and REPRO, with non-VSAM data sets.

All non-VSAM macros may be issued in 24-bit addressing mode. Many non-VSAM macros can also be issued in 31-bit addressing mode. When you issue a macro in 24-bit mode, data referred to by the macro must reside below the 16MB line. When you issue a macro in 31-bit mode, all addresses in registers and four-byte fields must contain valid 31-bit values although they may point below the 16MB line. The macro description will state whether it can be issued in 31-bit addressing mode and whether any input fields may reside above the 16MB line.

IBM recommends that if your program supports execution in 64-bit, then you should precede the first macro call with a call to the SYSSTATE macro with AMODE64=YES. Since none of the macros described in this document support invocation in 64-bit, AMODE64=YES should not be in effect when calling the macros described in this book.

You can define or allocate data sets using dynamic allocation, which is SVC 99. BSAM, BPAM and QSAM support the NOCAPTURE, XTIOT, and DSAB above the line options of dynamic allocation. Using these three options of dynamic allocation reduces the overhead of dynamic allocation and reduces virtual storage usage below the 16 MB line. Dynamic allocation is described in z/OS MVS Programming: Authorized Assembler Services Guide.

The non-VSAM macros can generate reenterable code, depending on the form in which parameters are expressed.

You can store executable programs in PDSE libraries. Although structurally identical, PDSE libraries are of two types:

The type of library is determined, not at allocation time, but when the first member is stored in it. For additional information on program objects and libraries, see z/OS MVS Program Management: User's Guide and Reference and z/OS MVS Program Management: Advanced Facilities.