Writing a message to the IMS bridge in C++
Example program code for writing a message to the IMS bridge.
Messages sent to the IBM® MQ - IMS bridge might use a special header. The IMS bridge header is prefixed to regular message data.
ImqQueueManager mgr; // The queue manager.
ImqQueue queueBridge; // IMS bridge message queue.
ImqMessage msg; // Outgoing message.
ImqIMSBridgeHeader header; // IMS bridge header.
// Set up the message.
//
// Here we are constructing a message with format
// MQFMT_IMS_VAR_STRING, and appropriate data.
//
msg.write( 2, /* ? */ ); // Total message length.
msg.write( 2, /* ? */ ); // IMS flags.
msg.write( 7, /* ? */ ); // Transaction code.
msg.write( /* ? */, /* ? */ ); // String data.
msg.setFormat( MQFMT_IMS_VAR_STRING ); // The format attribute.
// Set up the IMS bridge header information.
//
// The reply-to-format is often specified.
// Other attributes can be specified, but all have default values.
//
header.setReplyToFormat( /* ? */ );
// Insert the IMS bridge header into the message.
//
// This will:
// 1) Insert the header into the message buffer, before the existing
// data.
// 2) Copy attributes out of the message descriptor into the header,
// for example the IMS bridge header format attribute will now
// be set to MQFMT_IMS_VAR_STRING.
// 3) Set up the message attributes to describe the header, in
// particular setting the message format to MQFMT_IMS.
//
msg.writeItem( header );
// Send the message to the IMS bridge queue.
//
queueBridge.setConnectionReference( mgr );
queueBridge.setName( /* ? */ );
queueBridge.put( msg );