INCLUDE statement
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}[,...]
- -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:
- 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.
- Attributes brought in for a given module specified with INCLUDE override attributes copied in for previous modules.
- 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.
- 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.
- The INCLUDE statement is not allowed in a data set that is included from an automatic call library.
- 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.