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 place the source code in a library you specify. The name of this library is what you specified as the location for Source Lib.
When you compile and link the modified External Action Block stub and external subroutine, together they become the External Action Block.
When you use CA Gen to install (compile, link-edit, and bind) a load module that contains a procedure step or action block that uses the External Action Block, the link-editor resolves the reference to the External Action Block. How this reference is resolved depends on the type of call used to invoke the External Action Block as well as how it was compiled and linked. The EAB's Dynamically Link packaging property determines if the EAB is statically included in the resulting executable (composite) load module or is invoked using a dynamic call.
When the EAB is statically included in the resulting executable (composite) load module and the composite load module is a module marked for Compatibility, ensure the EAB is compiled using the NODLL compiler option and that the NCAL linked External Action Block load module is placed in a library in the Implementation Toolset's Static External Action Block Load libraries panel before the load module is installed.
When the EAB is statically included in the resulting executable (composite) load module and the composite load module is not a module marked for Compatibility, ensure the EAB is compiled using the DLL compiler option and that the NCAL linked External Action Block load module is placed in a library in the Implementation Toolset's External Action Block Load libraries location before the load module is installed.
Place any related DBRMs in the Implementation Toolset's External Action Block DBRM library. The composite 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 may call.
When you invoke the EAB using a dynamic program call, the EAB resides in its own separate executable module. In this case, you must build the load module containing the EAB as a DLL unless the Dynamically Link packaging property associated with the EAB has been set (or derived) to Compatibility. An EAB that has a Dynamically Link packaging property of Compatibility can be rebuilt as a non-DLL z/OS load module or can be used as built by a release of Gen before release 7.0. For more information, see the section Dynamic Link Options.
The following illustration 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.

Note: If the external action block contains SQL, its DBRMs must be resolved. External Action Block DBRMs are resolved by the Generation function on the workstation or host construction, not on the Implementation Toolset. If you are using logic that uses DB2, you must resolve the DBRM references within CA Gen.
|
Copyright © 2015 CA Technologies.
All rights reserved.
|
|