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:
- 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.