z/OS MVS Installation Exits
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Issuing Messages through JES Installation Exits

z/OS MVS Installation Exits
SA23-1381-00

After all JCL statements are converted to C/I text, the converter calls a JES installation exit that allows the installation to issue messages to the JCLMSG data set and indicate whether or not the converter should fail the job. The installation must place any desired message in a converter message buffer (CNMB), which is mapped by the IEFCNMB mapping macro. See z/OS MVS Data Areas in z/OS Internet Library at http://www.ibm.com/systems/z/os/zos/bkserv/ for more information on the CNMB data area.

The maximum length of a message for a single CNMB is 110 characters. If the CNMBMLEN field of a CNMB contains a value greater than 110, the message is truncated at 110 characters. You can chain multiple CNMBs together to pass longer messages. The CNMBNPTR field of the CNMB contains either the address of the next CNMB in the chain or zero if no other CNMBs follow.

Initializing the CNMB:

To initialize the converter message buffer (CNMB):

  1. Obtain a buffer from a private area subpool, such as 230, to contain the CNMB. The storage must be obtained in key 1.
    You do not need to issue a FREEMAIN in the installation exit since the converter releases the storage for the CNMB after writing the messages to the JCLMSG data set. IBM® recommends that you obtain buffer storage
    • in multiples of the CNMB mapping size (CNMBSIZE) when NOT issuing messages to the message data set, OR
    • in multiples of the CNMB mapping size plus the maximum size of a message text (CNMBSIZE + CNMBMAXL) when issuing messages to the message data set.

    This is to ensure that the converter releases the correct amount of storage and that no storage fragmentation occurs.

  2. Set the following fields in all cases:
    • Set the CNMBID field to CNMBCID (C'CNMB').
    • Set the CNMBVER field to CNMBCVER.
    • Set the CNMBSUBP field with the hexadecimal equivalent of the subpool number from which the storage was obtained via GETMAIN.
  3. Set the following fields if you are issuing a message to the message data set:
    • Set the CNMBMSG field with the message text.
    • Set the CNMBNPTR field to zeroes or to the address of the next CNMB if you are issuing a message that is longer than 110 characters.
    • Set the CNMBMLEN field with the length of the message text. The message text cannot be longer than 110 characters.
    • Set the CNMBLEN field based on how much storage was obtained:
      • If the storage is the size of the CNMB mapping plus the size of the message text, set the CNMBLEN field to CNMBSIZE + CNMBMLEN.
      • If the storage is the size of the CNMB mapping plus the maximum size of the message text, set the CNMBLEN field to CNMBSIZE + CNMBMAXL.
  4. Set the following fields if you are failing the job:
    • Set the CNMBFJOB bit on in the CNMBOPTS byte to indicate that the converter should fail the job. Setting the CNMBFJOB bit causes the converter to mark the job as failed when it regains control from the JES installation exit, and the job will not be run.
    • Set the CNMBMLEN field to zero if the installation exit is not going to issue a message.
For more information on the JES installation text, see:

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014