I would like to hope the context is not the underlying problem.
This part of your code
return “{ERROR $messageHandle}
has an unbalanced double quote.
Here is an example of working code snippet, from a different context than yours, for doing what you described (looks mostly the same but uses list command to retrun disposition.
# If we get here, the Bed field does not exist or is
# not all digits
# Tell them about it. Use extra line feeds to make it stand
# out in the log. It may help to put a copy of the
# message in the log.
echo “n$myname: Incorrect or missing PV1 field 3, subfield 3!”
echo “To the Error Database. Msg is:nn$msgn”
# *ANYTIME* you send a mesasge to the Error Database on purpose,
# *ALWAYS* put the reason why in the USER meta data field.
# The ERROR return forces a Tcl error and thereby forces the
# message to the error database. So, a user must be able to
# distiquish between real and forced errors.
# Note continuation of the command. The “” will insert a space
msgmetaset $mh USERDATA “Incorrect or missing PV1.3.3
(Bed Location)”
# Return the ERROR disposition and force to Error Database
set dispList [list “ERROR $mh”]
return $dispList
Another thought that came to mind is that only the inbound side (ex: inbound thread TPS, pre-route, xlate) of an integration typically can write things in the recovery DB, so if your proc is on an outbound thread then that could also come into play.
In fact, we don’t even turn on recovery DB for our outbound threads since they never write to the recover DB anyway.
Russ Ross
RussRoss318@gmail.com