現在のバージョンの参照メッセージヘッダの構造体バージョン番号 このフィールドの初期値は MQRMH_VERSION_1 です。
MQRR 構造体 − 応答レコード
MQRR 構造体は,次のフィールドで構成されます。
フィールド(データタイプ) 内容 初期値
CompCode(MQLONG 型) 完了コード MQCC_OK
Reason(MQLONG 型) 理由コード MQRC_NONE
概要
目的
MQRR 構造体は,あて先が配布リストである場合に,単一のあて先キューに対するオープンまたは登録操 作の結果である完了コードと理由コードを受け取るために使用します。MQRR 構造体は,MQOPEN,
MQPUT および MQPUT1 命令の出力用の構造体です。
文字セットおよびマシンコード
MQRR 構造体のデータは,ローカルキューマネジャの文字セットおよびマシンコードに従います。それぞ れ,キューマネジャの CodedCharSetId 属性および MQENC_NATIVE で指定します。TP1/Message Queue - Access のクライアントアプリケーションの場合,MQOD 構造体はクライアントの文字セット とマシンコードに従います。
使用方法
MQOPEN,MQPUT または MQPUT1 命令に構造体の配列を提供することによって,命令の結果が混在 する場合,つまり配布リストの幾つかのキューで命令が成功し,ほかのキューで失敗する場合に,配布リ ストのすべてのキューについて完了コードと理由コードを判別できます。命令が理由コード
MQRC_MULTIPLE_REASONS を返す場合,(アプリケーションが提供したとき)応答レコードがキュー マネジャによって設定されたことを示します。
フィールド
構造体を構成するフィールドについて,アルファベット順に説明します。
● CompCode(MQLONG 型) 完了コード
MQOPEN 命令または MQPUT1 命令の MQOR 構造体の配列中の対応する要素によって指定された名称 のキューに対する,オープンまたは登録操作の結果を表す完了コードです。
これは常に入力用のフィールドです。このフィールドの初期値は MQCC_OK です。
● Reason(MQLONG 型) 理由コード
MQOPEN 命令または MQPUT1 命令の MQOR 構造体の配列中の対応する要素によって指定された名称 のキューに対する,オープンまたは登録操作の結果を表す理由コードです。
これは常に入力用のフィールドです。このフィールドの初期値は MQRC_NONE です。
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 フィールドで指定されます。
• MQMD 構造体(MQTM 構造体がメッセージデータの先頭にある場合)
• MQTM 構造体に先行するヘッダ構造体(その他のすべての場合)
使用方法
トリガモニタアプリケーションがほかのアプリケーションを起動するとき,トリガメッセージ内の幾つか の情報を,そのアプリケーションに渡す必要があります。そのアプリケーションで必要となる情報には,
QName,TriggerData,UserData などがあります。トリガによるアプリケーション開始については,
マニュアル「TP1/Message Queue プログラム作成の手引」を参照してください。
トリガメッセージの MQMD 構造体
トリガメッセージの MQMD 構造体のフィールドには,次の値が設定されます。これは,トリガメッセー ジを取り出した MQGET 命令の,MsgDesc 引数で返される値です。
MQMD 構造体のフィールド 値
StrucId MQMD_STRUC_ID
Version MQMD_VERSION_1
Report MQRO_NONE
MsgType MQMT_DATAGRAM
Expiry MQEI_UNLIMITED
Feedback MQFB_NONE
Encoding MQENC_NATIVE
CodedCharSetId キューマネジャの CodedCharSetId 属性の値
Format MQFMT_TRIGGER
Priority MQPRI_PRIORITY_AS_Q_DEF(イニシエーションキューに定義された,省略時の メッセージ優先度)
Persistence MQPER_NOT_PERSISTENT
MsgId ユニークな値
CorrelId MQCI_NONE
BackoutCount 0
ReplyToQ 空白
ReplyToQMgr 空白
UserIdentifier 空白
AccountingToken MQACT_NONE ApplIdentityData 空白
PutApplType MQAT_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 個の空 白です。