|  | 
 | ||||
|  | ||||||
| Related Topics | Other Library Functions | |||||
| function | mq-put | 
define external function mq-put object value mq-object object message-descriptor value mq-message-descriptor MQMD put-options value mq-put-message-options MQPMO message value stream message
Argument definitions
Use mq-put to place a message on one or more queues.
 You must include the following line at the beginning of your OmniMark program:
include "ommqi.xin"
The MQSeries queue represented by object must be open (else external exception OMMQI0013)
This function corresponds with the IBM MQSeries function MQPUT. See the IBM MQSeries documentation for MQPUT for more information.
The queue parameter maps to both the Hconn and Hobj parameters of MQPUT.
The BufferLength parameter in the IBM MQSeries C interface is not included in the OmniMark MQSeries interface as it is calculated from the message parameter.
The CompCode and Reason parameters of MQPUT are integrated into the OMMQI error handling.
Setting of MQPMR structures inside the the MQPMO (mq-put-message-options) structure is not supported in this version of the OmniMark MQSeries interface.
 Put a message on a single queue.
  process
    local mq-connection        a-connection
    local mq-object                a-object
    local stream                  od-fields   variable
    local mq-object-descriptor    MQOD
    local stream                  md-fields   variable
    local mq-message-descriptor   MQMD
    local stream                  pmo-fields  variable
    local mq-put-message-options  MQPMO
  
    ; Connect to the default queue-manager
    set a-connection to mq-connect
  
    ; Set up the MQOD structure (putting to queue default)
    set new od-fields {"ObjectName"} to "default"
    mq-set-object-descriptor MQOD to od-fields
  
    ; open the queue
    set a-object to mq-open connection          a-connection
                           object-descriptor MQOD
                           options           MQOO_OUTPUT
  
    ; set up the MQPMO structure
    set new pmo-fields {"Options"} to
        "d" % (MQPMO_NEW_MSG_ID union MQPMO_NEW_CORREL_ID)
    mq-set-put-message-options MQPMO to pmo-fields
  
    ; set up the MQMD structure
    set new md-fields {"Format"} to MQFMT_STRING
    mq-set-message-descriptor MQMD to md-fields
  
    ; put the message on the queue
    mq-put object              a-object
           message-descriptor MQMD
           put-options        MQPMO
           message            "A simple mqput message"
 Put a message on multiple queues using a distribution list
    local mq-queue-manager        a-manager
    local mq-queue                a-queue
    local mq-object-descriptor    MQOD
    local stream                  od-fields        variable
    local stream                  or-shelf variable
    local mq-object-record        object-records   variable
    local mq-response-record      error-records    variable
    local stream                  md-fields        variable
    local mq-message-descriptor   MQMD
    local stream                  pmo-fields       variable
    local mq-put-message-options  MQPMO
  
    ; Need version 2 MQOD for distribution lists
    set new od-fields {"Version"} to "2"
    mq-set-object-descriptor MQOD to od-fields
  
    ; Add a object-record to the or-shelf
    set new or-shelf {"ObjectName"} to "default"
    new object-records
    mq-set-object-record object-records to or-shelf
  
    ; Add another object-record to the objects-records shelf
    set or-shelf {"ObjectName"} to "postcard"
    new object-records
    mq-set-object-record object-records to or-shelf
  
    ; insert the object-records shelf into the MQOD
    mq-set-mqor-of-mqod object-records of MQOD
  
    ; connect to default queue-manager
    set a-manager to mq-connect
  
    ; Open using the distribution list previously defined
    set a-queue to mq-open manager           a-manager
                           object-descriptor MQOD
                           options           MQOO_OUTPUT
  
    ; Set up the MQPMO structure
    set new pmo-fields {"Options"} to
            "d" % (MQPMO_NEW_MSG_ID union MQPMO_NEW_CORREL_ID)
    mq-set-put-message-options MQPMO to pmo-fields
  
    ; Set up the MQMD Structure
    set new md-fields {"Format"} to MQFMT_STRING
    mq-set-message-descriptor MQMD to md-fields
  
    ; Put the message to both queues
    mq-put queue              a-queue
           message-descriptor MQMD
           put-options        MQPMO
           message            "A multi-queue message"
| Related Topics | Other Library Functions | 
Copyright © Stilo International plc, 1988-2010.