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 IBM 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;Parent topic: PL/I examples