If the problem appears to involve one particular message flow, consider whether it has run successfully before.
Before you answer Yes to this question, consider the following:
If so, it is likely that the error lies somewhere in the new or modified part of the flow. Examine the changes and see if you can find an obvious reason for the problem.
Did the problem occur when you used part of the message flow that had never been invoked before? If so, it is likely that the error lies in that part. Try to find out what the message flow was doing when it failed; use user tracing (see User trace), trace nodes (see Trace node), and the workbench's debugger function (see Debugging a message flow).
If you have run a message flow successfully on many previous occasions, check the current queue status and the files that were being processed when the error occurred. It is possible that they contain some unusual data value that invokes a rarely-used path in the message flow.
If a message with an unexpected message format has been put onto a queue (for example, a message from a queue manager on a different platform) it might require data conversion or a different form of processing. Also, check whether you have changed any of the message formats used?
Is something different about the way that your system is set up that is causing the problem? For example, have the queues been defined with the same maximum message length or priority? Are there differences in the databases used, or their setup?
If your answer is No to the question "Has the message flow run successfully before?", examine your message flow carefully to see if you can find any of the following errors:
There might be translation or compilation problems with loadable implementation library (LIL) files. Before you look at the code, examine the output from the translator, the compiler or assembler, and the linkage editor, to see if any errors have been reported. Fix any errors to make the user-defined extension work.
If the documentation shows that each of these steps was completed without error, consider the coding logic of the message flow, message set, or user-defined extension. Do the symptoms of the problem indicate the function that is failing and, therefore, the piece of code in error? See User-defined extensions for more information.
Your message flow might be losing errors by incorrect use of the failure terminals on primitive nodes. If you use the failure terminals, make sure that you handle errors adequately. See Handling errors in message flows for more information about failure terminals.
Related concepts
Trace
Related tasks
Handling errors in message flows
Diagnosing errors
Making initial checks
Problems when developing message flows
Related reference
User trace
Notices |
Trademarks |
Downloads |
Library |
Support |
Feedback
![]() ![]() |
au13570_ |