About Promotion
Promotion is a ChangeMan ZMF facility that applies component changes in a package to libraries used for testing and other purposes. Promotion can populate libraries used for:
-
Batch testing, where test libraries are coded in STEPLIB or JOBLIB statements in common application testing JCL.
-
Online testing, where application testing libraries are coded in region JCL.
-
Unit testing where libraries are loosely controlled and may be updated by any developer who wants to run a test.
-
Quality Assurance test libraries that are tightly controlled and can only be updated by authorized test coordinators.
-
Training environments, where software changes must be available for training classes before they are installed into production.
-
Any purpose that requires package components to be copied into a fixed set of libraries.
Promotion copies components from package staging libraries into libraries that are used for application testing or other purposes. Promotion can also be configured to execute additional processes to prepare promoted components for execution. Such processes might include CICS® PHASEIN, Db2 bind, and IMS™ gens.
Demotion deletes components from libraries that were populated by promotion. Demotion can also execute processes such as CICS PHASEIN, Db2 bind, and IMS gens to adapt an environment to the changes made by demotion.
Each set of libraries that is targeted by promotion is represented by a promotion level. The ChangeMan ZMF Administrator defines promotion levels for each application. Each promotion level is defined with the library types that can be promoted and the names of the libraries that are targeted for each type. A promotion level does not have to include all library types in an application. Library types for promotion usually include the executable components in your package and can also include nonexecutable types like copybooks.
Each promotion level is defined under a site. Promotion populates libraries and prepares executables on local sites, which means environments that are on the same MVS image as the ChangeMan ZMF server. Promotion also populates libraries and prepares executables on remote sites, which means environments that are on MVS images separate from the image where the ChangeMan ZMF server runs.
Full promote and demote operate at the package level. All components in a package that are eligible for promotion are promoted or demoted together. The current promotion level is recorded at the package and the component level.
Selective promote and demote operate on individual components in a change package. The package promotion level remains the same, but the component promotion level changes.
Because application test libraries are often shared between developers and projects, promotion looks for potential overlays by comparing the names of package components eligible for promotion against the directories of the target libraries. The person promoting the package is given a choice whether or not to proceed and overlay matching components in the promotion libraries or cancel the promotion request.
Promotion should not be confused with the physical movement of components through a series of test libraries and into production libraries. Promotion always copies components from package staging libraries into target promotion libraries. Likewise, at baseline ripple and install, package components are copied from package staging libraries into baseline and production libraries.
Promotion Library Cleanup
If your testing environment allows test libraries to be concatenated over production libraries, your administrator may have configured promotion to delete promoted components from prior promotion libraries when a package is promoted to another level or when a package is baseline rippled or installed. This configuration provides the most control over a testing environment because it guarantees that if no packages are promoted, the environment will function exactly like production.
Your testing environment may not allow concatenation of libraries, especially if it uses a database or data dictionary to build executables. In this case, your administrator may have disabled the cleanup of promotion libraries at promote, demote, baseline ripple, and install.
Ask your administrator which way promotion works for your application.