You are responsible for compiling and link-editing the External Action Block. The EAB can either be statically linked (included in another module) or dynamically linked (its own module).
A static EAB can be called from a Compatibility module, a static module or a dynamic DLL. When linking a static EAB, do not link any DL/I, COBOL, DB2, CICS, or ISPF system modules into the load module for the External Action Block. The installation process links these modules into your final executable load module.
When the EAB has been packaged with Dynamically Link option of Yes, the EAB must be built as a DLL to be invoked by a generated application. Any module called by an EAB built as a DLL must also be a DLL. DLLs require that modules be bound as objects in Program Management Format 3 (PM3) and must reside in a PDSE library.
Important! Since External libraries are still in SYSLIB concatenation, if using the z/OS Library feature, you must ensure that none of the External System or External Action Block libraries contains an NCAL module named same as the called zLIB action blocks. Otherwise these zLIB action blocks will be statically included to the caller during linkedit through auto-call.
To build the EAB as a DLL, use the following compile and link edit options:
Note: Selecting DLL forces the RENT and NODYNAM compiler options to also be used.
Note: Do not confuse the compiler option NODYNAM with the link-edit option DYNAM(DLL). The two are not the same as one is a compiler option while the other is link option.
Copy the EAB DLL to a dataset that will allow the DLL to be resolved in the target environment. For TSO and IMS this is a dataset that is part of the STEPLIB concatenation. For CICS this is a dataset that is part of the DFHRPL concatenation. Also, if target environment is CICS, a CICS program definition must be added for the resulting EAB DLL.
For information about DLLs, see IBM's Language Environment and the Program Management (Binder) documentation.
When the EAB has an associated Dynamically Link Packaging property set to Compatibility, the EAB must be built as a non-DLL. Modules marked for Compatibility must follow standard OS or LE linkage conventions and must operate in the same AMODE as the caller. These modules may not be DLLs and must be fully resolved programs, eligible for being the target of an OS style dynamic program call.
To build the EAB as a non-DLL, use the following compile and link-edit options:
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|