MQTM構造体 - トリガメッセージ

MQTM構造体は,次のフィールドから構成されます。

フィールド(データタイプ)内容初期値
StrucId(MQCHAR4型)構造体識別子MQTM_STRUC_ID
Version(MQLONG型)構造体バージョン番号MQTM_VERSION_1
QName(MQCHAR48型)イベント発生キュー名ヌル文字列/空白
ProcessName(MQCHAR48型)プロセス名ヌル文字列/空白
TriggerData(MQCHAR64型)トリガデータヌル文字列/空白
ApplType(MQLONG型)アプリケーションタイプ0
ApplId(MQCHAR256型)アプリケーション識別子ヌル文字列/空白
EnvData(MQCHAR128型)環境データヌル文字列/空白
UserData(MQCHAR128型)ユーザデータヌル文字列/空白

概要

目的

この構造体には,トリガメッセージのデータが記述されます。キューマネジャは,トリガイベントが発生したときに,トリガモニタアプリケーションへトリガメッセージを通知します。

フォーマット名

MQFMT_TRIGGER

文字セットおよびマシンコード

MQTM構造体の文字データは,MQTM構造体を生成するキューマネジャの文字セットに従います。MQTM構造体の数値データは,MQTM構造体を生成するキューマネジャのマシンコードに従います。

MQTM構造体の文字セットおよびマシンコードは,次に示す構造体中のCodedCharSetIdおよびEncodingフィールドで指定されます。

使用方法

トリガモニタアプリケーションがほかのアプリケーションを起動するとき,トリガメッセージ内の幾つかの情報を,そのアプリケーションに渡す必要があります。そのアプリケーションで必要となる情報には,QName,TriggerData,UserDataなどがあります。トリガによるアプリケーション開始については,マニュアル「TP1/Message Queue プログラム作成の手引」を参照してください。

トリガメッセージのMQMD構造体

トリガメッセージのMQMD構造体のフィールドには,次の値が設定されます。これは,トリガメッセージを取り出したMQGET命令の,MsgDesc引数で返される値です。

MQMD構造体のフィールド
StrucIdMQMD_STRUC_ID
VersionMQMD_VERSION_1
ReportMQRO_NONE
MsgTypeMQMT_DATAGRAM
ExpiryMQEI_UNLIMITED
FeedbackMQFB_NONE
EncodingMQENC_NATIVE
CodedCharSetIdキューマネジャのCodedCharSetId属性の値
FormatMQFMT_TRIGGER
PriorityMQPRI_PRIORITY_AS_Q_DEF(イニシエーションキューに定義された,省略時のメッセージ優先度)
PersistenceMQPER_NOT_PERSISTENT
MsgIdユニークな値
CorrelIdMQCI_NONE
BackoutCount0
ReplyToQ空白
ReplyToQMgr空白
UserIdentifier空白
AccountingTokenMQACT_NONE
ApplIdentityData空白
PutApplTypeMQAT_QMGR
PutApplNameキューマネジャ名の先頭から28文字
PutDateトリガメッセージを通知した日付
PutTimeトリガメッセージを通知した時刻
ApplOriginData空白

フィールド

構造体を構成するフィールドについて,アルファベット順に説明します。

● ApplId(MQCHAR256型) アプリケーション識別子

起動するアプリケーションを識別する文字列です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,ProcessNameのプロセスオブジェクトのApplId属性の値を設定します。キューマネジャはこの内容を特に使用しません。

ApplIdの意味は,トリガモニタアプリケーションによって決まります。WebSphere MQが提供するトリガモニタでは,ApplIdを実行プログラムの名前にする必要があります。

このフィールドの長さは,MQ_PROCESS_APPL_ID_LENGTHに定義されています。

このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,256個の空白です。

● ApplType(MQLONG型) アプリケーションタイプ

起動するアプリケーションの種類です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,ProcessNameのプロセスオブジェクトのApplType属性の値を設定します。キューマネジャはこの内容を特に使用しません。

ApplTypeフィールドには,次の標準の値があります。また,ユーザが定義した値も使用できます。ただし,ユーザが定義できる値の範囲はMQAT_USER_FIRSTからMQAT_USER_LASTまでです。

MQAT_AIX:AIXアプリケーション
MQAT_CICS:CICSトランザクション
MQAT_DOS:PC-DOS上のWebSphere MQクライアントアプリケーション
MQAT_IMS:IMSアプリケーション
MQAT_MVS:MVSまたはTSOアプリケーション
MQAT_OPEN_TP1:OpenTP1アプリケーション
MQAT_OS2:OS/2またはプレゼンテーションマネジャアプリケーション
MQAT_OS400:OS/400アプリケーション
MQAT_TMS_4V:TMS-4V/SPアプリケーション
MQAT_UNIX:UNIXアプリケーション
MQAT_WINDOWS:16ビットWindowsアプリケーション
MQAT_WINDOWS_NT:32ビットWindowsアプリケーション
MQAT_XDM:XDMアプリケーション
MQAT_USER_FIRST:ユーザが定義できるアプリケーションタイプの最小値
MQAT_USER_LAST:ユーザが定義できるアプリケーションタイプの最大値

このフィールドの初期値は0です。

● EnvData(MQCHAR128型) 環境データ

起動するアプリケーションに関連する環境についての文字データです。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャは,このフィールドにProcessNameのプロセスオブジェクトのEnvData属性の値を設定します。キューマネジャはこの内容を特に使用しません。

このフィールドの長さは,MQ_PROCESS_ENV_DATA_LENGTHに定義されています。

このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,128個の空白です。

● ProcessName(MQCHAR48型) プロセス名

トリガイベントが発生したキューのプロセスオブジェクトの名称です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,QNameのキューのProcessName属性の値を設定します。

フィールドの長さより名称が短い場合,余りが空白で埋められます。ヌル文字は使用されません。このフィールドの長さは,MQ_PROCESS_NAME_LENGTHに定義されています。

このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,48個の空白です。

● QName(MQCHAR48型) イベント発生キュー名

トリガイベントが発生したキューの名称です。このキューの名称は,トリガモニタアプリケーションによって起動されたアプリケーションで使用します。キューマネジャは,このフィールドにトリガイベントが発生したキューのQName属性の値を設定します。

フィールドの長さより名称が短い場合,余りが空白で埋められます。ヌル文字は使用されません。このフィールドの長さは,MQ_Q_NAME_LENGTHに定義されています。

このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,48個の空白です。

● StrucId(MQCHAR4型) 構造体識別子

次の値を取ります。

MQTM_STRUC_ID
トリガメッセージの構造体識別子
C言語では,MQTM_STRUC_ID_ARRAYも定義されています。これは,MQTM_STRUC_IDと同じ値です。ただし,文字列ではなく文字の配列として定義されています。

このフィールドの初期値はMQTM_STRUC_IDです。

● TriggerData(MQCHAR64型) トリガデータ

任意の形式のデータです。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャはこのフィールドに,QNameのキューのTriggerData属性の値を設定します。キューマネジャはこの内容を特に使用しません。

このフィールドの長さは,MQ_TRIGGER_DATA_LENGTHに定義されています。

このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,64個の空白です。

● UserData(MQCHAR128型) ユーザデータ

起動するアプリケーションに関するユーザ任意の情報です。トリガメッセージを取り出したトリガモニタアプリケーションで使用します。キューマネジャは,このフィールドにProcessNameのプロセスオブジェクトのUserData属性の値を設定します。キューマネジャはこの内容を特に使用しません。

このフィールドの長さは,MQ_PROCESS_USER_DATA_LENGTHに定義されています。

このフィールドの初期値は,C言語ではヌル文字列です。そのほかのプログラミング言語では,128個の空白です。

● Version(MQLONG型) 構造体バージョン番号

次の値を取ります。

MQTM_VERSION_1
トリガメッセージの構造体バージョン番号

次の定数には,現在のバージョン番号を指定します。

MQTM_CURRENT_VERSION
現在のバージョンを指定したトリガメッセージの構造体バージョン番号

このフィールドの初期値はMQTM_VERSION_1です。