Installing load modules that call foreign action blocks sometimes fail during compile due to member not found in source library.

book

Article ID: 51107

calendar_today

Updated On:

Products

CA Gen CA Gen - Workstation Toolset CA Gen - Host Encyclopedia CA Gen - Run Time Distributed

Issue/Introduction

Description:

Installing a load module that has calls to foreign action blocks get "Member not found in source library.". The error occurs at the compile step with the additional message from the installation process "Member has not been generated. * INSTALLATION FAILED *".

Solution:

Action blocks are created (or first used from in the case of BAA action blocks) in a business system. This becomes the owning business system. Action blocks can then be used from other business systems within the model. In this case they become foreign action blocks to the using business system.

These foreign action blocks are not automatically generated when you select generation of a load module. If they were previously generated in their owning business system, they will reside in the source construction library specified for that owning business system. If previously generated in the owning business system the source code will be picked up from the owning business system source library and compiled unless it has already been compiled. In which case there will be a NCAL member on the owning business systems load library. If the foreign action blocks have not been generated previously, which seems to be the case here, they will be missing and the installation throws an error.

To resolve this you can go to the owning business system and generate the action block there. The source and NCAL will be placed in the owning business systems libraries. You then install the load module in the using business system and this time GEN will find the NCAL for the foreign action block and thus is able to complete the install.

You can also specifically generate the foreign action blocks without having to do it from their owning business systems. To do this you expand the load module and then do a 'C' in front of the foreign action block. This will generate the source code for the foreign action block and place it in the using business systems source library where it will be picked up for compilation when you install the using load module.

Environment

Release:
Component: CGCONS