MQ record part in EGL source format

You can declare MQ record parts in a program file or definitions file. For an overview of those files, 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 = queueName

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

getOptions = getRecordName

Identifies a program variable (a basic record) that is used as a get options record. For details, see Options records for MQ records.

putOptions = putRecordName

Identifies a program variable (a basic record) that is used as a put options record. For details, see Options records for MQ records.

openOptions = openRecordName

Identifies a program variable (a basic record) that is used as an open options record. For details, see Options records for MQ records.

msgDescriptor = msgDRecordName

Identifies a program variable (a basic record) that is used as a message descriptor. For details, see Options records for MQ records.

queueDescriptor = QDRecordName

Identifies a program variable (a basic record) that is used as a queue descriptor. For details, see Options records for MQ records.

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 = lengthItem

The length item, as described in MQ record properties.

numElementsItem = numElementsItem

The number of elements item, as described in MQ record properties.

structureItem

A structure item, 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 and constants
Typedef

Related tasks
Syntax diagram

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 item in EGL source format