Executable load modules for an application are created during Construction. The system generation tools create a COBOL source module for the procedure step or action block and then compile the source module. The resultant load module is stored in a library you specify. The name of this library match the library name that you gave to the internal libraries, that are the Internal Generated Source Code library and Internal Static non-DLL NCAL Modules library for action blocks that are statically called by Compatibility modules and Internal NCAL Load Module library for all others.
When you compile and link the modified External Action Block stub and external subroutine, together they become the External Action Block. When the EAB is statically called by a module marked for Compatibility place the resulting load module in the External Compatibility Action Block Load library or if otherwise place the resulting load module in the External Action Block Load library.
Important! Do not use the same libraries for External Action Block Load Libraries and External Compatibility Libraries concatenation. These libraries are mutually exclusive.
For DB2, place related DBRMs in the External Action Block DBRM library. The External Action Block load module is not executable.
When you generate and install, that is, compile, link-edit, and bind, a load module that contains a procedure step or action block that uses the External Action Block, the linkage editor resolves the reference to the External Action Block. How this reference is resolved depends on the type of call that is used to invoke the External Action Block and how it was compiled and linked. The Dynamically Link packaging option that is selected for the EAB determines if the EAB is statically included in the resulting executable (composite) load module, or invoked through a dynamic call.
When the EAB is statically included in the resulting executable or composite load module, this load module is stored in the Executable Load Module library. The composite load module contains the procedure step or action block, the modified External Action Block stub, and the external subroutines that the stub call.
When the EAB is invoked through a dynamic call, the EAB resides in an executable, separate from the load module, or composite executable. In this case, the executable containing the EAB must be built as a DLL or must be an action block that is marked for Compatibility. A Compatibility EAB is one that has its Dynamically Link Packaging property set to Compatibility and was built as a non-DLL module.
The following figure is a conceptual drawing of the composite load module IEF0000X. This load module contains one procedure step, ADDCUST, which uses the External Action Block READ_HISTORY. The name of the modified stub for the External Action Block is READHIST. It calls the external subroutine DBRD1001.

|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|