Putting a message using MQPUT1

This example demonstrates how to use the MQPUT1 call. This extract is not taken from the sample applications supplied with WebSphere(R) MQ.


%INCLUDE SYSLIB(CMQEPP);
%INCLUDE SYSLIB(CMQP);
:
/*********************************************************/
/* WORKING STORAGE DECLARATIONS                          */
/*********************************************************/
DCL COMPCODE            BINARY FIXED (31);
DCL REASON              BINARY FIXED (31);
DCL HCONN               BINARY FIXED (31);
DCL OPTIONS             BINARY FIXED (31);
DCL BUFFLEN             BINARY FIXED (31);
DCL BUFFER              CHAR(80);

  ·
  ·
  ·
DCL REPLY_TO_QUEUE CHAR(48) INIT('PL1.REPLY.QUEUE'); DCL QUEUE_NAME CHAR(48) INIT('PL1.LOCAL.QUEUE'); DCL PL1_TEST_MESSAGE CHAR(80) INIT('***** THIS IS ANOTHER TEST MESSAGE *****');
  ·
  ·
  ·
/*********************************************************/ /* LOCAL COPY OF OBJECT DESCRIPTOR, MESSAGE DESCRIPTOR */ /* AND PUT MESSAGE OPTIONS */ /*********************************************************/ DCL 1 LMQOD LIKE MQOD; DCL 1 LMQMD LIKE MQMD; DCL 1 LMQPMO LIKE MQPMO;
  ·
  ·
  ·
/*********************************************************/ /* SET UP OBJECT DESCRIPTOR AS REQUIRED. */ /*********************************************************/ LMQOD.OBJECTTYPE = MQOT_Q; LMQOD.OBJECTNAME = QUEUE_NAME; /*********************************************************/ /* SET UP MESSAGE DESCRIPTOR AS REQUIRED. */ /*********************************************************/ LMQMD.MSGTYPE = MQMT_REQUEST; LMQMD.PRIORITY = 5; LMQMD.PERSISTENCE = MQPER_PERSISTENT; LMQMD.REPLYTOQ = REPLY_TO_QUEUE; LMQMD.REPLYTOQMGR = ' '; LMQMD.MSGID = MQMI_NONE; LMQMD.CORRELID = MQCI_NONE;
/*********************************************************/
/* SET UP PUT MESSAGE OPTIONS AS REQUIRED                */
/*********************************************************/
     LMQPMO.OPTIONS = MQPMO_NO_SYNCPOINT;
 
/*********************************************************/
/* SET UP LENGTH OF MESSAGE BUFFER AND THE MESSAGE       */
/*********************************************************/
     BUFFLEN = LENGTH(BUFFER);
     BUFFER = PL1_TEST_MESSAGE;
 
     CALL MQPUT1 (HCONN,
                  LMQOD,
                  LMQMD,
                  LMQPMO,
                  BUFFLEN,
                  BUFFER,
                  COMPCODE,
                  REASON);
 
/*********************************************************/
/* TEST THE COMPLETION CODE OF THE PUT1 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;