MQ record part in EGL source format

You can declare MQ record parts in an EGL source file. For an overview of that file, see EGL source format. For an overview of how EGL interacts with MQSeries®, see MQSeries support.

An example of an MQ record part is as follows:
  Record myMQRecordPart type mqRecord
    {
      queueName = "myQueue"
    }
    10 myField01 CHAR(2);
    10 myField02 CHAR(78);
  end
The syntax diagram for an MQ record part is as follows:

Syntax diagram for an MQ record part
Record recordPartName mqRecord
Identifies the part as being of type mqRecord and specifies the name. For rules, see Naming conventions.
queueName = "msgQueueName"
The message queue name, which is the logical queue name and usually not the name of the physical queue. For details on the format of your input, see MQ record properties.
getOptionsRecord = "getRecordName"
Identifies a program variable (a basic record) that is used as a get options record. For details, see Options records for MQ records. This property was formerly the getOptions property.
putOptionsRecord = "putRecordName"
Identifies a program variable (a basic record) that is used as a put options record. For details, see Options records for MQ records. This property was formerly the putOptions property.
openOptionsRecord = "openRecordName"
Identifies a program variable (a basic record) that is used as an open options record. For details, see Options records for MQ records. This property was formerly the openOptions property.
msgDescriptorRecord = "msgDRecordName"
Identifies a program variable (a basic record) that is used as a message descriptor. For details, see Options records for MQ records. This property was formerly the msgDescriptor property.
queueDescriptorRecord = "QDRecordName"
Identifies a program variable (a basic record) that is used as a queue descriptor. For details, see Options records for MQ records. This property was formerly the queueDescriptor property.
includeMsgInTransaction = yes, includeMsgInTransaction = no
If this property is set to yes (the default), each of the record-specific messages is embedded in a transaction, and your code can commit or roll back that transaction. For details on the implications of your choice, see MQSeries support.
openQueueExclusive = no, openQueueExclusive = yes
If this property is set to yes, your code has the exclusive ability to read from the message queue; otherwise, other programs can read from the queue. The default is no. This property is equivalent to the MQSeries option MQOO_INPUT_EXCLUSIVE.
lengthItem = "lengthField"
The length field, as described in MQ record properties.
numElementsItem = "numElementsField"
The number of elements field, as described in MQ record properties.
structureField
A structure field, as described in Structure item in EGL source format.

Related concepts
EGL projects, packages, and files
References to parts
MQSeries support
Parts
Record parts
References to variables in EGL
Typedef

Related tasks
Syntax diagram for EGL statements and commands

Related reference
Arrays
DataItem part in EGL source format
EGL source format
Function part in EGL source format
Indexed record part in EGL source format
MQ record properties
Naming conventions
Options records for MQ records
Primitive types
Program part in EGL source format
Relative record part in EGL source format
Serial record part in EGL source format
SQL record part in EGL source format
Structure field in EGL source format

Feedback
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.