NAME statement

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:
  1. Any ALIAS statement must precede the NAME statement.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. A NAME statement found in a data set other than the primary input data set is invalid. The statement is ignored.
  7. The IEWBLDGO binder entry point does not accept a NAME statement.
  8. If you do not specify the (R) parameter when processing a z/OS UNIX file, the binder issues an informational message.
  9. 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).