z/OS MVS Program Management: User's Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


INCLUDE statement

z/OS MVS Program Management: User's Guide and Reference
SA23-1393-00

The INCLUDE statement specifies sequential data sets, library members, or z/OS UNIX files that are to be sources of additional input for the binder. INCLUDE statements are processed in the order in which they appear in the input. However, the sequence of control sections within the output program object or load module does not necessarily follow the order of the INCLUDE statements. If the order of the CSECTs within the module is significant, you must specify the desired sequence by using ORDER statements. The syntax of the INCLUDE statement is:

INCLUDE          [{-ATTR, | -IMPORTS, | -ALIASES, 
                         |-NOATTR, | -NOIMPORTS,
                         |-NOALIASES}...] 
                         {ddname[(membername | 
                         relative-path[,...])] | pathname}[,...] 
Note: If options that contradict one another are specified, the last valid option specified will be used. For example, if both -ATTR and -NOATTR are specified in that order, the binder will honor the -NOATTR option.
-ATTR
Specifies that module attributes should be copied from the input module and be applied to the module being built by the binder. The attributes which are copied are: AC, AMODE, DC, OL, REUS, RMODE, SSI, TEST, entry point, DYNAM, and MIGRATABLE.
Note:
  1. Attributes cannot be included if the input is an object module, or if there is no member name on the INCLUDE control statement and the INCLUDE designates a load module.
  2. Attributes brought in for a given module specified with INCLUDE override attributes copied in for previous modules.
  3. Attributes override attributes requested by the Binder invocation parameters, but not those set by control statements such as SETOPT or MODE.
-IMPORTS
Specifies that dynamic resolution information (if any) will be copied from the input module. This option is not required, as the INCLUDE statement will always bring in any available dynamic resolution information unless it is suppressed by -NOIMPORTS. This option is still supported for compatibility reasons.

Such dynamic resolution information may exist for PO4 or above format program objects. The dynamic resolution information for a symbol consists of the symbol name, the CODE, CODE64, DATA, or DATA64 designation, and the name of the DLL from which the symbol is to be dynamically resolved. This is the same information as that provided on the IMPORT statement for the symbol. If this information is available via INCLUDE, the IMPORT control statement need not be input on a re-bind. If there is more than one entry for a particular symbol being imported, no message will be issued and the first occurrence will be retained.

-ALIASES
Specifies that the aliases of the input module be copied in and used as aliases for the output module. Aliases can be included only if:
  • the input is a program object in either a UNIX file or a PDSE (and regardless of where the PDSE member name is)
  • the input is a load module with the member name in the INCLUDE.
-NOATTR
Specifies that module attributes will not be copied from the input module. This is the default.
-NOIMPORTS
Specifies that dynamic resolution information (if any) will not be copied from the input module.
-NOALIASES
Specifies that the aliases of the input will not be copied from the input module. This is the default.
ddname
The name of a DD statement that describes a sequential data set, a PDS, a PDSE, or a z/OS UNIX file to be used as additional input to the binder. A DD statement must be supplied for every ddname specified in an INCLUDE statement. For a sequential data set, only ddname should be specified. For a PDS or PDSE without a member qualification in the JCL, at least one member name must also be specified. If only a single member is included, its member name can be specified in the JCL rather than on the control statement.

When the source is a z/OS® UNIX file, the DD statement must contain the full or partial pathname of the file to be included. If a partial pathname is provided it must be completed using a relative-path expression following the ddname.

membername
The name of or an alias for a member of the PDS or PDSE library defined in the specified DD statement.
pathname
The absolute or relative pathname for a z/OS UNIX file that can be up to 1023 bytes. Note that this is a direct specification for z/OS UNIX files. z/OS UNIX files can also be specified indirectly with a DD statement (see above). Example 2 uses pathname. See Binder syntax conventions for a discussion of continuations and lower case letters.
relative-path
If the referenced DDNAME specifies a path, then relative-path will be appended to that path name.
Placement: An INCLUDE statement can be placed before, between, or after object modules or other control statements.
Note:
  1. A NAME statement in any data set specified in an INCLUDE statement is invalid; the NAME statement is ignored. All other control statements are processed.
  2. The INCLUDE statement is not allowed in a data set that is included from an automatic call library.
  3. When invoking the binder using the TSO link command, an INCLUDE statement specifying a ddname of SYSLMOD will be allocated to the output library, unless SYSLMOD has been specifically allocated to another library.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014