IBM SC33-1683-02 Server User Manual


 
Important
Because of the danger of recursion, your XMEOUT exit program should not
try to reroute:
v Any DFHTDxxxx messages, produced by the transient data program.
v User domain messages in the range DFHUS0002-DFHUS0006, plus
message DFHUS0150.
v Transaction manager messages DFHXM0212, DFHXM0213, DFHXM0304
and DFHXM0308.
v Application messages DFHAP0001, DFHAP0002, DFHAP0004,
DFHAP0601, DFHAP0602, and DFHAP0603.
v
Any
user domain (DFHUSxxxx) messages to an intrapartition queue defined
with a TRIGLEV value of anything other than zero, if the messages are
produced while the user domain is performing error recovery processing.
The message definition template contains an indicator called “noreroute”. This
indicator is set on if the message being issued cannot be rerouted to a
transient data queue by the XMEOUT exit program. The address of the
indicator is passed to XMEOUT in the UEPNRTE exit-specific parameter. Your
exit program can check the value of the indicator before deciding whether or
not to reroute a particular message.
Note: If the exit program tries to reroute an ineligible message, the message
domain inhibits the rerouting and issues the message to the console
instead, along with message DFHME0137.
Each of the messages affected by this restriction is identified by a note in the
CICS Messages and Codes
manual.
Your exit program can suppress or reroute messages by altering the values held in
the addresses pointed to by the UEPMROU, UEPMNRC, UEPMTDQ, and
UEPMNTD fields of the parameter list. These four sets of values (route codes,
number of route codes, transient data queue names, and number of TDQs) are the
only ones that your program can change.
Exit XMEOUT
When invoked
Before the message domain sends a CICS message to its destination.
Exit-specific parameters
UEPTRANID
Address of the 4-byte transaction ID.
UEPUSER
Address of the 8-byte user ID.
UEPTERM
Address of the 4-byte ID of the terminal under which the current
transaction is running. If the current transaction is not associated
with a terminal, the addressed field contains hexadecimal zeroes.
UEPPROG
Address of the 8-byte application program name, or nulls if there is
no current application.
message domain exit
Chapter 1. Global user exit programs 153