Create a dynamic queue
This example demonstrates how to use the MQOPEN call to create a dynamic 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 OPTIONS BINARY FIXED (31); ⋮ DCL MODEL_QUEUE_NAME CHAR(48) INIT('PL1.REPLY.MODEL'); DCL DYNAMIC_NAME_PREFIX CHAR(48) INIT('PL1.TEMPQ.*'); DCL DYNAMIC_QUEUE_NAME CHAR(48) INIT(' '); ⋮ /*********************************************************/ /* LOCAL COPY OF OBJECT DESCRIPTOR */ /*********************************************************/ DCL 1 LMQOD LIKE MQOD; ⋮ /*********************************************************/ /* SET UP OBJECT DESCRIPTOR FOR OPEN OF REPLY QUEUE */ /*********************************************************/ LMQOD.OBJECTTYPE =MQOT_Q; LMQOD.OBJECTNAME = MODEL_QUEUE_NAME; LMQOD.DYNAMICQNAME = DYNAMIC_NAME_PREFIX; OPTIONS = MQOO_INPUT_EXCLUSIVE; CALL MQOPEN (HCONN, LMQOD, OPTIONS, HOBJ, COMPCODE, REASON); /*********************************************************/ /* TEST THE COMPLETION CODE OF THE OPEN CALL. */ /* IF THE CALL HAS FAILED ISSUE AN ERROR MESSAGE */ /* SHOWING THE COMPLETION CODE AND THE REASON CODE. */ /* IF THE CALL HAS SUCCEEDED THEN EXTRACT THE NAME OF */ /* THE NEWLY CREATED DYNAMIC QUEUE FROM THE OBJECT */ /* DESCRIPTOR. */ /*********************************************************/ IF COMPCODE ¬= MQCC_OK THEN DO; ⋮ CALL ERROR_ROUTINE; END; ELSE DYNAMIC_QUEUE_NAME = LMQOD_OBJECTNAME;Parent topic: PL/I examples