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