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. |
...