Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成リファレンス


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の意味は,トリガモニタアプリケーションによって決まります。IBM 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上のIBM 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です。