z/OS MVS Programming: JES Common Coupling Services
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Appending message extents

z/OS MVS Programming: JES Common Coupling Services
SA23-1387-00

You may need to add additional data to a message. If so, you can use exit IXZXIT01 to append data to a message. To do so:

  1. Your exit must obtain, individually for each message extent, a contiguous block of storage from subpool 0 that is to contain header information and the message data to be added. (IBM recommends using the STORAGE macro rather than $GETMAIN (for JES2) or AGETMAIN (for JES3) when obtaining this storage).
  2. Use the MSG_EXTENTS DSECT in mapping macro IXZ$XPL to map the following header data:
    • Eyecatcher - MSG_EXTENT_NAME (specify any meaningful, 8-character name)
    • Message length - MSG_EXTENT_LEN
    • Address of the data - MSG_EXTENT
    • The address of the next extent or 0 to indicate the end of the queue - NEXT_EXTENT
  3. Queue this block of storage to the end of the single-threaded, null-terminated message extent queue. Use XIT01_NAME_EXTENTS in IXZ$XPL to point to the first element in the message extent queue.
  4. Set indicator bit XIT01_EXTENTS on to indicate that an extent has been added.

As message extents are added to the data packet, the entire packet grows. If the data exceeds the maximum size as specified in XIT01_MAX_ADD, the original data is sent without the associated extents. IXZXIT01 updates the XIT01_MESSAGE_UPLEN field in the exit-specific section of IXZ$XPL to provide the length of the message after exit IXZXIT01 modifies it.

Following message processing, JES XCF frees the storage obtained by this exit.

Figure 1 shows the IXZ$XPL counters, XIT01_MESSAGE_UPLEN and XIT01_MAX_ADD.
Figure 1. IXZ$XPL mapping of message data and extents
IXZ$XPL mapping of message data and extents

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014