Inquiring about the attributes of an object

This example demonstrates how to use the MQINQ call to inquire about the attributes of a queue. This extract is taken from the Queue Attributes sample application (program CSQ4CVC1) supplied with WebSphere MQ for z/OS. For the names and locations of the sample applications on other platforms, see Sample programs (all platforms except z/OS).



  ·
  ·
  ·
* -------------------------------------------------------* WORKING-STORAGE SECTION. * -------------------------------------------------------* * * W02 - MQM API fields * 01 W02-SELECTORCOUNT PIC S9(9) BINARY VALUE 2. 01 W02-INTATTRCOUNT PIC S9(9) BINARY VALUE 2. 01 W02-CHARATTRLENGTH PIC S9(9) BINARY VALUE ZERO. 01 W02-CHARATTRS PIC X VALUE LOW-VALUES. 01 W02-HCONN PIC S9(9) BINARY VALUE ZERO. 01 W02-HOBJ PIC S9(9) BINARY. 01 W02-COMPCODE PIC S9(9) BINARY. 01 W02-REASON PIC S9(9) BINARY. 01 W02-SELECTORS-TABLE. 05 W02-SELECTORS PIC S9(9) BINARY OCCURS 2 TIMES 01 W02-INTATTRS-TABLE. 05 W02-INTATTRS PIC S9(9) BINARY OCCURS 2 TIMES * * CMQODV defines the object descriptor (MQOD). * 01 MQM-OBJECT-DESCRIPTOR. COPY CMQODV. * * CMQV contains constants (for setting or testing field * values) and return codes (for testing the result of a * call). * 01 MQM-CONSTANTS. COPY CMQV SUPPRESS. * -------------------------------------------------------* PROCEDURE DIVISION. * -------------------------------------------------------* * * Get the queue name and open the queue. *
  ·
  ·
  ·
* * Initialize the variables for the inquiry call: * - Set W02-SELECTORS-TABLE to the attributes whose * status is required * - All other variables are already set * MOVE MQIA-INHIBIT-GET TO W02-SELECTORS(1). MOVE MQIA-INHIBIT-PUT TO W02-SELECTORS(2).
*
*    Inquire about the attributes.
*
     CALL 'MQINQ' USING W02-HCONN,
                        W02-HOBJ,
                        W02-SELECTORCOUNT,
                        W02-SELECTORS-TABLE,
                        W02-INTATTRCOUNT,
                        W02-INTATTRS-TABLE,
                        W02-CHARATTRLENGTH,
                        W02-CHARATTRS,
                        W02-COMPCODE,
                        W02-REASON.
*
* Test the output from the inquiry:
*
* - If the completion code is not OK, display an error
*   message showing the completion and reason codes
*
* - Otherwise, move the correct attribute status into
*   the relevant screen map fields
*
     IF W02-COMPCODE NOT = MQCC-OK
        MOVE 'MQINQ'       TO M01-MSG4-OPERATION
        MOVE W02-COMPCODE  TO M01-MSG4-COMPCODE
        MOVE W02-REASON    TO M01-MSG4-REASON
        MOVE M01-MESSAGE-4 TO M00-MESSAGE
*
     ELSE
*       Process the changes.

  ·
  ·
  ·
END-IF.
  ·
  ·
  ·