省略時のメッセージ優先度を使用します。
• クラスタキューの場合,MQOPEN 命令で指定する MQOD 構造体の ObjectQMgrName フィー ルドの値によって,使用される優先度が異なります。
メッセージがシステム転送キューに登録されるときに,DefPriority 属性の値が Priority フィールド にコピーされます。その後,DefPriority 属性が変更されても,キューに登録済みのメッセージは影 響を受けません。
使用される優先度を次に示します。
MQOD 構造体の ObjectQMgrName フィールドに空白を指定した場合
あて先キュー(クラスタキュー)に定義された DefPriority 属性の値が,メッセージ優先度として 使用されます。
ただし,MQOD 構造体の ObjectName フィールドにリモートキューのローカル定義を指定して,
あて先キュー(クラスタキュー)へ名称解決される場合は,システム転送キューに定義された DefPriority 属性の値が,メッセージ優先度として使用されます。
MQOD 構造体の ObjectQMgrName フィールドにあて先キューマネジャを指定した場合
システム転送キューに定義された DefPriority 属性の値が,メッセージ優先度として使用されます。
• クラスタキュー以外の場合,あて先キューマネジャがリモートキューマネジャであっても,ローカ ルキューマネジャに定義されたあて先キューの DefPriority 属性の値がメッセージ優先度として使 用されます。
キューの実名をたどるまでに複数の定義がある場合(クラスタキューに名称解決される場合を除きま す),最初に登録したキューの定義のこの属性が省略時のメッセージ優先度になります。この属性は,
次に示すオブジェクトに適用されます。
• 別名キュー
• ローカルキュー
• リモートキューのローカル定義
• キューマネジャの別名
• 転送キュー(例えば,DefXmitQName キュー)
MQGET 命令で返される値は,常に 0 以上です。MQPRI_PRIORITY_AS_Q_DEF は返されません。
ローカルキューマネジャに定義された最大値,つまり,キューマネジャの MaxPriority 属性の値よりも大 きな優先度でメッセージを登録した場合,メッセージは受け付けられますが,キューマネジャの優先度の 最大値に置き換えられます。この場合,MQPUT 命令および MQPUT1 命令は,完了コード
MQCC_WARNING,理由コード MQRC_PRIORITY_EXCEEDS_MAXIMUM で終了します。ただし,
Priority フィールドには,メッセージを登録したアプリケーションで指定した値が残ります。
応答を返す場合,アプリケーションは通常,問い合わせメッセージの優先度を応答メッセージに使用しま す。また,MQPRI_PRIORITY_AS_Q_DEF を指定しても,アプリケーションを変更することなく優先度 を調整できます。
このフィールドは,MQGET 命令の出力用フィールドです。また,MQPUT 命令と MQPUT1 命令の入 力用フィールドです。
このフィールドの初期値は MQPRI_PRIORITY_AS_Q_DEF です。
● PutApplName(MQCHAR28 型) 登録アプリケーション名
メッセージの登録元コンテキストの一部です。メッセージコンテキストについては,この章の「MQMD 構造体 − メッセージ記述子」の「概要」,およびマニュアル「TP1/Message Queue プログラム作成 の手引」を参照してください。
MQPUT 命令および MQPUT1 命令の PutMsgOpts 引数で MQPMO_SET_ALL_CONTEXT を指定し た場合,入出力用フィールドとなります。このフィールドのヌル文字以降の情報は破棄されます。ヌル文 字以降の文字は,キューマネジャによって空白に置き換えられます。MQPMO_SET_ALL_CONTEXT を
指定しなかった場合,このフィールドは入力時に無視されて出力専用フィールドとなり,このフィールド には実行中のユーザサーバ名が設定されます。
MQPUT 命令または MQPUT1 命令が成功すると,このフィールドには,転送されたメッセージの PutApplName が設定されます。メッセージにコンテキストがなかった場合,このフィールドは空白で埋 められます。
MQGET 命令では,出力用フィールドとなります。
このフィールドの長さは,MQ_PUT_APPL_NAME_LENGTH に定義されています。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかのプログラミング言語では,28 個の空 白です。
● PutApplType(MQLONG 型) 登録アプリケーションタイプ
メッセージの登録元コンテキストの一部です。メッセージコンテキストについては,この章の「MQMD 構造体 − メッセージ記述子」の「概要」,およびマニュアル「TP1/Message Queue プログラム作成 の手引」を参照してください。
次に示す標準のタイプを使用できます。また,ユーザが定義したタイプも使用できます。ただし,ユーザ が定義できる値の範囲は,MQAT_USER_FIRST から MQAT_USER_LAST までです。
MQAT_AIX:AIX アプリケーション MQAT_BROKER:ブローカ
MQAT_CICS:CICS トランザクション MQAT_DOS:PC-DOS アプリケーション
MQAT_DQM:分散キューマネージャエージェント MQAT_IMS:IMS アプリケーション
MQAT_JAVA:Java
MQAT_MVS:MVS または TSO アプリケーション MQAT_OPEN_TP1:OpenTP1 アプリケーション
MQAT_OS2:OS/2 またはプレゼンテーションマネジャアプリケーション MQAT_OS400:OS/400 アプリケーション
MQAT_QMGR:キューマネジャ
MQAT_TMS_4V:TMS-4V/SP アプリケーション
MQAT_WINDOWS:16 ビット Windows アプリケーション
MQAT_WLM:z/OS ワークロードマネジャアプリケーション MQAT_XDM:XDM アプリケーション
MQAT_ZOS:z/OS アプリケーション MQAT_DEFAULT
省略時のアプリケーションタイプ
アプリケーションが動作しているプラットフォームの,省略時のアプリケーションタイプです。TP1/
Message Queue では,MQAT_OPEN_TP1 が仮定されます。
注意事項
この値は環境で定義する定数です。これによって,各プラットフォームに適切なヘッダ,イン クルードファイル,およびコピーファイルを使用してコンパイルしたアプリケーションが実行 できます。