Skip to content

Exit Descriptions

This section describes ChangeMan ZMF exit functions.

SEREX001 - SEREX005

SEREX001

Exit Function Override the default algorithm that calculates space requirements for reallocating a library that has run out of space in a SERCOPY operation where a compress with IEBCOPY did not remedy the problem. This exit only affects PDS(E) libraries, not PAN, or LIB data sets.
Calling Function Reallocate staging PDS(E) data set (SERNET function)
Examples of Use Use UNIT=SYSDA parameter for reallocated PDS libraries.

...

SEREX002

Exit Function Validate or alter the first four JOB statement records in JCL before the job is submitted for execution.
Calling Function Module SERSUBMT calls this exit each time a job is submitted
Notes This exit runs in the SERNET started task address space, which provides security against a malicious user being able to submit jobs. See exit CMNEX008, which performs a similar function but executes in the address space of the user who submits a job rather than in the SERNET started task address space.
This exit, as delivered, is enabled but does not perform any JOB statement alterations. Follow the comments in the source code if you want to alter JOB statements or disable the exit.

...

SEREX003

Exit Function Allows read-only access to JES output, and only allows users to cancel, purge, or requeue jobs that they own. As delivered, CMNEX003 is enabled.
Notes IMPORTANT! Access to JES jobs is normally controlled by resource classes JESJOBS and JESSPOOL, regardless of whether SEREX003 is activated. If these resource classes are activated and appropriate rules have been established by your security administrator, we recommend that you disable this exit. To disable the exit, do one of the following:
- Use SERNET keyword parameter EX003=NO.
- Customize the exit as described in source code comments at the top of the program.

...

SEREX005

Exit Function Provide library member level security. After a library name is checked against data set access rules in your security system, SEREX005 constructs a second data set name that is checked in your security system:
Original DSN      LIBRARY.NAME
SEREX005 DSN    LIBRARY.NAME.MEMBER
Calling Function Various ChangeMan ZMF modules call this exit for every GET, PUT, DELete, or REName library member request.
Examples of Use To allow userIDs in group $ABC exclusive update access to LIBRARY.NAME members that have names starting with XYZ, leave SEREX005 enabled and issue these RACF commands:
ADDSD ’LIBRARY.NAME*.*’ UACC(READ)
PERMIT ’LIBRARY.NAME.XYZ’ ID($ABC) ACCESS(UPDATE)
Notes For this exit to function correctly, the length of the constructed data set name LIBRARY.NAME.MEMBER cannot exceed 44 characters. To avoid this limitation and to restrict access to components within the framework of ZMF functions and security, we recommend that you disable CMNEX005 and use ZMF component level security. See "Setting Component Level Security" in the ChangeMan ZMF Administrator’s Guide.
IMPORTANT! As delivered, CMNEX005 is enabled. To disable SEREX005, do one of the following:
- Use SERNET keyword parameter EX005=NO.
- Customize the exit as described in source code comments at the top of the program.

...

CMNEXINS

Exit Function Specify the data set name, space allocation, DCB attributes, and extended attributes for EAV (extended address volumes) of the temporary work data set used during logon, checkout, edit, stage, recompile, relink, file tailoring, browse, compare, monitor, and many utility functions.
Calling Function API Service - Component
API Service - File tailoring
API Service - Installation job file tailoring
Batch I/A table maintenance
Batch Interface - Main driver
Batch Interface - Main driver (freeze, stage)
Batch stage called from CMNAPI
Browse compressed listing
Browse/print/copy baseline members
Checkout from baseline/promotion
Compare staging library to baseline/promotion
Copy / Stage components
Copy VSAM Package Master to sequential file
Edit package component
Edit / Browse Notification File
ISPF client main driver
Monitor (Limbo and Scheduler)
Promote package
Query Package Master
Recompile
Relink
Staging Versions
Submit services
XML Services - Data set
XML Services - Save Staging
Versions
XML Services - Utility Request
Examples of Use Most customers use this exit to set a high level qualifier so that ChangeMan ZMF does not need ALTER access to every TSO user's high level qualifier.
Notes Sample code between AGO .label and .label ANOP statements is skipped by the assembler and does not appear in the assembler listing. To enable the code, delete or comment out the AGO statement. A particular volume serial for temporary work data sets can be specified in several locations in ChangeMan ZMF. This is the search order for a specified volume serial:
1   X15$VOLS in CMNEX015 if this exit is enabled
2   INS$VOLS in CMNEXINS if this exit is enabled
3   DEFAULT VOLUME SERIAL field in Application Administration Parameters
4   DEFAULT VOLUME SERIAL field in Global Administration Parameters

...

CMNEX001 - CMNEX044

CMNEX001

Exit Function Specify who can update package information.
Calling Function Update change package information
Examples of Use Allow anyone to update package information before first approval entered.
Allow approvers who have not approved frozen package to update installation date.
Block changes to super or complex packages except by administrators.

...

CMNEX002

Exit Function Restrict installation date by one of more of the following: Application, global or application administrator authority, specified date, day of week, package type, from install time, to install time, values in package user information variables.
Calling Function Create change package
Update package installation date
Examples of Use Restrict CICS changes to weekend installation dates.

...

CMNEX003

Exit Function Impose a lead time for package create from the installation date using one or more of the following: Application, global or application administrator authority, specified date, day of week, package type, values in package user information variables.
Calling Function Create change package
Update package information
Examples of Use Enforce installation lead time standards for packages with high risk rating. Block planned package installation date lead time less than 3 business days.

...

CMNEX004

Exit Function Prohibit use of specified mnemonics when creating applications.
Calling Function Application Administration: Create new application ChangeMan ZMF

...

CMNEX005

Exit Function Set requirements for application approval lists.
Calling Function Application Administration: Create/update planned and unplanned approval lists
Examples of Use Require at least two approvals for an unplanned approval list.
Validate approval security entity naming conventions against application mnemonic.

...

CMNEX006

Exit Function Restrict creation of packages with specified package level by application.
Calling Function Create change package
Examples of Use Prohibit super/complex packages in specified applications.

...

CMNEX007

Exit Function Restrict package installation date by administrator authority, application, user, installation date, package type, or package user information variables.
Calling Function Create change package
Update change package information

...

CMNEX008

Exit Function Validate or modify JOB statement information in the first four batch job records.
Calling Function Submit batch job from ChangeMan ZMF online function
Build package installation JCL (X Node data set)
Build remote promote JCL
Examples of Use Prohibit use of JCLLIB, EXEC, and INCLUDE keywords in JCL coded in JOB statement Information fields on user and administration panels. Override or restructure job names obtained from ChangeMan ZMF administration.

...

CMNEX009

Exit Function Add approvals to the Planned Approval List during the package freeze or post-approval processes. Approvals can be added based on one or more of the following conditions:
- If specified library types are included in the package and have components staged into them
- If installations are scheduled at specified remote sites in the package
- If specified library types have scratched and/or renamed components included in the package
Calling Function Freeze package
Examples of Use - Add CIO approval if package user information indicates a high risk change.
- Add CICS systems programmer as approver if package contains BMS Map change.
- Add data center manager approver if package will be installed at remote center.
- Add a DBA approver if a package contains scratched DBRM components.
- Add approvers if certain Online Forms Manager (OFM) forms (pre defined in copybook ASMCOPY(CMNEX009) and limited to 50) are included in the package.
Notes Copybook CMNEX009 contains library type table X09$SLTP, with up to 100 entries, that tells you what library types are in the package. Each entry in the table contains indicator X09$FTYP with three independent bit switches to tell you if any one of the package components in the library type is a staged component, a scratch utility request, or a rename utility request.
The global administrator must set the Display Package User Option Panel(s) field to YES on the Global Parameters - Part 4 of 6 (CMNGGP04) panel if you want to be able to access user variables user0101 through user7205 from this exit.
Refer to the notes in the sample source code in ASMSRC(CMNEX009).

...

The points in the package lifecycle at which CMNEX009 is called depends on whether a package is planned or unplanned.

For planned packages, CMNEX009 is called at package freeze if you have requested it to check for any of the criteria listed above. Approvers that you designate in the exit code are notified in addition to the approvers on the planned package list. Once approved, the package is installed at the scheduled time.

For unplanned packages, CMNEX009 is called at two points in the package lifecycle:

  • At package freeze - Approvers that you designate in the exit code are notified in addition to the approvers on the unplanned package list.

  • At post-approval processing (after the package has been installed) - The approver list is rebuilt. Approvers that you designate in the exit code are added to the planned package approver list and are notified in addition to the approvers on the planned list after the package has been installed.

Consult the comments in the source code for this exit for detailed instructions on how to code the conditions that the exit is to check and to add approvers if these conditions are true.

CMNEX010

Exit Function Restrict who can enter a package approval by one or more of the following: Global or administration authority, package name, approving userid, date of approval, subsystem ID, package type, package level, approval function (A,R,C.V), approval entity, work request number, package creator, hierarchical order number, nearest installation date.
Calling Function Approve package
Examples of Use Prevent a package creator from approving any package, planned or unplanned.
Notes This exit is called after an approval panel has been submitted by the user but before the approval is processed.

...

CMNEX011

Exit Function Set minimum library security access requirements for promotion, baseline, and production library configuration functions.
Calling Function Configure application libraries in application administration
Examples of Use Prevent configuration of a library for promotion if the ChangeMan ZMF instance does not have update access to the library.

...

CMNEX012

Exit Function Compare the package create day-of-week to the specified normal business days-of-week to determine whether to use the unplanned approval list for unplanned packages.
Calling Function Create package
Examples of Use Consider Wednesday to be a non-business day so that unplanned packages created on Wednesday are always defined with the unplanned approval list.

...

CMNEX014

Exit Function Validate department number and/or work request number against a specified list of valid values by application. Cross-edit work request number, department number, and package user information when flag X14$IVAL indicates that package user information is passed.
Calling Function Create package
Update package information
Create package user information
Update package user information

...

CMNEX015

Exit Function Direct dynamically allocated temporary work data sets to a specified VOLSER.
Calling Function Any task that involves the dynamic allocation of data sets
Notes A specific volume serial for temporary work data sets can be specified in several locations in ChangeMan ZMF. This is the search order for a specified volume serial:
1   X15$VOLS in CMNEX015 if this exit is enabled
2   INS$VOLS in CMNEXINS if this exit is enabled
3   DEFAULT VOLUME SERIAL field in Application Administration Parameters
4   DEFAULT VOLUME SERIAL field in Global Administration Parameters

...

CMNEX016

Exit Function Modify or skip expanded copybook records written to SYSOFILE by CMNWRITE.
Calling Function Program CMNWRITE in build jobs
Examples of Use Create a PANVALET like exit to prefix COBOL COPYBOOK source statements with user defined input.
Notes CMNEX016 mimics a CA Librarian exit that modifies copybook records included in source with the -INC command.
Sample code between AGO .label and .label ANOP statements is skipped by the assembler and does not appear in the assembler listing. To enable the code, delete or comment out the AGO statement.

...

CMNEX019

Exit Function This exit is called before and after checkout and checkin and may be used for any function desired at those points in component processing, depending on the availability of data passed from and returned to the calling program.
Calling Function Checkout component
Checkin component
Notes Checkin is one of the two processes that make up the stage from development function:
- Checkin copies a component from a library outside ZMF to a staging library.
- Build transforms source into one or more executables.
Sample code between AGO .label and .label ANOP statements is skipped by the assembler and does not appear in the assembler listing. To enable the code, delete or comment out the AGO statement. This exit was used with the ChangeMan ZMF APS Option that was retired with Version 6.1.

...

CMNEX020

Exit Function Reset return codes for package audit out-of-synch conditions.
Calling Function Package Audit
Notes Sample code between AGO .label and .label ANOP statements is skipped by the assembler and does not appear in the assembler listing. To enable the code, delete or comment out the AGO statement.

...

CMNEX021

Exit Function Use library type, application, package creator, or other fields passed from package audit to bypass:
- SYNCHnn! processing
- Component relationship processing
- Promotion libraries in SYNCH15! processing.
Calling Function Package Audit
Notes Sample code between AGO .label and .label ANOP statements is skipped by the assembler and does not appear in the assembler listing. To enable the code, delete or comment out the AGO statement.

...

CMNEX022

Exit Function Exclude specified load and non-load components from processing by package audit and by the impact analysis LDS build. Include CSECT, with the same name as the composite load module, in the Impact Analysis Table to show LOD relationships, and in package audit processing to detect SYNCH8!.
Calling Function Package Audit
Impact Analysis Maintenance
Examples of Use Prevent IBM subroutines with names starting in ILBO, DLI, DFS, DFH, CEE, IBM, and IGZ from cluttering up the package audit report where they obscure important information.

...

CMNEX023

Exit Function Enable the Package User Information facility. Define ISPF variable names used for Package User Information variables in file tailoring for installation JCL.
Calling Function All remote file tailoring and ISPF driven stage, recompile, and relink package functions

...

CMNEX024

Exit Function Prohibit package freeze depending on one of more of the following:
Application, global or application authority, package type, library types in package, installation date, installation from or to time, installation day of week, Package User Information variable.
Calling Function Freeze change package

...

CMNEX025

Exit Function Prohibit package freeze or selective refreeze of component depending on compile parameters, link edit parameters, and user options used in last stage job. Other validations can be performed on application mnemonic, component library types, component names, language, compile procedure.
Calling Function Freeze change package
Selective refreeze

...

CMNEX026

Exit Function Dynamically allocate additional staging libraries based on component type, user options, or other data passed to the exit. Prohibit package component delete based on library type, member name, or whether component is promoted.
Calling Function Stage component
Delete component during staging
Examples of Use Allocate additional staging libraries for build processes with multiple outputs.
Notes Do not use CMNEX026 to control delete of related components from staging libraries. Use ILOD records instead.

...

CMNEX027

Exit Function Override the promotion or demotion rule for individual promotion levels.
Calling Function Promote package
Demote package
Unfreeze/refreeze
Revert
Examples of Use Specify Promotion Rule by Promotion Site/Level
Break down Promotion Rules into behaviors that can be specified separately for a site/Level.
Notes CMNEX027 is called twice for promotion/demotion:
- Before the promotion or demotion panel displays the history
- After promotion or demotion

...

CMNEX028

Exit Function Set several administration options that are not included in the ISPF interface:
- Add extra job statements for batch processing
- Do not to release unused space in staging libraries during a freeze
- Bypass CMNAPI case conversion for lower case languages
- Bypass expansion of duplicate %INCLUDE statements when the copybook does not exist in the staging library
Calling Function Extended administration options affecting various areas throughout ChangeMan ZMF
Notes JOB statements 5 and 6 added for batch recompile, batch freeze, and package audit only.

...

CMNEX030

Exit Function Bypass checkout enforcement rule depending on the component library type.
Calling Function Stage component from development

...

CMNEX031

Exit Function Bypass package audit processing based on library type.
Calling Function Package audit
Package integrity check

...

CMNEX032

Exit Function Process specified library types as compressed listings (like-LST)
Calling Function Baseline browse

...

CMNEX033

Exit Function Override package status validation when adding or removing participating packages in complex or super packages. Allow automatic close of super or complex packages after update if all participating packages have completed the package lifecycle.
Calling Function Update Complex/Super Information
Close super or complex packages

...

CMNEX034

Exit Function Assign processing to specified library types when creating or updating impact analysis relationships. Processing that can be assigned with CMNEX034:
JCL   Process the specified library type as JCL when creating JCLProcedure, PGM Name/Symbol, and DSN Name/Symbol relationship records.
PRC   Process the specified library type as cataloged procedures when creating JCL-Procedure, Pgm Name/Symbol, and DSN Name/ Symbol relationship records.
Calling Function Impact Analysis Maintenance
Baseline ripple
Examples of Use Parse components in library type JC2 like JCL to create relationship records in the Impact Analysis file.
Notes Starting with ChangeMan ZMF 6.1, object components and NCAL load components are supported in the base product with like-object (O) and like-NCAL (N) in global and application administration.

...

CMNEX035

Exit Function Restrict the library types displayed on the valid library selection list for checkout, stage, browse baseline, browse compressed listing, compare, scan, scratch/rename, and relink functions.
Calling Function Checkout, stage, browse baseline, browse compressed listing, compare, scan, scratch/rename, and relink.

...

CMNEX036

Exit Function Call an edit preprocessor or different editor.
Calling Function Edit-in-stage
Examples of Use Use SMART EDIT instead of ISREDIT.
Invoke an SDF2 editor interface.

...

CMNEX037

Exit Function Call an edit macro like ASG-JCLPREP or your own edit macro.
Calling Function Edit-in-stage
VIEW in edit-in-stage
Examples of Use Call edit macro for ASG-JCLPREP at end of edit-in-stage session for JCL members.

...

CMNEX038

Exit Function Assign a default language for a particular library type. Specify a starting column and ending column for source code parsing by CMNPARSE.
Calling Function Parse source to determine language
Notes The starting column must start before the ending column. The copy/include statement must fit between the starting and ending columns.

...

CMNEX039

Exit Function Assign group names to a list of installation sites. Installation site group names are displayed on the Create: Site Information panel and Update: Site Information panel, and on the Site Selection List panel for those functions. The Query: Site Information panel shows individual site names, including any sites in an installation site group.
Calling Function Create package
Update package information
Notes If an installation site group includes a site that is not fully defined in an application, the group name is not displayed in package create or update in that application.
Caution! If an installation site is included in more than one installation site group in CMNEX039, and both groups are added to a package, then the site is added to the package twice, and file tailoring for package installation JCL will fail with messages CMN1000A and CMN8703I.

...

CMNEX040

Exit Function Enforce the use of a specific file or PDS member for package audit auto resolve parameters.
Calling Function Package audit

...

CMNEX041

Exit Function Specify special authorization for package IMS information update.
Calling Function Updating IMS package information

...

CMNEX042

Exit Function Display panel CMNEX042 for component general description and store information as discrete fields on the package master.
Calling Function Stage component

...

CMNEX043

Exit Function Add custom processes that are executed outside of ChangeMan ZMF at the end of package create.
Calling Function Create change package

...

CMNEX044

Exit Function Specify like-copy library types to be excluded from package audit SYNCH15! processing.
Calling Function Package audit
Notes See exit CMNEX021 to bypass promotion libraries in the processing of SYNCH15! conditions.

...

CMNEX093 - CMNEX103

CMNEX093

Exit Function Override the default 755 permission for zFS staging libraries.
Calling Function This exit is loaded at startup and is called by LIBTYPE SERVICE ALLOCATE during the dynamic allocation of an zFS staging library (zFS path).

...

CMNEX101

Exit Function Add, manipulate, or verify DB2 bind control processed by CMNDB2PL.
Calling Function DB2 Option binds at promotion, installation, and baseline ripple. This exit is called from the DB2 Option Plan Lookup Program CMNDB2PL.
Notes CMNEX101is called after DSN BIND commands are templated by CMNDB2PL and non-standard records set aside by CMNEX103 are restored to the end of the command set. BIND command sets are presented to CMNEX101 one command keyword per record.

...

CMNEX102

Exit Function Define a collection ID for the DB2 Option that is different from the default of CMNx (where x is the Subsystem ID of the ChangeMan ZMF instance). This exit is invoked from ZMF to allow the user to define a collection id other than that assigned by ZMF where the collection id of CMNx or CMNZMF will be supplied to DB2 to qualify a package to be used for DB2 access. See the comments within the exit code.
Calling Function Program CMNDB2SQ in all DB2 Option functions that access a ChangeMan ZMF collection ID under CMNPLAN, including plan lookups for DB2 binds at promotion, installation, and baseline ripple

...

CMNEX103

Exit Function Sets aside records from DSN BIND command sets before parsing in CMNDB2PL in preparation for templating.
Calling Function Program CMNDB2PL in the DB2 Option before keyword operand templating.
Examples of Use Set aside "comment" records with asterisk (*) in position 1 that control the behavior of CMNEX101, then restore the comment records at the bottom of the DSN BIND command or stored procedure DDL after templating.
Notes Exit program CMNEX103 is called by program CMNDB2PL to delete or set aside records in DSN BIND commands. Using CMNEX103, you can take one of three actions for each DSN BIND:
- Pass the record back for parsing and keyword operand templating.
- Drop the record.
- Withhold the record from parsing and templating, then restore the record at the end of the DSN BIND command set before CMNEX101 is called.

...

CMNEX201 - CMNEX221

CMNEX201

Exit Function Bypass processing of specified library types in ERO release audit.
Calling Function ERO Release Audit
Examples of Use Exclude a DDI library type from release audit processing.

...

CMNEX210

Exit Function Validate conditions before attaching a package to an ERO release or detaching a package from a release.
Calling Function Attach a package to a release
Detach a package from a release
Notes If activated, this exit is called before the attach or detach function and after the attach or detach function. On the pre-function call anything but an RC=0 will halt the function. If the package is already attached to a release and it is being updated to a new release, the exit is actually called four times: a pre- and post-function call for detaching the package from the old release and a pre- and post-function call for attaching the package to the new release. Only users with global, application, or release administrator authority can detach packages from a release.

...

CMNEX220

Exit Function Validate conditions before checking in a component to an ERO release area or before retrieving a component from an area.
Calling Function Check components in to an ERO release
Retrieve components from a release
Notes Pre-check-in or pre-retrieve calls can alter the selected component list or halt all the processing. The components that are selected by this exit are skipped by the check-in or retrieve function. All all other components areselected as normal.
Post-check-in or post-retrieve calls to this exit have no effect on the internal processing of the check-in or retrieve operation. On post-check-in or post-retrieve calls, the component list only contains components that completed the function successfully.

...

CMNEX221

Exit Function Have ERO area audit ignore specific instances of an error.
Calling Function ERO area audit
Notes The sample exit contains a table of values which you can modify and add to in order to be as specific or as general as you like about which errors should be ignored. If the error instance in question satisfies the criteria recorded in any one of the table entries, then the error will not be reported. The criteria available in each table entry are:
- Error Code
- Release
- Area
- Top component application
- Top component library type
- Top component name
- Bottom component application
- Bottom component library type
- Bottom component name
Except for the error code, all criteria may be wholly or partially wildcarded using an asterisk.

...