This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.
MainView for CICS
MainView for CICS
Why is '>MQERR<' listed as a resource name for some MQ transactions in the CTASK and CHIST related views?
The MQ function counting and timing processing within MainView for CICS operates on the concept of an “MQ Open Handle”.
That is because the GET, PUT, CLOSE, etc., functions do not have access to the MQ “Object Descriptor” block that contains the actual queue name.
The OPEN and the PUT1 functions (a PUT1 is a combination of OPEN, PUT, and CLOSE) do have the Object Descriptor block and will return the “Open Handle”.
This 'Open Handle' is used on the subsequent GET, PUT, CLOSE, etc., commands to identify the proper MQ queue that is to be accessed.
I/O Operations that do have an Object Descriptor and have their own request place holder (such as OPEN, CLOSE, GET, PUT and PUT1) are individually maintained.
Other I/O Operations that do not have individual place holders (such as SET, COMMIT, INQUIRE, INQUIREL and BACK) are be placed in the “OTHER” place holder.
When processing the OPEN or PUT1 functions, regardless if the request works or fails, the count and times are correctly attributed to the correct MQ queue resource since the resource entry is created or updated based on the actual queue name. Once an OPEN is processed, subsequent functions (GET, PUT, CLOSE, etc.) operate using the 'Open Handle' returned from the OPEN. In the case of an OPEN failure, the 'Open Handle' will be zero. When subsequent I/O operations are issued within the user application for the queue that failed on the OPEN, the “Open Handle” is zero and we are not able to attribute these operations to the correct queue name. In such a case, MainView for CICS will create (or update) an internally built entry named '>MQERR<'. This entry will contain the function count and time for all MQ functions that were processed with an 'Open Handle' that is not recognized.
Many of these are actually all failed requests and indicates a possible logic error in the user program.