MQAT_WLM:z/OS ワークロードマネジャアプリケーション MQAT_XDM:XDM アプリケーション
MQAT_ZOS:z/OS アプリケーション MQAT_DEFAULT
省略時のアプリケーションタイプ
アプリケーションが動作しているプラットフォームの,省略時のアプリケーションタイプです。TP1/
Message Queue では,MQAT_OPEN_TP1 が仮定されます。
注意事項
この値は環境で定義する定数です。これによって,各プラットフォームに適切なヘッダ,イン クルードファイル,およびコピーファイルを使用してコンパイルしたアプリケーションが実行 できます。
MQPUT 命令または MQPUT1 命令が成功すると,このフィールドには,転送されたメッセージの PutApplType が設定されます。メッセージにコンテキストがなかった場合,MQAT_NO_CONTEXT が 設定されます。
MQGET 命令では,出力用フィールドとなります。
このフィールドの初期値は MQAT_NO_CONTEXT です。
● PutDate(MQCHAR8 型) 登録日付
メッセージの登録元コンテキストの一部です。メッセージコンテキストについては,この章の「MQMD 構造体 − メッセージ記述子」の「概要」,およびマニュアル「TP1/Message Queue プログラム作成 の手引」を参照してください。
キューマネジャは,次の形式でこのフィールドを生成します。
YYYYMMDD
YYYY:年(4 けたの 10 進数)
MM:月(01〜12 の 10 進数)
DD:日(01〜31 の 10 進数)
PutDate フィールドと PutTime フィールドには,グリニッジ標準時(GMT)を使用します。システムの 時計を正しく設定してください。
トランザクション内からメッセージを登録した場合,コミットした日付ではなく,登録した日付になります。
MQPUT 命令および MQPUT1 命令の PutMsgOpts 引数で MQPMO_SET_ALL_CONTEXT を指定し た場合,入出力用フィールドとなります。このフィールドの内容は,キューマネジャによってチェックさ れません。ただし,フィールド内のヌル文字以降の情報は破棄されます。ヌル文字以降の文字は,キュー マネジャによって空白に置き換えられます。MQPMO_SET_ALL_CONTEXT を指定しなかった場合,こ のフィールドは入力時に無視されて出力専用フィールドとなり,このフィールドにはメッセージを登録し た日付が設定されます。
MQPUT 命令または MQPUT1 命令が成功すると,このフィールドには転送されたメッセージの PutDate が設定されます。メッセージにコンテキストがなかった場合,このフィールドは空白で埋められます。
MQGET 命令では,出力用フィールドとなります。
このフィールドの長さは,MQ_PUT_DATE_LENGTH に定義されています。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかのプログラミング言語では,8 個の空 白です。
● PutTime(MQCHAR8 型) 登録時刻
メッセージの登録元コンテキストの一部です。メッセージコンテキストについては,この章の「MQMD 構造体 − メッセージ記述子」の「概要」,およびマニュアル「TP1/Message Queue プログラム作成 の手引」を参照してください。
キューマネジャは,次の形式でこのフィールドを生成します。
HHMMSSTH
HH:時(00〜23 の 10 進数)
MM:分(00〜59 の 10 進数)
SS:秒(00〜59 の 10 進数)
T:1/10 秒 (0〜9 の 10 進数)
H:1/100 秒(0〜9 の 10 進数)
PutDate フィールドと PutTime フィールドには,グリニッジ標準時(GMT)を使用します。システムの 時計を正しく設定してください。
トランザクション内からメッセージを登録した場合,コミットした時刻ではなく登録した時刻になります。
MQPUT 命令および MQPUT1 命令の PutMsgOpts 引数で MQPMO_SET_ALL_CONTEXT を指定し た場合,入出力用フィールドとなります。このフィールドの内容は,キューマネジャによってチェックさ れません。ただし,フィールド内のヌル文字以降の情報は破棄されます。ヌル文字以降の文字は,キュー マネジャによって空白に置き換えられます。MQPMO_SET_ALL_CONTEXT を指定しなかった場合,こ のフィールドは入力時に無視されて出力専用フィールドとなり,このフィールドにはメッセージを登録し た時間が設定されます。
MQPUT 命令または MQPUT1 命令が成功すると,このフィールドには転送されたメッセージの PutTime が設定されます。メッセージにコンテキストがなかった場合,このフィールドは空白で埋められます。
MQGET 命令では,出力用フィールドとなります。
このフィールドの長さは,MQ_PUT_TIME_LENGTH に定義されています。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかのプログラミング言語では,8 個の空 白です。
● ReplyToQ(MQCHAR48 型) 応答キュー名
アプリケーションが MQMT_REPLY タイプと MQMT_REPORT タイプのメッセージを取り出すキュー の名称です。ReplyToQMgr のキューマネジャに定義されたキューのローカル名称です。
MQPUT 命令および MQPUT1 命令では,MsgType フィールドが MQMT_REQUEST のとき,または Report フィールドで報告を要求したときに,このフィールドに空白を指定できません。ただし,ここで指 定した値は,どんなタイプのメッセージの場合でも,それを取り出すアプリケーションに返されます。
ReplyToQMgr フィールドが空白の場合,ローカルキューマネジャは,ReplyToQ と同じ名称のキューの 定義を参照します。この名称のリモートキューのローカル定義があれば,転送されるメッセージの ReplyToQ の名称は,リモートキューのローカル定義の RemoteQName 属性で置き換えられます。この値は,
MQGET 命令でメッセージを取り出すアプリケーションに,メッセージ記述子の一部として返されます。
リモートキューのローカル定義がない場合,ReplyToQ フィールドは変更されません。
名称を指定するとき,余りを空白で埋めることができます。また,最初のヌル文字以降の文字は,空白と して扱われます。ただし,キューの名称の規則に従っているかどうかはチェックされません。これは,転 送されるメッセージの ReplyToQ の名称が置き換えられた場合も同様です。名称を指定したかどうかが,
必要時にチェックされるだけです。
応答キューが必要ない場合,ReplyToQ フィールドには,次のどれかを指定してください。ただし,チェッ クはされません。
• 空白
• ヌル文字列(C 言語の場合)
• ヌル文字で終了する幾つかの空白(C 言語の場合)
このフィールドは,左詰めで指定します。
MQGET 命令では,この名称は,フィールドの余りが常に空白で埋められて返されます。
報告を要求したメッセージが配布されなかった場合で,報告メッセージも指定したキューに登録されなかっ たときは,登録元メッセージも報告メッセージもデッドレターキューに転送されます。詳細については,
「3. オブジェクトの属性」の「キューマネジャの属性」で DeadLetterQName 属性の説明を参照してく ださい。
このフィールドは,MQGET 命令の出力用フィールドです。また,MQPUT 命令と MQPUT1 命令の入 力用フィールドです。
このフィールドの長さは,MQ_Q_NAME_LENGTH に定義されています。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかのプログラミング言語では,48 個の空 白です。
● ReplyToQMgr(MQCHAR48 型) 応答キューマネジャ名
応答メッセージまたは報告メッセージを送信する先の,キューマネジャ名です。ReplyToQ フィールドの 値は,このキューマネジャに定義されたローカルキューの名称です。
ReplyToQMgr フィールドが空白の場合,ローカルキューマネジャは,ReplyToQ と同じ名称のキューの 定義を参照します。この名称のリモートキューのローカル定義があれば,転送されるメッセージの
ReplyToQMgr の名称は,リモートキューのローカル定義の RemoteQMgrName 属性の値で置き換えら れます。この値は,MQGET 命令でメッセージを取り出すアプリケーションに,メッセージ記述子の一部 として返されます。リモートキューのローカル定義がない場合,ReplyToQMgr フィールドはローカル キューマネジャの名称になります。
名称を指定するとき,余りを空白で埋めることができます。また,最初のヌル文字以降の文字は,空白と して扱われます。ただし,キューマネジャの名称の規則に従っているかどうかはチェックされません。ま た,そのキューマネジャ名が送信先のキューマネジャで認識されているかどうかも,チェックされません。
これは,転送されるメッセージの ReplyToQMgr の名称が置き換えられた場合も同様です。オブジェクト の命名規則については,マニュアル「TP1/Message Queue プログラム作成の手引」を参照してください。
応答キューが必要ない場合,ReplyToQMgr フィールドは,次のどれかを指定してください。ただし,
チェックはされません。
• 空白
• ヌル文字列(C 言語の場合)
• ヌル文字で終了する幾つかの空白(C 言語の場合)
このフィールドは,左詰めで指定します。
MQGET 命令では,この名称は,フィールドの余りが常に空白で埋められて返されます。
このフィールドは,MQGET 命令の出力用フィールドです。また,MQPUT 命令と MQPUT1 命令の入 力用フィールドです。
このフィールドの長さは,MQ_Q_MGR_NAME_LENGTH に定義されています。
このフィールドの初期値は,C 言語ではヌル文字列です。そのほかのプログラミング言語では,48 個の空 白です。
● Report(MQLONG 型) 報告オプション
報告とは,登録元メッセージに関連して発生した各種の事象についてアプリケーションに通知するための メッセージです。Report フィールドを使用すると,登録元アプリケーションは次のことを指定できます。
• どんな種類の報告メッセージが必要かを指定します。
• 報告メッセージ内にアプリケーションデータを組み込むかどうかを指定します。
• 報告メッセージまたは応答メッセージに,どのようにしてメッセージ識別子や相関識別子を設定するか を指定します。この場合は,報告と応答の両方で,Report フィールドを使用できます。
次に示す 6 種類の報告から,一つまたは複数を指定できます。指定しなくてもかまいません。
• 例外
• 保持時間終了
• 到着確認
• 配布確認
• 肯定動作の通知
• 否定動作の通知