SYSDEFSD DD statement
When the DYNAM(DLL) option is used to build a DLL module, a side
file might be generated along with it. The side file is saved in the
data set represented by the SYSDEFSD ddname. The side file contains
the symbols from which other DLLs can import; that is, which symbols
the DLL exports
. Consequently, a side file contains a collection
of IMPORT control statements that can be used by other DLLs in order
to resolve their own external references during dynamic linking.
SYSDEFSD can be a sequential data set, a z/OS UNIX file, a PDS, or a PDSE. If your job binds multiple DLLs and SYSDEFSD represents a sequential data set or a z/OS UNIX file, the side file records of a given DLL can overwrite or append to the records of a previously saved side file, depending on the DISP or PATHOPTS parameter of your side file ddname.
- The binder uses the member name specified in the JCL for the SYSDEFSD DD. Note that in this case the side file is treated as a sequential file.
- If no member was specified, the binder uses the name specified in the NAME control statement for the saved DLL.
- If there is no NAME control statement, the binder uses the name expressed in the JCL SYSLMOD DD statement.
The SYSDEFSD DD statement is optional. However, when it is absent, the binder issues a warning message if at bind time a module (DLL) generates export records and the DYNAM(DLL) binder option has been specified. Note that the side file can be referred to as the definition side deck by other products.
Table 1 shows the data set requirements for SYSDEFSD.
| LRECL | BLKSIZE | RECFM |
|---|---|---|
| 80 | 32760 (maximum size) | F,FB |