ChangeMan ZMF Application Configuration
Serena ChangeMan ZMF is designed to be flexible so that customers can overlay their existing development and change management processes with the rules based, process-driven infrastructure of ChangeMan ZMF.
ERO requires additional infrastructure to manage components from multiple packages in a release and to manage multiple related releases simultaneously. Three important ERO tools are:
-
Automatic determination of SYSLIB concatenations for build processes.
-
Dynamic maintenance of relationships between the components
-
Fast and accurate release audit, with automatic resolution of out-of-sync conditions.
To use these tools, you must observe certain restrictions on the configuration of ChangeMan ZMF applications and library-types that you want to include in ERO releases.
Segregate Related Components
To use ERO, you must segregate some kinds of related components in separate baseline libraries.
Segregate source-copy components
An application in an ERO release cannot mix like-source and like-copy components in the same baseline library. Segregate like-copy and like-source components in different baseline libraries. Like-copy components that COPY or INCLUDE other like-copy components are stored in the like-copy baseline library.
Two or more applications are permitted to share the same like-source baseline library or the same like-copy baseline library.
Segregate load-load components
A composite load module is an executable load that is composed of statically linked programs. Composite load modules can be bound from object modules, and they can be bound from program load modules.
An application in an ERO release cannot mix composite load modules and load modules that are statically linked to create the composites. Segregate composite load modules in a baseline that is different from the baseline that contains the load modules that are statically linked to create composites.
Composite load modules can reside in the same baseline library as main program load modules that dynamically call subprograms, and subprogram load modules that are called dynamically.
Two or more applications are permitted to share the same baseline library for composite load modules and the same baseline library for program load that will be statically linked into composites.
Use NCAL for Statically Linked Subprogram Load
Serena recommends that you use the “no automatic library call” option (NCAL) to bind programs that will be statically linked later into a composite load. Because their external references are not resolved, NCAL load modules are not executable.
You build executable composite load modules from NCAL load modules using either:
-
INCLUDE link edit (binder) control statements to explicitly tell the binder what NCAL modules to statically link, or
-
Default “automatic library call” (CALL) binder option that tells the binder to search libraries in the SYSLIB concatenation to resolve external references. You include the NCAL library in the SYSLIB concatenation.
Linking Composite Loads
If you use the automatic library call facility without any binder control statements, you can bind main programs directly into your executable target load library type without first binding them into an NCAL target load library type.
If you use INCLUDE binder control statements, and if the name of the member containing these control statements is the same as the name of the main program source member, you can bind the main program directly into your executable target load library type without first binding it into an NCAL load.
If the name of the member containing the INCLUDE binder control statements is different from the main program source name, but the same as the composite load module name, you must bind the main program first as NCAL, then use the ChangeMan ZMF RELINK facility to process the bind control member to create the executable composite load.
Use Proper Like-Types in Library Type Definitions
Specify like-NCAL in library type definitions for libraries that contain NCAL load modules.
Specify like-load in library type definitions for libraries that contain the following kinds of load modules:
-
Composite load modules
-
Main program load modules that dynamically call subprograms
-
Load modules for dynamically called subprograms
Specify like-object in library type definitions for libraries that contain object modules.