MQTMC2 - Trigger message 2 (character format)
When a trigger-monitor application retrieves a trigger message (MQTM) from an initiation queue, the trigger monitor might need to pass some or all of the information in the trigger message to the application that the trigger monitor starts.
Information that the started application might need includes
QName, TriggerData, and
UserData. The trigger monitor application can pass the MQTM
structure directly to the started application, or pass an MQTMC2 structure instead, depending on
what is permitted by the environment and convenient for the started application.
This structure is part of the IBM® MQ Trigger Monitor Interface (TMI), which is one of the IBM MQ framework interfaces.
Character set and encoding
Character data in MQTMC2 is in the character set of the local queue manager; this is given by the CodedCharSetId queue manager attribute.
Usage
On z/OS®, for an MQAT_IMS
application that is started using the CSQQTRMN application, an MQTMC2 structure is made available to
the started application.
On IBM i, the trigger monitor
application provided with IBM MQ passes an MQTMC2
structure to the started application.
Fields
| Field name and description | Name of constant | Initial value (if any) of constant |
|---|---|---|
| StrucId (structure identifier) | MQTMC_STRUC_ID | 'TMC¬' |
| Version (structure version number) | MQTMC_VERSION_2 | '¬¬¬2' |
| QName (name of triggered queue) | None | Null string or blanks |
| ProcessName (name of process object) | None | Null string or blanks |
| TriggerData (trigger data) | None | Null string or blanks |
| ApplType (application type) | None | Blanks |
| ApplId (application identifier) | None | Null string or blanks |
| EnvData (environment data) | None | Null string or blanks |
| UserData (user data) | None | Null string or blanks |
| QMgrName (queue manager name) | None | Null string or blanks |
|
Notes:
|
||
Language declarations
C declaration for MQTMC2
typedef struct tagMQTMC2 MQTMC2;
struct tagMQTMC2 {
MQCHAR4 StrucId; /* Structure identifier */
MQCHAR4 Version; /* Structure version number */
MQCHAR48 QName; /* Name of triggered queue */
MQCHAR48 ProcessName; /* Name of process object */
MQCHAR64 TriggerData; /* Trigger data */
MQCHAR4 ApplType; /* Application type */
MQCHAR256 ApplId; /* Application identifier */
MQCHAR128 EnvData; /* Environment data */
MQCHAR128 UserData; /* User data */
MQCHAR48 QMgrName; /* Queue manager name */
};
COBOL declaration for MQTMC2
** MQTMC2 structure
10 MQTMC2.
** Structure identifier
15 MQTMC2-STRUCID PIC X(4).
** Structure version number
15 MQTMC2-VERSION PIC X(4).
** Name of triggered queue
15 MQTMC2-QNAME PIC X(48).
** Name of process object
15 MQTMC2-PROCESSNAME PIC X(48).
** Trigger data
15 MQTMC2-TRIGGERDATA PIC X(64).
** Application type
15 MQTMC2-APPLTYPE PIC X(4).
** Application identifier
15 MQTMC2-APPLID PIC X(256).
** Environment data
15 MQTMC2-ENVDATA PIC X(128).
** User data
15 MQTMC2-USERDATA PIC X(128).
** Queue manager name
15 MQTMC2-QMGRNAME PIC X(48).
PL/I declaration for MQTMC2
dcl
1 MQTMC2 based,
3 StrucId char(4), /* Structure identifier */
3 Version char(4), /* Structure version number */
3 QName char(48), /* Name of triggered queue */
3 ProcessName char(48), /* Name of process object */
3 TriggerData char(64), /* Trigger data */
3 ApplType char(4), /* Application type */
3 ApplId char(256), /* Application identifier */
3 EnvData char(128), /* Environment data */
3 UserData char(128), /* User data */
3 QMgrName char(48); /* Queue manager name */
High Level Assembler declaration for MQTMC2
MQTMC2 DSECT
MQTMC2_STRUCID DS CL4 Structure identifier
MQTMC2_VERSION DS CL4 Structure version number
MQTMC2_QNAME DS CL48 Name of triggered queue
MQTMC2_PROCESSNAME DS CL48 Name of process object
MQTMC2_TRIGGERDATA DS CL64 Trigger data
MQTMC2_APPLTYPE DS CL4 Application type
MQTMC2_APPLID DS CL256 Application identifier
MQTMC2_ENVDATA DS CL128 Environment data
MQTMC2_USERDATA DS CL128 User data
MQTMC2_QMGRNAME DS CL48 Queue manager name
*
MQTMC2_LENGTH EQU *-MQTMC2
ORG MQTMC2
MQTMC2_AREA DS CL(MQTMC2_LENGTH)
Visual Basic declaration for MQTMC2
Type MQTMC2
StrucId As String*4 'Structure identifier'
Version As String*4 'Structure version number'
QName As String*48 'Name of triggered queue'
ProcessName As String*48 'Name of process object'
TriggerData As String*64 'Trigger data'
ApplType As String*4 'Application type'
ApplId As String*256 'Application identifier'
EnvData As String*128 'Environment data'
UserData As String*128 'User data'
QMgrName As String*48 'Queue manager name'
End Type