Getting a message

This example demonstrates how to use the MQGET call to remove a message from a queue. This extract is not taken from the sample applications supplied with WebSphere(R) MQ.

     %INCLUDE SYSLIB(CMQP);
     %INCLUDE SYSLIB(CMQEPP);
     :
/*********************************************************/
/* WORKING STORAGE DECLARATIONS                          */
/*********************************************************/
     DCL COMPCODE                  BINARY FIXED (31);
     DCL REASON                    BINARY FIXED (31);
     DCL HCONN                     BINARY FIXED (31);
     DCL HOBJ                      BINARY FIXED (31);
     DCL BUFFLEN                   BINARY FIXED (31);
     DCL DATALEN                   BINARY FIXED (31);
     DCL BUFFER                    CHAR(80);
     
  ·
  ·
  ·
/*********************************************************/
/* LOCAL COPY OF MESSAGE DESCRIPTOR AND                  */
/* GET MESSAGE OPTIONS                                   */
/*********************************************************/
     DCL 1 LMQMD  LIKE MQMD;
     DCL 1 LMQGMO LIKE MQGMO;
     
  ·
  ·
  ·
/*********************************************************/ /* SET UP MESSAGE DESCRIPTOR AS REQUIRED. */ /* MSGID AND CORRELID IN MQMD SET TO NULLS SO FIRST */ /* AVAILABLE MESSAGE WILL BE RETRIEVED. */ /*********************************************************/ LMQMD.MSGID = MQMI_NONE; LMQMD.CORRELID = MQCI_NONE; /*********************************************************/ /* SET UP GET MESSAGE OPTIONS AS REQUIRED. */ /*********************************************************/ LMQGMO.OPTIONS = MQGMO_NO_SYNCPOINT; /*********************************************************/ /* SET UP LENGTH OF MESSAGE BUFFER. */ /*********************************************************/ BUFFLEN = LENGTH(BUFFER); /*********************************************************/ /* */ /* HCONN WAS SET BY PREVIOUS MQCONN REQUEST. */ /* HOBJ WAS SET BY PREVIOUS MQOPEN REQUEST. */ /* */ /*********************************************************/ CALL MQGET (HCONN, HOBJ, LMQMD, LMQGMO, BUFFERLEN, BUFFER, DATALEN, COMPCODE, REASON); /*********************************************************/ /* TEST THE COMPLETION CODE OF THE GET CALL. */ /* IF THE CALL HAS FAILED ISSUE AN ERROR MESSAGE */ /* SHOWING THE COMPLETION CODE AND THE REASON CODE. */ /*********************************************************/ IF COMPCODE ¬= MQCC_OK THEN DO; : : : CALL ERROR_ROUTINE; END;