Skip to content

User Exits

ChangeMan ZMF exits are programs that are called by base product programs. Exits permit you to alter the processing of base product programs depending on the information passed to the exit.


ZMF 8.1 and later releases provide central high-level language exit services that can be called by any client that can connect to ZMF. You can code the exits in any Language Environment (LE) compliant language as well as REXX. The same customer-supplied exit code will be executed regardless of which client is being used. For details of the new HLL Exits, please see the ChangeMan ZMF High Level Language Functional Exits Getting Started Guide.

Please also note HLL exit points have no relation to, and do not replace, any existing ZMF assembler exit points described in this chapter.

Using the assembler exits, you can:

  • Change defaults and settings for ChangeMan ZMF interaction with the operating system

  • Alter what ChangeMan ZMF will do under specific component, package, or life cycle conditions

  • Change who has authority to initiate specific ChangeMan ZMF tasks

  • Change when authorized users can perform certain tasks

Common reasons for using exits include:

  • Adapt ChangeMan ZMF to your data center standards and environment

  • Enforce your company’s standards, processes, and procedures for software change management

  • Implement custom processes to manage unique component build processes

  • Add rule-based flexibility to standard ChangeMan ZMF processing

All exits that are active when the started task is brought up are displayed in the SERPRINT output for the task.

User Exit Source

Source for user exits is delivered in the CMNZMF ASMSRC library in the ChangeMan ZMF installer.

When you modify exit source, preserve the delivered version in the delivered source library. See Preserving Vendor Versions of ChangeMan ZMF Components.

User Exit Interface Data

The data passed between calling programs and exits is defined in copybooks in the CMNZMF ASMCPY library. This library is delivered in the ZMF installer.

Do not modify copybooks used to call exit programs. Even if you code the exit to handle the altered copybook, you cannot change the control block used to call the exit from the base product program.

Most exits exchange data with the calling program through two copybooks:

  • CMNEXITS - This copybooks is common to nearly all ChangeMan ZMF exits.

  • CMNEXnnn - The name of the copybook matches the name of the exit program in which it is included.

Not all fields in copybooks CMNEXITS and CMNEXnnn are populated by the calling program. See the comments at the top of the exit program source for a list of fields in these copybooks that are available to the exit you are customizing.

No Access to TCA

Starting with ChangeMan ZMF 5.5, you cannot access the TCA in user exits. The TCA register no longer points to the TCA when an exit is called. Any attempt to reference the TCA in a user exit results in an S0C4 abend.

More information