CLOSE—Disconnect program and data

Use the CLOSE macro to disconnect the program and data.

If you use a "reserved" relative generation number character as the first character of a member name, the stow will not occur, you must issue your own stow.

The format of the CLOSE macro is:

label
specifies 1 to 8 characters that provide a symbolic address for the CLOSE macro.
address
specifies the address of the access method control block or DCB for each data set to be closed. You may specify the address in register notation (using a register from 2 through 12—in parentheses) or specify it with an expression that generates a valid relocatable A-type address constant. If you specify only one address with a register, you must enclose the expression identifying the register in two sets of parentheses: for example, CLOSE ((2)).
options
specifies options parameters for use only in closing non-VSAM data sets. If any options are specified with the address of an access method control block, VSAM ignores them.

Requirement: Because the CLOSE parameters are positional, include a comma for options (even if you do not specify options) before a subsequent parameter.

MODE={24|31}
specifies the format of the CLOSE parameter list to be built.
24
specifies a standard form (24-bit) parameter list address be built. This parameter list must reside below 16 megabytes and contain the address of ACBs residing below 16 megabytes. The caller, however, may be above 16 megabytes. This is the default parameter list format.
31
specifies a long form (31-bit) parameter list address be built. This list can reside above or below 16 megabytes. This value must be coded if the parameter list resides above 16 megabytes or contains the address of an VSAM/VTAM ACB residing above 16 megabytes.
TYPE=T
specifies VSAM is to complete outstanding I/O operations and update the catalog, but not disconnect the program from the data.

You can issue a temporary CLOSE macro to cause VSAM to complete outstanding I/O operations, put back into the catalog the updated information brought into virtual storage when the data set was opened, and write records in the SMF data set if you are using SMF. A temporary CLOSE does not disconnect the program from the data set, so your program can continue to process the data set without issuing an OPEN macro again.

You must close and reopen a newly allocated VSAM data set before you can issue noncreate requests. A temporary close is not adequate for this purpose.

The TYPE=T option does not release DASD space.

Requirement: If you are sharing subtasks or if you have issued an asynchronous request for access to a data set, you must issue a CHECK or an ENDREQ on all RPLs before you issue a CLOSE or CLOSE TYPE=T. Otherwise, concurrent data set I/O activity will cause unpredictable results during a close.