The NAME statement specifies the name of the program module created
from the preceding input modules, and serves as a delimiter for input
to the program module. As a delimiter, the NAME statement allows you
to create more than one program module in one binder step. The NAME
statement can also indicate that the module replaces an identically
named module in the output program library. The syntax of the NAME
statement is:
NAME membername[(R)]
- membername
- The name to be assigned to the program object or load module created
from the preceding input modules.
- (R)
- Indicates that this program module replaces an identically named
module in the output module library, and that any aliases specified
on ALIAS statements replace identically named aliases. If the module
is not a replacement, (R) is ignored.
Placement: The NAME statement is placed after the last input
module or control statement to be used for the output module.
Note: - Any ALIAS statement must precede the NAME statement.
- If you are binding a program object, only the aliases specified
on ALIAS statements are kept for the program object. Any other aliases
for the replaced program object are deleted from the directory of
the program library. If you are binding load modules, any aliases
for the replaced load modules that are not themselves replaced are
kept and point to the old load module.
- If a name is not specified either on the NAME statement or on
the DD statement for the SYSLMOD data set, and
the SYSLMOD data set is a PDS or PDSE, the binder will assign the
name TEMPNAMn, using values 0-9 for n. The binder will
not save the module if the names TEMPNAM0 through TEMPNAM9 are already
in use. This assignment of temporary names does not take place if
the SYSLMOD data set is a z/OS UNIX file. Instead,
the binder issues an error message stating its inability to save the
output module.
- If the (R) value is not specified, and a member of the same name
already exists in the output module library, the binder will not replace
the module or save it under another name.
- Normally, the binder does not replace an executable module with
a nonexecutable module even if the (R) value is specified. You can
specify the STORENX option to override this default action. See STORENX: Store not-executable module for a further description.
- A NAME statement found in a data set other than the primary input
data set is invalid. The statement is ignored.
- The IEWBLDGO binder entry point does not accept a NAME statement.
- If you do not specify the (R) parameter when processing a z/OS UNIX file, the
binder issues an informational message.
- When a NAME statement is not used and a member name
is supplied on the SYSLMOD DD statement, the behavior is to REPLACE
(just as when using NAME with (R), or SAVEW with REPLACE=YES).