Messages contain unexpected or corrupted information on z/OS
Use this topic to understand some of the issues that can cause unexpected or corrupted output on z/OS .
If the information contained in the message is not what the application was expecting, or has been corrupted in some way, consider the following points:
- Has the application, or the application that put the message on to the queue changed?
Ensure that all changes are simultaneously reflected on all systems that need to be aware of the change.
For example, a copybook formatting the message might have been changed, in which case, both applications have to be recompiled to pick up the changes. If one application has not been recompiled, the data will appear corrupt to the other.
Check that no external source of data, such as a VSAM data set, has changed. This could also invalidate your data if any necessary recompilations have not been done. Also check that any CICS maps and TSO panels that we are using for input of message data have not changed.
- Is an application sending messages to the wrong queue?
Check that the messages the application is receiving are not intended for an application servicing a different queue. If necessary, change your security definitions to prevent unauthorized applications from putting messages on to the wrong queues.
If the application has used an alias queue, check that the alias points to the correct queue.
If you altered the queue to make it a cluster queue, it might now contain messages from different application sources.
- Has the trigger information been specified correctly for this queue?
- Check that the application should have been started, or should a different application have been started?
- Has data conversion been performed correctly?
If a message has come from a different queue manager, are the CCSIDs and encoding the same, or does data conversion need to be performed.
Check that the Format field of the MQMD structure corresponds with the content of the message. If not, the data conversion process might not have been able to deal with the message correctly.
If these checks do not enable you to solve the problem, check the application logic, both for the program sending the message, and for the program receiving it.
Parent topic: Dealing with incorrect output on z/OS