Exits

Overview

Various user exits are provided to enable you to modify the operation of INCONTROL products to suit your site’s needs. These exits are contained in members of the IOA SAMPEXIT library. The names of these members are usually in the format IOAXnnn, IOXXnnn or CTxXnnn, where x indicates the INCONTROL product and nnn is the exit number.

Some special exits (also known as localized versions of exits) are also provided. Special exits are identified by an additional character at the end of the member name (for example, IOAX006D). All special exits are associated with a default exit (an exit whose member name matches the first seven characters of the special exit name).

A full explanation of how to use each exit is contained at the beginning of the corresponding default exit member.

The documentation in this chapter assumes that the reader has a general knowledge of SMP/E.

Creating USERMODs using the ICE Automatic Exit Installation Tool

Exits are installed and customized using the ICE Automatic Exit Installation tool. This tool does the following:

  • facilitates the editing of the exit source code

  • builds an installation job that creates an SMP/E USERMOD for installing the exit

  • enables the editing of the installation job that creates the SMP/E USERMOD

  • places the USERMOD members in the CUSTEXIT library

  • can also be modified to implement roof exits (for more information, see Creating USERMODs for Roof Exits)

Names of the USERMOD members are in the format UMxXnnn[a], where x indicates the INCONTROL product, nnn is the exit number, and a is an [optional] additional character. For example, the USERMOD created for exit CTDX015V is in member UMDX015V.

In prior versions, exits were installed by modifying a USERMOD for each exit directly. While this is still possible, you must first enter the ICE Automatic Exit Installation tool to build the first copy of the USERMOD and place it in the CUSTEXIT dataset. Once you have created the first copy of the USERMOD, you can then modify the exit’s USERMOD directly.

BMC recommends that you make all modifications using the ICE Automatic Exit Installation tool. However, if you choose to modify the USERMODs directly, back up any local modifications to the USERMOD before modifying a USERMOD, and then edit that USERMOD to fit your requirements.

BMC does not undertake to provide USERMODs for all special or customized exits.

Running the ICE Automatic Exit Installation Tool

The ICE Automatic Exit Installation tool enables the creation and customization of exits and is run using the INCONTROL Installation and Customization Engine (ICE).

In some cases (for example, for the external macro libraries of other products) you may need to concatenate an external MACLIB library to the SYSLIB library (for example, LMS, STK). If your local compilation requires an external MACLIB, first create the USERMOD using the automated exit installation tool, and then modify the USERMOD at the location marked
' --- U P D AT E '

Perform the following steps to run the ICE Automatic Exit Installation tool:

Installation Steps

Installation steps are based on ICE. For instructions on how to start and use ICE, see the INCONTROL for z/OS Installation Guide: Installing.

  1. In the ICE main screen, select Customization.

  2. Verify that IOA is specified in the Product field, and that YES is specified in the Enforce Step Order field.

  3. Select Product Customization.

  4. Select major step 4, "User EXITs Installation."

  5. Select minor step 2, "EXITs Customization."

  6. In the USERMOD Creation screen, enter the name of the exit (or roof exit) to install or customize. This process creates the installation job for the exit.

    Default exit names are seven characters in length (for example, CTBX001, IOAX006). To install or customize a localized (special) version of one of these exits, enter its full eight-character name (for example, CTDX022D, CTOX001V).

  7. If necessary, verify exit installation job source copy. Use the END command (PF3/PF15) to receive the application job source copy.

    If ICE locates an existing copy of the exit installation job in the CUSTEXIT library, the Exit Source Copy screen is displayed. You can use the existing copy of the exit installation job found in the CUSTEXIT library by replying Y (Yes) to the prompt on this screen. Alternatively, you can replace the job with the original from the SAMPEXIT library by replying N (No). The default is Y (that is, use the existing job in the CUSTEXIT library).

  8. If necessary, verify application job source copy.

    If ICE locates an existing copy of the application job in the CUSTEXIT library, the USERMOD Application Job screen is displayed. You can use the existing copy of the application job in the CUSTEXIT library by replying Y (Yes) to the prompt on the screen. Alternatively, you can replace the job with the original from the CUSTEXIT library by replying N (No). The default is Y, (that is, use the existing job in the CUSTEXIT library).

USERMOD Installation Jobs

USERMOD installation jobs often need to be submitted more than once. Therefore, each job contains an SMP/E REJECT command to delete the previous copy of the USERMOD from the SMPPTS dataset and the SMP/E global zone.

The first time each USERMOD job is submitted, it terminates with a return code of 12. This return code is expected because there is nothing to reject.

To avoid interrupting the SMP/E command stream after receiving a return code of 12, the installation job contains an SMP/E RESETRC command after the REJECT.

Never ACCEPT a USERMOD.

Creating USERMODs for Roof Exits

A roof exit (or driver exit) is used to activate as many as nine other sample exits. Each sample exit activates a different function. The driver exit calls each sample exit in turn. The ICE Automatic Exit Installation tool fully supports the creation of USERMODs for roof exits.

Installing a version of an exit is different from installing the same version under its corresponding roof exit. The load module name that is created for the same exit version is different. If the exit version is installed as a stand-alone exit version, the load module name is the default (for example, CTMX001). If the exit version is installed under the roof exit, the load module name is the full eight-character version name (for example, CTMX001A).

To install the roof version of an exit:

  1. When using the roof version of an exit, you must first install all the versions of the exit that you need, one by one, by following the instructions in the USERMOD installation job. (Follow steps 1a through 1c for each exit in the roof exit.)

    1. Start the ICE Automatic Exit Installation tool.

    2. Specify the exit you want to install.

    3. Make the changes in the USERMOD installation job that was built by the automatic exit installation tool as specified in the following lines. (Do not modify lines that are not listed below!)

      Table 272 Changes to the USERMOD Installation Job

      from: INCLUDE AIOALOAD(<defaultexit>)  to: INCLUDE AIOALOAD(<roofexit>)

      from: NAME <defaultexit>(R)            to:  NAME <roofexit>(R)

      from: ++SRC(<defaultexit>) DISTLIB(ASAMPEXT) DISTMOD(AIOALOAD) .  

      to:   ++SRC(<roofexit>) DISTLIB(ASAMPEXT) DISTMOD(AIOALOAD) .  

      where <defaultexit> is the name of the default exit and <roofexit> is the full, eight-character name of this exit when run under the roof.

    4. Install the roof version of the exit with the ICE Automatic Exit Installation tool. To do this, specify the versions of the exit that you want to implement in the source of the roof exit, as follows:

      Copy
      &MODULE1 SETC   'CTMX001A'      FIRST EXIT TO BE CALLED
      &MODULE2 SETC   'CTMX001B'      2'ND EXIT TO BE CALLED
      &MODULE3 SETC   '        '      3'RD EXIT TO BE CALLED
      &MODULE4 SETC   '        '      4'TH EXIT TO BE CALLED
      &MODULE5 SETC   '        '      5'TH EXIT TO BE CALLED
      &MODULE6 SETC   '        '      6'TH EXIT TO BE CALLED

INCONTROL products that currently contain roof exits include IOA, Control-M, and Control-M/Restart.

Linkedit Updates

Link-editing is performed by SMP/E. Therefore, to change the link-edit statements in a load-module, SMP/E must be informed using JCLIN. JCLIN is also applied using an SMP/E USERMOD.

If JCLIN is installed without any element (SRC – source or MOD – module), SMP/E is updated with link-edit statement changes, but no link-edit is performed. The new link-edit statements are used only when SMP/E is requested to change the load-module because an element is being updated or replaced. To ensure that the new link-edit statements are used, an element is provided with the USERMOD containing JCLIN.

Including Local CSECTs in IOA Exits

If a local CSECT is included in an IOA exit, perform the following steps:

  1. Add ‘INCLUDE AIOALOAD(LOCAL-CSECT-NAME)’ after the last include statement.

  2. Add ++SRC(CSECT-NAME) or ++MOD(CSECT-NAME) after the DD statement of the last source (++SRC) or last module (++MOD) in the USERMOD updated, as follows:

    Copy
    ++SRC(EXITXXX) SYSLIB(CUSTEXIT) DISTLIB(ASAMPEXT)         ORIGINAL-LINE 
    DISTMOD(AIOALOAD).                                        ORIGINAL-LINE
    /*                                                        ORIGINAL-LINE
    // DD DISP=SHR,                                           ORIGINAL-LINE
    // DSN=%ILPREFA%.CUSTEXIT(EXITXXX)                        ORIGINAL-LINE
    // DD *                                                   ADDED-LINE
    ++SRC(LOCAL-CSECT) SYSLIB(CUSTEXIT) DISTLIB(ASAMPEXT)     ADDED-LINE
    DISTMOD(AIOALOAD).                                        ADDED-LINE
    /*                                                        ADDED-LINE
    // DD DISP=SHR,                                           ADDED-LINE
    // DSN=LIBRARY-CONTAINING-THE-ELEMENT(LOCAL-CSECT)        ADDED-LINE

Summary – USERMOD Jobs

Before submitting the USERMOD jobs, perform the following steps:

  1. Verify that a backup of the LOAD library exists.

  2. Make all necessary updates to the USERMOD, as follows:

    1. Update the JCLIN (link-edit input statements) if required.

    2. Update the source exit name in the SMP/E ++SRC statement, if necessary.

    3. Update the library and member names of the source exit in the IOA SAMPEXIT library on the unnamed DD statement following the ++SRC statement.

  3. Submit the job. It performs SMP/E RECEIVE and APPLY commands, selecting the SMP/E USERMOD just created. Never run ACCEPT on USERMODs.

    When applying a PTF that installs an exit that was already locally installed, the APPLY fails with the message

    Copy
    GIM38201E - THERE IS A MODID ERROR FOR SAMP ENTRY sample-name IN SYSMOD ptf-name.

    To bypass this error add the BYPASS(ID) operand to the APPLY. It is important that you make sure that this is the only failure in that APPLY before using that BYPASS operand.

IOA Exits

The following table describes the available IOA exits:

Table 273 IOA Exits

Exit

Description

IOAX006

This exit controls the use of the IOA Online facility.

IOAX006 and IOAX009 are twin exits. IOAX006 is invoked by the Online facility before the entry panel is displayed. When signing on to the Online facility through the online monitor, Exit IOAX009 is invoked first, followed by Exit IOAX006). When the Online facility is used without the online monitor, only Exit IOAX006 is invoked). These exits can be used to display a sign‑on window for users to enter their user ID and password or password phrase.

These sign-on modules determine and build the user’s identity for all subsequent actions. They both have similar structure, parameters, return codes and functionality. However, they work in different address spaces. The home address space is the primary address space requesting and receiving services from the online monitor address space using the cross‑memory facilities. Exit IOAX006 is invoked in the online monitor address space (when signing on through the online monitor). Exit IOAX009 is invoked in the home address space for the VTAM monitor, CICS, IMS, CA‑ROSCOE, and so on The control block that represents the user’s identity accompanies the user during the entire session with the IOA Online services facility.

In the online monitor environment, the ACEE control block is stored in the user’s TCB (Task Control Block) and the OCT (Online Control Table). MVS recognizes the ACEE as a standard control block to be used for authorization checks, so that task level security feature is achieved. If the ACEE is not stored in the TCB, either because module IOASE06 is not implemented or because the security package does not build an ACEE (for example, ACF2 in native mode), then all authorization checks for file access are performed using the identity of the online monitor address space. All authorization checks are performed using the correct user’s ACEE. If the ACEE is not built, it is quite likely that the security interface does not perform the authorization checks correctly.

MVS checks authorization for actions such as opening files by first checking if there is an ACEE in the current TCB. If it is found, authorization checks are performed using the TCB’s ACEE. If it is not found, MVS continues to search for the appropriate TCB until the ACEE associated with the address space is found.

 

In an environment where security is not implemented, Exits IOAX006 and IOAX009 can set the OCTUSER parameter, which is the reference parameter for all programs used as the identity of the current working user ID.

User Exit IOAX006T must be called when all IOA functions are performed under native CA‑ROSCOE address space.

When using the Online facility under CA‑ROSCOE, the IOA security interface receives the CA‑ROSCOE started task procedure and not the user’s own user ID. Therefore the user must sign on both under ROSCOE and under IOA. To avoid forcing the user to sign on twice, special routine IOARROT is provided in the IOA SAMPLE library. This routine retrieves the user ID from the corresponding CA‑ROSCOE control block and places it in IOA so that it can be used for additional security authorizations. Before calling the standard IOA security modules, routine IOARROT must be called from within the IOA Online environment. This call must be placed in an IOA user module that is invoked before module IOASE06 and IOASE09 are called. The user modules that support CA‑ROSCOE for IOA Online facility communication are IOAX006T and IOAX009. These modules reside in the IOA SAMPEXIT library.

When two environments run simultaneously, both user modules are placed in the IOA LOAD library. User Exit IOAX006T is invoked in the online monitor address space as well, but cannot locate the required control blocks because there are no CA-ROSCOE control blocks in the online monitor address space. The started session abends. BMC recommends that these two modules be placed in the special IOA LOAD library that is concatenated to the STEPLIB in the CA-ROSCOE started task procedure before the IOA LOAD library.

IOAX007

This exit can be used to control update of the IOA Conditions file and the Control‑M Resources file. For further details, see the INCONTROL for z/OS Security Guide.

IOAX009

This exit controls entry to the IOA Online facility when working with the Online monitor (under CICS, VTAM, IMS/DC, TSO/ROSCOE cross memory options, COM‑PLETE and IDMS/DC).

User Exit IOAX009T must be called when CA‑ROSCOE communicates with IOA through cross‑memory services. All IOA functions are performed in the separate address space, which is the IOA Online monitor address space (OMON1).

In an environment where security is not implemented, Exits IOAX006 and IOAX009 can set a value for parameter OCTUSER, which is used by all programs as the identity of the current user ID.

For details, see the exit source for Exit IOAX009 and Exit IOAX006, and the description of Exit IOAX006 above.

IOAX012

This exit can be used to control or modify operator commands issued by utilities CTMOPR, CTDOPR and IOAOPR, by Control‑O and by the Control‑M and Control‑D and Control‑V New Day procedures.

IOAX016

Mainframe application server exit. This exit is called when a logon request is made by Control‑D/Page On Demand. The mainframe logon user ID and password from the Control‑D/WebAccess Server Communication Setup menu are passed to the exit. This exit is provided as a dummy load module. The associated security module is IOASE016.

IOAX028

IOA definition screen exit. This exit is invoked each time the user presses the Enter or PF03/PF15 key to exit an IOA definition screen. This exit is relevant for all IOA definition screens (Screens 2, 3.Z, 8, R, M, TR, TV, TP, BM, BR, OR, and C).

IOAX029

IOA Online Sysout or Report Viewing exit. This exit is activated as part of the Online viewing facility invoked for each sysout or report line that is to be displayed on the user terminal. For example, this exit allows translation of unprintable characters. This exit also provides additional features (for example, making special data invisible on the report).

IOAX030

This exit can be used to modify email attributes (such as To, CC, or From) before sending the email text as a sysout to the JES spool.

IOAX031

IOA Log exit. This exit is invoked before a message is written to the IOA Log file. The exit can be used to write the message on other files (SMF, and so on) or to accumulate message statistics.

IOAX032

This exit is invoked in all IOA panels each time an IOA user attempts to perform an operation on a PDS library or member in a PDS library. This exit can deny operations such as accessing a library, listing its directory and browsing, editing or saving a member. The exit is invoked when a user requests to edit JCL members or documentation data through Control‑M/Enterprise Manager. The exit checks authorization and either grants or denies the Edit (or Save) request prior to the performance of these operations by the Control‑M Application Server (CTMAS).

This exit can also be used to enable ‘Forced Browse’ of an IOA PDS member by denying the user Edit authority, but granting the user View (Browse) authority for the requested library or member.

IOAX034

Receives control for every message issued by the IOA Shout facility. This exit can modify the message text, change its destination, or suppress it. This exit can be activated by the Control‑O monitor, the Control‑M monitor or an IOA Functional monitor (used with Control‑M/Tape).

IOAX035

IOA Account Information Extraction exit. This exit is invoked by an INCONTROL product whenever account field information is required. Exit IOAX035 can extract the requested information from different parts of the account field depending on site customization. The exit can be invoked by CDAM when writing directly to a CDAM file, by Control‑D when decollating from a spooler, by Control‑M/Tape when a job’s account field is copied to the Media Database, and so on

IOAX036

IOA Access Method (IOAAM) exit. This exit is invoked whenever program IOADBF is executed, both as an independent utility program and when called internally by IOA Access Method I/O routines. This exit can check for which function it is being called and either grant or deny the request.

IOAX037

IOA translation exit. This exit contains four 256‑byte translation tables for the IOA online routines. This exit can be used to translate IOA screens to any language supported at the site. In addition, it can implement upper casing, special characters sets and other capabilities.

IOAX038

IOA Functional monitor exit. This exit is invoked before writing a request to the Functional monitor queue. The return code of the exit determines whether the request is or is not written. For performance reasons, Exit IOAX038 in the IOA LOAD library is a dummy exit.

IOAX039

IOA Page Separating exit. This exit is invoked during the creation of a CDAM file by a Control‑D decollating mission or during direct writing to a CDAM file by a job. The exit can control page separation in a CDAM file being created.

IOAX040

IOA Utilities Invocation exit. This security exit is invoked by certain IOA

utilities to

  • determine whether the user is authorized to use the utility program

  • determine whether the user is authorized to perform specific functions of the utility

Control-M Exits

The following table describes the available Control‑M exits:

Table 274 Control-M Exits

Exit

Description

CTMX001

This exit is invoked for every job order that must be placed in the Active Jobs file. The exit is usually used to modify job production parameters. This exit has an associated security module CTMSE01. For further details, see the INCONTROL for z/OS Security Guide.

CTMX001R

This exit is called a roof exit or driver exit because it can be used to activate as many as nine other Control‑M sample exits. Each sample exit activates a different function. The driver exit calls each sample exit in turn.

This roof exit is invoked during the Job Ordering process and receives the scheduling definition records. This roof exit enables the customer to combine several samples of Control‑M exits prefixed by CTMX001, each exit performing a specific processing function on job scheduling definitions.

CTMX002

Control‑M submission exit. Every line of the job stream submitted by Control‑M can be modified or deleted or replaced, and so on This exit has an associated security module CTMSE02. For further details, see the INCONTROL for z/OS Security Guide.

CTMX002@

This exit is called a roof exit or driver exit because it can be used to activate as many as nine other Control‑M sample exits. Each sample exit activates a different function. The driver exit calls each sample exit in turn.

This roof exit is invoked during the job submission process and receives JCL cards for a submitted job. This roof exit enables the customer to combine several samples of Control‑M exits prefixed by CTMX002, each exit performing a specific processing function on job JCL records.

CTMX003

Control‑M SYSOUT scan exit. After the job finishes executing, every line of the job’s SYSDATA is passed to the exit. The main use of this exit is to detect user generated constants in the SYSOUT (such as program DISPLAY messages) and to affect the execution results of the current job accordingly.

SYSDATA is an IOA term used to designate the data in the following three job SYSOUT datasets: job log (console messages), expanded JCL, and system output messages.

CTMX004

This exit allows the user to change the defaults of the Control‑M scheduling algorithm by assigning weights to quantitative resources. In this way, Control‑M can be fine-tuned to achieve maximum throughput.

CTMX005

Exit CTMX005 is an integral part of the statistical data accumulation process. It is invoked by utility CTMJSA, which accumulates job statistical data from the IOA Log file. The exit can be used for the following purposes:

By default the machine ID (one-character) is automatically derived from the SYSID (four-character) and from information contained in CTMPARM, before Exit CTMX005 is invoked. Exit CTMX005 can override the machine ID.

Exit CTMX005 enables the user to incorporate additional statistical data from sources other than the IOA Log (for example, performance monitors) into the job execution statistics.

CTMX008

This exit is used to control access to the Active Jobs file, such as user authorization line commands (hold, delete, and so on). This exit has an associated security module CTMSE08. For further details, see the INCONTROL for z/OS Security Guide.

Exit CTMX008 and security module CTMSE08 are also invoked by the Control‑M Application Server (CTMAS) and the Control‑M Application Server Interface (CTMAPI).

CTMX008 may be invoked from the Active Environment screen (Screen 3) by using option X. For further details, see the Control-M for z/OS User Guide.

CTMX010

This exit is used to control job submission using the Quick Submit facility. For example, it can force the use of Control‑M for production job submissions under TSO.

CTMX013

This exit is invoked each time a line is displayed by the Control‑M Online facility in the Job Statistics screen (Screen 3.S). The exit can modify the line to be displayed.

CTMX014

This exit is invoked when a request is made to edit a JCL member under Screen 2 and Screen 3 of the Online facility.

CTMX015

This exit is invoked when a job has finished executing and has been assigned a Control‑M termination status.

CTMX015R

This exit is called a roof exit or driver exit because it can be used to activate as many as nine other Control‑M sample exits. Each sample exit activates a different function. The driver exit calls each sample exit in turn.

This roof exit is invoked during job post-processing (that is, when a job finished its run and Control‑M assigns status ENDED OK or ENDED NOTOK to a job). This roof exit enables the customer to combine several samples of Control‑M exits that are prefixed by CTMX015, each exit performing a specific function on the post processing of a job.

CTMX017

The exit receives control each time the Tape Pull list utility (CTMTAPUL) attempts to resolve volumes for each DD statement of the job.

CTMX018

This exit receives control during the process of determining the anticipated elapse time of a job.

CTMX019

This exit receives control during the Control‑M external writer initialization phase.

CTMX020

This exit is called when a specific job starts and when it is still found running after its DUE-OUT time. The exit may be used to change the service class setting that the Control-M monitor, based on its search and matching algorithm, is about to reset the job to. For further details, see Workload management service class support.

CTMX021

This exit receives control each time a Load-Index is calculated, allowing you to modify the Load-Index calculation value and calculation note.

Some Control-M exits can be dynamically reloaded by issuing a Control-M operator command—with no need to recycle the Control-M Monitor. For more information, see Dynamically Reloading User Exits.

CMEM Exits

The Control‑M Event Manager (CMEM) can also use the following Control‑O exits:

Table 275 Control-O Exits Used by CMEM

Exit

Description

CTOX001

Receives control under the Online interface whenever rule ORDER/FORCE is performed.

CTOX002

Receives control for every rule before it is loaded to the active environment. This exit can be used to modify rule parameters prior to rule loading.

Control-M Application Server Exits

The Control-M Application Server can use the following exit:

Table 276 Control-M Application Server Exits

Exit

Description

CTWX001

This exit is called when the Control-M Application Server receives a message from the Control-M/Enterprise Manager datacenter. The exit can be used to change the user name contained in the incoming message header. For example, this exit can translate a user ID for Control-M/Enterprise Manager, which can be 1 to 64 characters, to a valid mainframe user ID.

Control-M/Restart Exits

The following table describes the available Control‑M/Restart exits:

Table 277 Control-M/Restart Exits

Exit

Description

CTRX001

This exit is activated by Control‑M/Restart. It allows better control of Control‑M/Restart execution and can be used to interface with other products (for example, for checking non-standard datasets).

BMC provides several samples of CTRX001 exits in the IOA SAMPEXIT library to interface with various tape management products to extend the processing capabilities of Control‑M/Restart. For example, when used as an interface with Control-M/Tape, sample exit CTRX001T receives dataset DELETE requests and changes the Control‑M/Tape controlled dataset status to Immediate-Scratch (the default) or Deferred‑Scratch (if specified). Datasets with a status of Deferred-Scratch are expired by the next run of the CTTRTM Control‑M/Tape Retention Management utility. By default, this exit causes Control‑M/Tape controlled datasets to be scratched immediately (that is, without running the CTTRTM utility).

For more information see the chapter about operation considerations in the Control‑M/Restart User Guide.

CTRX001G

This exit is called a roof exit or driver exit because it can be used to activate as many as nine other Control‑M/Restart sample exits. Each sample exit activates a different function. The driver exit calls each sample exit in turn.

For example, Exit CTRX001G can be used to activate two tape management products: CA-1 and Control‑M/Tape. The instructions below can be expanded to create a driver exit for more than two functions.

When Control‑M/Restart restarts a job containing Control‑M/Analyzer steps, Exit CTRX001Q calls the Control‑M/Analyzer Rollback facility to roll back those database variables that had been created by Control‑M/Analyzer steps that are to be restarted. The rolled back values are physically deleted from the Control‑M/Analyzer database and the space they occupied becomes available for new variable generations.

For information about how to invoke the Control‑M/Analyzer Rollback Facility using procedure CONTROLR, see Control-M/Analyzer.

The return codes are

0—normal termination

4—security violation

8—error opening database

12—internal error reading database record

16—error during CTBDBV call

CTRX014

This exit is invoked by Control‑M/Restart using the IOA online Active Environment screen, Screen 3.V, before a SYSOUT is viewed. This exit can be used for the following purposes:

to verify or change parameters and control blocks

for CDAM manipulation

Control-D and Control-V Exits

The following table describes the available Control‑D and Control‑V exits:

Table 278 Control‑D and Control‑V Exits

Exit

Description

CTDX001

Receives control for every mission that must be placed on the Active Missions file. This exit is usually used to modify mission production parameters. For details, review the INCONTROL for z/OS Security Guide.

CTDX002

Printer command exit. This exit receives control at the end of any chunk of lines that is sent by Control‑D to the spool. This exit can issue operator commands to set the printer for the coming chunk. (Contact BMC Customer Support before using this exit.)

CTDX003

Control‑D banner exit. This exit receives control at the beginning and end of every print mission or the beginning of a user in the bundle or for every report in the bundle or for every chunk in the bundle.

This exit produces banner pages at any level and in any desired format. It can also, optionally, produce an index of the reports in a bundle. For a detailed explanation of how to tailor and use the banner exit, see Tailoring Control-D Banner Exits.

CTDX004

This exit authorizes access to User Reports List files. When a user displays a list of reports, which can be refined by specifying report selection criteria, the list is based on the authorization assigned to that user. The user can then perform operations on these reports. However, the user can only view the decollated portions.

When Control‑D is installed, a default dummy exit is active. To facilitate installation and product testing, this exit does not enforce any security standards. When security standards are not enforced, all of the users can view all reports using option U. When Control‑D becomes operational and access to its Online facility is given to many users, BMC recommends that you use either security module CTDSE04 or sample User Exit CTDX004A.

Sample Exit CTDX004A retrieves security definitions from the Recipient Tree. The administrator can identify one or more recipients in the Recipient Tree with a TSO logon (or logon, CICS, VTAM, and so on) user ID. These authorizations enable users to see reports under Option U. The user IDs to be authorized must be specified in the AUTHORIZE field in the definition of each recipient that is authorized to view that ID’s reports. For more information, see the Recipient Definition screen in the online facilities chapter of the Control‑D and Control‑V User Guide. When a user is authorized in the Recipient Tree, it means that the TSO (or CICS, IMS, DC, and so on) user can view all the reports of that recipient and the reports of that recipient’s descendants in the Recipient Tree. The same TSO user ID (or other environment’s sign‑on ID) can be defined for more than one recipient in the Recipient Tree.

Decollated report pages can be sent to recipients that are not listed in the Recipient Tree. For information about how to do this, see the implementation hints chapter in the Control‑D and Control‑V User Guide.

User ID identification in the AUTHORIZE field is performed according to the following rules:

The specified user ID can contain a number of ? characters. This wildcard character indicates any single character.

Example of Exit CTDX004

AUTHORIZE A??X matches AIOX01, but does not match A1X01. Programmers with TSO user IDs beginning with T10 are responsible for reports assigned to the AP department. JOHN is the only programmer who writes programs also for the DOD contracts section that is classified. JOHN and every programmer whose user ID starts with T10 can view reports of all the members in the programming departments and all reports of the AP department. There is one exception: except for JOHN (T1002), no one can look at the DOD contracts section and at JOHN’s reports. JOHN’s boss (TSO user T1001) can look at JOHN’s test reports. But not at the DOD production reports. Every user in the AP department can look at their own reports only.

The Active User Reports List file also contains entries that describe the entire original report. The entries are referenced by a specially reserved user name – $SYSDATA. Authorized users can perform Online viewing of the original report, which is now compressed. The authorization for accessing $SYSDATA entries is also controlled by this exit. A user who is authorized in the Recipient Definition screen can also be allowed to view $SYSDATA entries if the SYSDATA field contains the value Y (Yes). For more information, see the Recipient Definition screen in the online facilities chapter of the Control-D and Control-V User Guide.

BMC recommends that a restricted number of operations personnel, be authorize the use the SYSDATA option because this option allows viewing of original reports.

This exit also receives control for every function performed on an entry in the User Report List file (for example, update, print, restore, view, index functions). It is possible to control who is allowed to request a restore, to determine the maximum number of pages to be printed to a remote printer, and so on This can also be performed by the security interface module (CTDSE04). If CTDSE04 is installed, the use of Sample Exit CTDX004A is not necessary.

Default Global Ruler

Each report can have a default ruler whose name is DEFAULT. User Exit CTDX004 can change the ruler that is used as this default to a global ruler whose name begins with $. Before Control-D looks for the report’s default ruler, it calls Exit CTDX004 and CTDSE04 with function DEFGRUL. The user exit can return the global ruler name that must be used as the default ruler, and the security exit can check whether the user is allowed to change the default global ruler name.

CTDX005

This exit receives every line to be printed by the Control‑D Printers Control monitor before actual printing takes place. The exit can prevent the line from being printed, change its contents or add more lines to the printed output. Examples of its use are Print page sequence numbers from the beginning of the printing mission (these numbers can be printed in the bundle index as well).

The actual printing is suppressed and the bundle is saved to a sequential file (for file transfer to RJE stations, and so on). For more information, see Control-D and Control-V

CTDX006

SMF exit. This exit receives control before each Control‑D SMF record is written to the SMF datasets. It can suppress the record or change it. The SMF record written by Control‑D is created for each combination of User or Report or Job name. Therefore, it allows accounting on each level – including accounting by report recipient. The number of pages is accurate (unlike SMF type 6 records that use approximate numbers).

SMF type 6 records are created by JES for the Control-D Printers Control monitor when it prints bundles. Therefore, it is necessary not to count the same page twice. This is the reason why the Control-D SMF record is not of type 6. The SMF record number is determined by installation parameter SMF. For more information about the format of the record, see the sample exit in the IOA SAMPEXIT library.

CTDX007

This exit handles the problem of decollating reports that cannot be shown on the screen. Many sites use special character sets in reports that cannot be displayed on a screen but can be printed. It is possible under Control‑D to decollate such reports by specifying the name of a translation table before the string in the WHEN statement. Under this method, the user types what the user can see, and decollation takes place using the actual nonstandard spool representation.

CTDX008

This exit is used to control the update of the Active Missions file. For details, review the INCONTROL for z/OS Security Guide.

CTDX009

Print job tailoring exit. This exit can modify the contents of the print job prepared by the Control‑D print mission. For a description of printing mission workflow, see Control-D and Control-V

CTDX010

Backup job tailoring exit. This exit can modify the contents of the backup job prepared by the Control‑D backup mission. For a description of backup mission workflow, see Control-D and Control-V

CTDX011

Restore job tailoring exit. This exit can modify the contents of the restore job prepared by the Control‑D restore mission. For a description of restore mission workflow, see see Control-D and Control-V

CTDX012

Activated by utility CTDCA2P. This exit allows the user to change the contents of the records that are copied from the Active User Report List file to the Permanent User Report List file. The exit can also suppress the copying of any record.

CTDX013

Activated by utility CTDCP2A. This exit allows the user to change the contents of the records that are copied from the Permanent User Report List file to the Active User Report List file. The exit can also suppress the copying of any record.

CTDX014

Immediate print request banner exit. Used to print banners on immediate print requests from the Online viewing facility. The exit is similar in function to Exit CTDX003 (for more details, see Tailoring Control-D Banner Exits.

CTDX015

This exit receives every line to be printed by an immediate print request under the Online viewing facility. The exit can suppress the line, change its contents, and so on It is similar in function to Exit CTDX005.

CTDX016

This exit receives control during report decollation when a search is made in the Recipient Tree for a synonym that is identical to the recipient name found in the report (that is, when trying to identify the recipient of the page). The exit can determine whether they are equal or not. It is mainly used to define synonym ranges. For example: User BR129 must receive all postal codes from 10200 to 10399. For an example of the use of this exit, see the implementation hints chapter in the Control‑D and Control‑V User Guide.

CTDX017

Exit is obsolete. Use exit IOAX034 instead. See IOA Exits.

CTDX018

This exit is activated when CDAM parameter EXIT=YES is specified. The exit, which should be in a LINKLIST concatenation, receives control for every line written to the CDAM file. For a description of the exit, see the CDAM chapter in the Control‑D and Control‑V User Guide.

If CTDX018 is not in the LINKLIST, the IOA LOAD would need to be in the steplib concatenation of every job that writes directly to CDAM.

CTDX020

This exit is invoked when the Print Plan file is built. It can modify the contents of print plan records before they are written to the print plan file.

CTDX021

This exit is activated before the Recipient Tree is displayed (Screen T). Based on the library name and Recipient Tree member name, the exit determines if the Recipient Tree is to be edited or browsed.

CTDX022

This exit is invoked during decollation. It can be used to access default records in the Active or Permanent User files, to create user and SYSDATA records in the Active User file, to access each page of a report that is being decollated, or to access index values before they are added to the index file. When this exit is called, function INXMASK can be used to modify a mask value and function INXVAL can be used to "unify" index values by (for example) changing index values from mixed case to uppercase.

CTDX024

This exit is invoked by the Application server when a Control‑D/Page On Demand (POD) request is processed. It can be called to control access to the Control‑D Active User file and the Control‑V Migrated User file from Control‑D/Page On Demand. The mainframe logon user ID specified in the Control‑D/WebAccess Server Communication Setup menu is passed to this exit.

Security module CTDSE24 retrieves security definitions from the Recipient Tree. The administrator can authorize Control‑D/Page On Demand users to view mainframe reports by adding the appropriate mainframe logon ID to the AUTHORIZE field in the recipient definitions in the Recipient Tree. For more information about this topic, see the documentation for Security Module CTDSE24.

CTDX026

This exit is invoked by the Control‑D/Decollation Server Online environment under the T, M, A.Z and U.P screens.

CTDX027

Install the Control‑D File Transfer option.

CTDX030

Enables you to change attributes stored in a .cfg file before sending the file to Control-D/Delivery Server.

Sample User Exit CTDX030A replaces invalid special characters in the .cfg filename with the # character.

CTVX001

This exit is invoked during online processing of index files. It enables the user to retrieve index values from non-Control‑V index files.

CTVX002

This exit is invoked by the IOASMON Archive Server before writing an SMF record.

Replacing Control-D User Exits

The Control‑D monitor supports several user exits: CTDX007, CTDX010, CTDX011, and CTDX022.

To load a new copy of an exit without shutting down the Control‑D monitor, simply enter the exit name using a modify command. For example

Copy
F CONTROLD,CTDX007

After a few seconds, the following message is displayed on the operator console from which the modify command was issued:

Copy
CTD126I NEW EXIT CTDX007 LOADED

In case of an error while loading the new copy of an exit, an appropriate message is displayed on the operator console (the original copy of the exit remains active).

Tailoring Control-D Banner Exits

There are two banner exits under Control‑D:

Table 279 Control‑D Banner Exits

Exit

Description

CTDX003

The deferred print (printing mission) banner exit.

CTDX014

Immediate Print request banner exit. Used for prnting banners on direct print requests of Online viewing users.

The Control‑D banner exits can be tailored for most sites without coding Assembler instructions (described later).

This topic discusses the following items:

  • banner pages

  • format of banner pages

  • printing user address in bundle banner

  • index printing control

  • AFP (APA) support

  • XEROX (DJDE) support

  • initiating page marks

  • global control of printing characteristics

Banner Pages

The Control‑D supplied banner exit prints different types of banner pages. Banners are defined in the library allocated to DD statement DABANNER of the Control‑D Printers Control monitor, the Online monitor and of each Online user. A sample Control‑D BANNERS library is supplied as part of the IOA installation. The following banners can be found in the library:

Table 280 Sample Banners

Banner

Description

xxBNDLST

Bundle Open banner

xxBNDLEN

Bundle Close banner

xxUSERST

Beginning of a User (Recipient) Reports banner

xxUSEREN

End of a User (Recipient) Reports banner

xxREPSTA

Start of Report banner

xxREPEND

End of Report banner

xxINDSTA

Start of Index Report banner

xxINDEND

End of Index Report banner

xxRPSSTA

Start of Subscribed Report banner

xxRPSEND

End of Subscribed Report banner

xxUINDXH

Header of Reports index

xxUINDXV

Format of each index line

$$ONLSTA

Start Banner of immediate print requests

$$ONLEND

End banner of immediate print requests

The prefix of the banner members beginning with xx is determined by the type of printer used to print the report (Xerox, APA, Siemens, and so on), as follows:

Table 281 Banner Prefixes

Type

Banner Prefix

REG

$$

LAS

$$

APA

$1

XER

$2

FOB

$3

MAIL

$M

If a banner member for a specific printer type is not found, the default banner member is used (for example, if $1BNDLST is not found, default member $$BNDLST is used).

The type of the printer specified in the Control‑D installation parameters (member CTDPARM in the IOA PARM library).

Format of Banner Pages

The contents of each banner page is determined by the text that is found in the banner member. The following applies to printing banner pages.

The first character of each line can be the following:

Table 282 Valid First Characters for Banner Page Lines

First Character

Description and Valid Values

Any valid ASA code.

Valid ASA codes include 1, +, ‑, and so on.

X‘5A’ –

AFP (Advanced Function Printing).

A line descriptor

Valid line descriptors are:

  • Blank - regular size letters

  • B - big (large) size letters

  • M - medium size letters

  • S - small size letters

  • E - end of banner page

  • C - comment line

You can use special variables, which are automatically replaced for each banner printed, within the banner page definition. The variables are:

Table 283 Special Variables for Banner Page Definition

Variable

Description

%MISSION%

Printing mission name.

This variable applies to deferred print banners only.

%USER%

User (recipient) name.

%FATHER%

Father of the recipient in the tree.

%REPORT%

Report name.

%REPORTX%

Extended report name.

%CATEGORY%

Printing Mission category.

%JOBNAME%

Name of the job that produced the report.

%JOBID%

Job ID (in JES) that created the report.

%DATE%

Current date (at printing time).

%TIME%

Current time.

%ODATE%

Original scheduling date of the report.

%PAGES%

Number of pages (for each type of banner and for the index).

%LINES%

Number of lines (for each type of banner and for the index).

%DEST%

Printing (JES) destination.

%LASTUSER%

Last user (used in END banners).

%COPIES%

Number of copies to be printed (for report banner and for the index).

%CURRCOP%

Current printing copy (of the copies) (for report banner only).

%FROMPAGE%

From page printed.

%TOPAGE%

Until page printed.

%OUSER%

Name of the user who requested the print.

This variable applies to immediate print banners only.

%FROMUSER%

Name of the recipient from whom the report is received. The variable is applied to report banners only.

%REMARK%

Decollation remark (in Active User List file).

%REMARK2%

Continuation of decollation remark (in Active User List file).

%REMARK3%

Continuation of decollation remark (in Active User List file).

%RULER%

Name of the ruler being used to print the report. (If no ruler is being used, no RULER is printed.)

%GROUP%

Printing GROUP (from the printing mission definition).

%GLOBALn%

The nth line of member $$GLOBAL (where n is an integer from 1 to 10).

The Control‑D Banners library contains member $$GLOBAL. This member can contain from 1 to 10 lines of data. When parameter %GLOBALn% is specified in the banner page, the nth line from this member is placed in the banner page.

This parameter can be used to distribute NEWS to all report recipients.

%DATAn%

The nth line of a member whose name is identical to one of the following, depending on the value of the DATA parameter:

  • the user name (not the synonym) in the Recipient Tree or the online UserID depending on the value of the ADDR parameter

  • the first eight characters of the report’s name

  • the first eight characters of the report’s REMARK field

Valid values for n are: 1 to 10.

The Control‑D Banners library can contain a member for each report, report recipient, or online user. This member can contain from 1 to 10 lines of data. When the %DATAn% variable is specified, the nth line from the corresponding member is placed in the banner page. Control‑D does not expect to find such a member for every user or report.

This parameter can be used for special distribution instructions for a user or a report. For more information see sample members BMIAMI and UNIDENT in the BANNER library.

%ADDRn%

The nth address line of the current user (recipient) in the tree. Valid values for n: 1 to 10.

The Control‑D Recipient Tree can contain address lines that can be inserted in the banner page of this user. Any text can be entered in these address lines. A maximum of ten address lines can be specified per user. Control‑D does not expect to find such lines for each user.

A common use of this parameter is for the user address, to which the bundle must be delivered.

For performance reasons, BMC recommends that you use variable %ADDRn% instead of variable %DATAn% whenever possible because %ADDRn% data is located in memory and %DATA is in a library, member.

%LASTADDRn%

Used in the End user banner to print the address of the last user, which has already printed. This variable is identical to %ADDRn% and is supported for backward compatibility.

Replacing Control-M/Tape User Exits

The Control‑M/Tape real time environment supports the following user exits:

  • CTTX002

  • CTTX003

  • CTTX004

  • CTTX005

  • CTTX006

  • CTTX009

  • CTTX010

To load a new copy of an exit without shutting down Control‑M/Tape, use the RELOAD command of CTTINIT.

Copy
S CTTINIT, PARM='RELOAD,EXIT=CTTX002'

After a few seconds, the following message is displayed on the operator console from which CTTINIT was invoked:

Copy
CTT810I Control‑M/TAPE RELOAD CTTX002  ENDED. RC=00

In case of an error while loading the new copy of an exit, an appropriate message is displayed on the operator console (the original copy of the exit remains active).

Printing User Address in Bundle Banner

Control‑D can group the reports of several recipients into one bundle. In such cases, it can be desirable to have a specific address assigned to the entire bundle and to print this address on the bundle banner. Control‑D does this in the following way:

The contents of the GROUP field of the printing mission is compared with the Recipient Tree. If the GROUP field contains a user name from the tree (not a synonym), using the variable %ADDRn% in the bundle banner produces the address of this user.

Eliminate Banners

If you want to suppress the printing of a certain banner type, simply rename the banner member in the BANNERS library. You can suppress the printing of User and/or Report Banners for all reports of a particular recipient using the Recipient Tree definition. For details, see the online facilities chapter in the Control‑D and Control‑V User Guide.

To suppress the printing of all Banners by a particular printing mission, specify in the printing mission CATEGORY field the special name NOBANNER. For details, see the chapter about printing missions in the Control‑D and Control‑V User Guide.

For more information, see the BANSEQ parameter in Banner Printing Options.

INDEX Printing Control

The title of the index is retrieved from member $$UINDXH in the BANNERS library. The format of each line of index is retrieved from member $$UINDXV in the BANNERS library.

If variable %COPIES% is used in the index, the printed value is the value before the actual print. If the copies count is changed during printing (for example, it was suppressed by a user exit), the correction is not shown on the index.

The following parameters can be specified in the CTDX003 banner exit to control the printing of indexes:

Table 284 Parameters for Controlling Index Printing

Parameter

Description and Valid Values

GINDEX

Specifies whether an index bundle contents (global index) must be printed at the beginning of a printing mission (after the bundle banner page). Valid values are:

  • ON - The global index is printed.

  • OFF - The global index is not printed.

INDEX

Optionally, it is possible to create a separate index for each user in the bundle. A bundle can contain reports for more than one user. Valid values are:

  • ON - Each user receives an index at the beginning of each user bundle. However, if parameter INDEX in the Recipient Tree is equal to N (No), an index is not printed for this user.

  • OFF - An index is not produced for each user. However, if parameter INDEX in the Recipient Tree is equal to Y (Yes), an index is printed for this user.

LINECT

Specifies the maximum number of index records to be printed on a page. If LINECT=0 is specified there is no limit (that is, any number of records can be printed on a page).

EINDEX

Specifies whether an End User Index must be printed. An End User Index is an index printed at the end of a specific user’s report bundle that indicates which reports were actually printed (that is, it does not include reports that were not printed) for that user. Valid values are:

  • Y (Yes) - End User Indexes are printed. However, if the INDEX parameter in the Recipient Tree is equal to N (No) or blank, an index is not printed for this user.

  • N (No or blank) - End User Indexes are not printed.

GEINDEX

Specifies whether a Global End Index must be printed. The Global End Index contains an index of all reports that were actually printed in a report bundle. Valid values are:

  • Y(Yes) - Print a Global End Index.

  • N (No or blank) - Do not print a Global End Index

Banner Printing Options

The following parameters in the banner exits (CTDX003 and CTDX014) are used to determine where, when, and how bundle banners are printed:

Table 285 Parameters for Determining Where, When and How Bundle Banners Print

Parameter

Description and Valid Values

BUNSEP

Specifies where bundle banners must be printed.

Valid values are:

  • Y (Yes) - The bundle start banner, bundle index, and bundle end banner are printed to the destination specified in the print mission.

  • All other banners, indexes and reports are printed to the destination specified in the User Reports screen.

  • For more information, see the DEST parameter in the online facilities chapter of the ControlD and ControlV User Guide.

  • N (No) - All banners, indexes and reports are printed to the destination specified in the User Reports screen. For more information, see the DEST parameter in the online facilities chapter of the ControlD and ControlV User Guide.

This parameter does not apply to immediate printing.

BANSEQ

Specifies whether Control‑D must print banners when printing to a sequential file instead of the JES SPOOL.

Valid values are:

  • Y (Yes) - Print banners when printing to a sequential file.

  • N (No) - Do not print banners when printing to a sequential file.

This parameter does not apply to immediate printing.

BANAFP

Specifies whether to implement PAGEDEF, FORMDEF and OUTPUT statements when printing banners for the report. These statements can be included either with the PRINT and CDAM parameters for this report, or in the OUTPARMS library. For a description of the OUTPARMS library, see Control-D and Control-V. Valid values are:

  • Y (Yes) - Implement these statements when printing banners for the relevant report.

  • N (No or blank) - Do not implement these statements when printing banners for the relevant report. Default.

ADDR

Specifies whether the %ADDRN% and %DATAN% values of the on-line user that requested the report to be printed, or the %ADDRN% and %DATAN% values of the Recipient Tree recipient to which the report is sent, are printed in the report banners.

%DATAN% values are retrieved using the DATA parameter.

Valid values are:

  • USER - The %ADDRN% and %DATAN% values of the recipient from the Recipient Tree are printed.

  • OUSER - The %ADDRN% and %DATAN% values of the on-line user that requested the report to print are printed.

This parameter does not apply to immediate printing.

DATA

Specifies the search method used for searching the BANNERS library when searching for a member containing the %DATA1% through %DATA10% lines.

Valid values are:

  • USER - The library is searched by user (recipient) name. Default.

  • REPN - The library is searched for the first 8 characters of the report name.

  • REMK - The library is searched for the first 8 characters of the report's REMARK field.

Within immediate printing, the library is searched on by the recipient name or by the on-line UserID depending on parameter ADDR.

OUTPARM Options

The OUTPARM options provide the ability to override the default printing characteristics (specified at decollation time) for all (or some) of the reports and banners to be printed by Control‑D. To activate this feature, add the following parameters to the banner exits (CTDX003 and CTDX014):

Table 286 Parameters for Overriding Default Printing Characteristics (OUTPARM)

Parameter

Description and Valid Values

OUTPARM=(m,n)

The first subparameter, m, specifies whether all the members in the Control‑D OUTPARMS library refer to job names, user IDs, print missions' names, or to reports' destinations. Valid values are:

  • JOB – The members in the OUTPARMS library refer to job names.

  • USER – The members in the OUTPARMS library refer to user names.

  • PMIS – The members in the OUTPARMS library refer to print mission names.

  • DEST – The members in the OUTPARMS library refer to report destinations.

The second subparameter, n, specifies whether search patterns on the identification lines refer to reports' names or to external writers' names. Valid values are:

  • REPORT – The search patterns refer to report names.

  • WRITER – The search patterns refer to external writer names.

BANNER

Specifies whether banners must be printed with the characteristics specified for reports in the OUTPARMS library. Valid values are:

  • Y (Yes) – Banners are printed with these characteristics.

  • N (No) – Banners are not be printed with these characteristics.

For more information, see Control-D and Control-V.

AFP (APA) Support

For an explanation of how Control‑D supports AFP (APA) printers, see Control-D and Control-V and the chapter about decollating mission parameters in the Control‑D and Control‑V User Guide. When you are using AFP (APA) printers, the banner exit invokes a special routine called CTDAPA.

XEROX (DJDE) Support

For information about how Control‑D supports XEROX (DJDE) printers, see Control-D and Control-V. When you are using XEROX printers, the banner exit invokes a special routine called CTDDJDE. The source of this routine is in the IOA SAMPEXIT library.

Summary

By using various line types and special variables, it is possible to tailor the format of banner pages for most sites without modifying the banner exit itself. However, it is also possible to tailor the banner exit.

If the supplied banner exit does not fit your requirements, you can modify the exit to conform with your special requirements. If you do so, you should inform your INCONTROL representative about any such modifications. These modifications may be implemented as a standard in a future version.

Control-M/Analyzer Exits

The following table describes the available Control‑M/Analyzer exits:

Table 287 Control‑M/Analyzer Exits

Exit

Description

CTBX001

Receives control for every mission order that must be placed in the Active Balancing file. For further details, see the INCONTROL for z/OS Security Guide.

CTBX003

Control‑M/Analyzer database exit. Controls all access (for read, write, or update) to Control‑M/Analyzer database files (group file, basic variable definitions files and variable generation files).

CTBX004

Control‑M/Analyzer Rule Activity file selection exit. This exit controls which users can see Control‑M/Analyzer invocations on the Rule Activity screen.

CTBX008

This exit is used to control access to the Active Balancing file. For example, the exit checks if a user is authorized to delete a mission using the Active Balancing Environment screen. For further details, see the INCONTROL for z/OS Security Guide.

CTBX009

This exit receives control for every message issued by the Control‑M/Analyzer Shout facility. It can modify the message text, change its destination or suppress it. It can also be used for special purposes, such as an interface to InfoMan or to Electronic Mail Systems.

CTBX010

Extract user-defined processing exit. This exit is used to process extracted information according to user-defined specifications during processing of a DO EXTRACT statement. For more information on extract processing, see the DO EXTRACT statement in the rule definitions chapter of the Control‑M/Analyzer User Guide, and member CTBX010 in the IOA SAMPEXIT library.

CTBX011

This exit processes each line outputted by the Control‑M/Analyzer DO PRINT statement before its contents are actually written as output.

CTBX014

This exit is invoked by Control‑M/Analyzer during WHEN statement processing. It receives control for each line scanned by the STRING search string before the search is performed. The search criteria of the exit can be changed according to user needs.

Control-M/Tape Exits

The following table describes the available Control‑M/Tape exits.

Table 288 Control‑M/Tape Exits

Exit

Description

CTTX001

Receives control for every Control‑M/Tape rule that is loaded during initialization. This exit can be used to modify rule parameters. Security module CTTSE01 is associated with this exit. For more information on this security module, see the INCONTROL for z/OS Security Guide.

CTTX002

Dynamic stacking exit. Receives control when the CTTSTK utility is executed, when dynamic stacking for a dataset must be performed, and when a new dataset is added to the Media Database.

CTTX003

SVC operation decision. Receives control at dataset open and can determine the process of this open request. The exit has an associated security module CTTSE03.

CTTX004

Dynamic definition exit. Receives control when a dataset or volume is to be dynamically defined to the Media Database. The exit has an associated security module CTTSE04.

CTTX005

Abend exit. When Control‑M/Tape is about to abend a job, this exit receives control and determines whether to allow the job to abend or to bypass Control‑M/Tape.

If you decide to implement this exit, do so with extreme caution. If you bypass Control‑M/Tape, tape protection is disabled for this job.

CTTX006

Media Database update validation. Receives control when a request to update the Media Database is received. Security Module CTTSE06 is associated with this exit.

CTTX007

Cycle processing exit. Receives control whenever the CTTRTM utility or CTTVTM processes a cyclic dataset. The exit can determine the processing parameters.

CTTX008

Robotic Tape library interface confirmation exit. Receives control before a request is made to the Robotic Library routine and before a retry is initiated for a request after a failure. The exit can allow or reject the request and can modify the maximum number of retries allowed for a request.

CTTX009

External label printing. Receives control either from the Control‑M/Tape SVC (using statement DO LABEL) during dataset creation, or from the Online environment (Screen TI or TC) by specific request. It can be used to format label structure and contents and/or specify whether to print labels. Security module CTTSE09 is associated with this exit.

CTTX010

Receives control when the Dynamic Dataset Stacking facility scans the Media Database for a stackable volume. This exit can be used to change search decisions (that is, to Reject or Accept a volume) or to supply a new volume to be used for stacking.

CTTX011

Enhances the functionality of the CTTSBD utility by allowing placement of output files to be dependent on stacking criteria that cannot be specified using utility parameters (for example, security constants). Information passed to this exit describes the input dataset name, the candidate output volume, and the datasets already residing on the output volume chain being considered as a location for the output dataset.

This exit examines the information provided and allows placement of the output dataset on the candidate output volume, rejects placement of the output dataset on the candidate output volume, forces placement of the output dataset on a scratch volume, grants the candidate output volume preferred status, or passes (that is, the exit does not influence CTTSBD processing).

IOAX038

Determination of execution environment for IOA functions. This exit can be used to specify which Functional monitor is to be used to perform particular IOA functions.

Control-O Exits

The following table describes the available Control‑O exits:

Table 289 Control‑O Exits

Exit

Description

CTOX001

Receives control under the Online interface whenever rule ORDER/FORCE is performed.

CTOX002

Receives control for every rule before it is loaded to the active environment. This exit can be used to modify rule parameters prior to rule loading.

CTOX003

Receives control before execution of each DO KSL/TSO/SHELL statement. This exit can be used to modify specific requests.

CTOX004

Receives control each time a user enters an Automation Options screen or attempts to perform an action in an Automation Options screen.

CTOX008

Receives control each time a user enters the Rule Status screen or attempts to perform operations in the Rule Status screen.

CTOX015

This exit is invoked before the execution of a request to use the Control‑O XAM interface. If necessary, the exit rejects or modifies the request.