付録A.7 MQPUT命令およびMQPUT1命令の引数一覧

MQPUT命令およびMQPUT1命令で指定できる引数の一覧を次の表に示します。

表A-10 MQPUT命令およびMQPUT1命令の引数一覧

引数データタイプ向き内容
HconnMQHCONNiコネクションハンドル
Hobj1MQHOBJiオブジェクトハンドル
ObjDesc2MQODiオブジェクト記述子
フィールドStrucIdMQCHAR4i構造体識別子
VersionMQLONGi構造体バージョン番号
ObjectTypeMQLONGiオブジェクトタイプ
ObjectNameMQCHAR48iオブジェクト名
ObjectQMgrNameMQCHAR48iオブジェクトキューマネジャ名
DynamicQNameMQCHAR48動的キュー名
AlternateUserIdMQCHAR12i代替ユーザ識別子
RecsPresent3MQLONGiオブジェクトレコードの数
KnownDestCount3MQLONGoローカルキューの数
UnknownDestCount3MQLONGoリモートキューの数
InvalidDestCount3MQLONGoオープンに失敗したキューの数
ObjectRecOffset3MQLONGi最初のオブジェクトレコードまでのオフセット
ResponseRecOffset3MQLONGi最初の応答レコードまでのオフセット
ObjectRecPtr3MQPTRiオブジェクトレコードのアドレス
ResponseRecPtr3MQPTRi応答レコードのアドレス
AlternateSecurityId4MQBYTE40o代替セキュリティ識別子
ResolvedQName4MQCHAR48o解決したキュー名称
ResolvedQMgrName4MQCHAR48o解決したキューマネジャ名称
MsgDescMQMDメッセージ記述子
フィールドStrucIdMQCHAR4i構造体識別子
VersionMQLONGi構造体バージョン番号
ReportMQLONGi報告オプション
MsgTypeMQLONGiメッセージタイプ
ExpiryMQLONGiメッセージ保持時間
FeedbackMQLONGi報告メッセージ返答コード
EncodingMQLONGiマシンコード形式
CodedCharSetIdMQLONGi文字セット識別子
FormatMQCHAR8iフォーマット名
PriorityMQLONGiメッセージ優先度
PersistenceMQLONGiメッセージ永続性
MsgIdMQBYTE24i/oメッセージ識別子
CorrelIdMQBYTE24i相関識別子
BackoutCountMQLONGロールバック回数
ReplyToQMQCHAR48i応答キュー名
ReplyToQMgrMQCHAR48i応答キューマネジャ名
UserIdentifierMQCHAR12o5ユーザ識別子
AccountingTokenMQBYTE32o5課金トークン
ApplIdentityDataMQCHAR32o5アプリケーション識別データ
PutApplTypeMQLONGo6登録アプリケーションタイプ
PutApplNameMQCHAR28o6登録アプリケーション名
PutDateMQCHAR8o6登録日付
PutTimeMQCHAR8o6登録時刻
ApplOriginDataMQCHAR4o6登録元データ
GroupId3MQBYTE24i/oグループ識別子
MsgSeqNumber3MQLONGi/oメッセージシーケンス番号
Offset3MQLONGi/oオフセット
MsgFlags3MQLONGi/oフラグ
OriginalLength3MQLONGo登録元メッセージ長
PutMsgOptsMQPMOメッセージ登録オプション
フィールドStrucIdMQCHAR4i構造体識別子
VersionMQLONGi構造体バージョン番号
OptionsMQLONGi登録オプション
TimeoutMQLONG予備
ContextMQHOBJiコンテキスト
KnownDestCountMQLONGoローカルキューの数
UnknownDestCountMQLONGoリモートキューの数
InvalidDestCountMQLONGo送信に失敗したキューの数
ResolvedQNameMQCHAR48o受信キュー名
ResolvedQMgrNameMQCHAR48o受信キューマネジャ名
RecsPresent3MQLONGi登録メッセージレコードまたは応答レコードの数
PutMsgRecFields3MQLONGiMQPMR構造体の存在
PutMsgRecOffset3MQLONGi最初の登録メッセージレコードまでのオフセット
ResponseRecOffset3MQLONGi最初の応答レコードまでのオフセット
PutMsgRecPtr3MQPTRi登録メッセージレコードのアドレス
ResponseRecPtr3MQPTRi応答レコードのアドレス
BufferLengthMQLONGiバッファ長
BufferMQBYTE×
BufferLength
iバッファ
CompCodeMQLONGo完了コード
ReasonMQLONGo理由コード
(凡例)
i:入力用
i/o:入出力用
o:出力用
-:該当しません。
注※1
MQPUT命令で指定してください。
注※2
MQPUT1命令で指定してください。
注※3
Versionフィールドが,MQ*_VERSION_2の場合だけ存在するフィールドです。
注※4
Versionフィールドが,MQ*_VERSION_3の場合だけ存在するフィールドです。
注※5
MQPMO_SET_IDENTITY_CONTEXTまたはMQPMO_SET_ALL_CONTEXTを指定すると,入出力用のフィールドとなります。
注※6
MQPMO_SET_ALL_CONTEXTを指定すると,入出力用のフィールドとなります。

MQPUT命令およびMQPUT1命令の引数に指定できるオプションには,報告オプション(MsgDesc引数のReportフィールド)と登録オプション(PutMsgOpts引数のOptionsフィールド)の2種類があります。

それぞれのフィールドで指定できる報告オプションと登録オプションの一覧を次の各表に示します。

表A-11 報告オプション一覧(MQPUT命令およびMQPUT1命令のMsgDesc引数のReportフィールド)

オプション指定方法オープン時に必要なオプション
MQRO_EXCEPTION必要時にどれか一つだけ指定MQOO_OUTPUT1
MQRO_EXCEPTION_WITH_DATA
MQRO_EXCEPTION_WITH_FULL_DATA
MQRO_EXPIRATION必要時にどれか一つだけ指定
MQRO_EXPIRATION_WITH_DATA
MQRO_EXPIRATION_WITH_FULL_DATA
MQRO_COA必要時にどれか一つだけ指定
MQRO_COA_WITH_DATA
MQRO_COA_WITH_FULL_DATA
MQRO_COD必要時にどれか一つだけ指定
MQRO_COD_WITH_DATA
MQRO_COD_WITH_FULL_DATA
MQRO_PAN
  • 必要時にどれか一つだけ指定
  • 省略可
MQRO_NAN
MQRO_NEW_MSG_ID(省略時解釈値)
MQRO_PASS_MSG_ID
MQRO_COPY_MSG_ID_TO_CORREL_ID(省略時解釈値)
MQRO_PASS_CORREL_ID
MQRO_DEAD_LETTER_Q
  • 必要時にどちらか一つだけ指定
  • 省略可
MQRO_DISCARD_MSG2
MQRO_NONE報告を要求しない場合に指定
注※1
MQPUT1命令の場合,キューをオープンしておく必要がないため,この欄は該当しません。
注※2
TP1/Message Queueでは,指定しても動作に影響がありません。

表A-12 登録オプション一覧(MQPUT命令およびMQPUT1命令のPutMsgOpts引数のOptionsフィールド)

オプション指定方法オープン時に必要なオプション
MQPMO_SYNCPOINT
  • どちらか一つだけ指定
  • 省略可1
MQOO_OUTPUT2
MQPMO_NO_SYNCPOINT
MQPMO_NEW_MSG_ID必要時に指定
MQPMO_NEW_CORREL_ID
MQPMO_LOGICAL_ORDER
MQPMO_NO_CONTEXT
  • どれか一つだけ指定
  • 省略可
MQPMO_DEFAULT_CONTEXT
(省略時解釈値)
MQPMO_PASS_IDENTITY_CONTEXT3
  • MQOO_OUTPUT2
  • MQOO_PASS_*2
MQPMO_PASS_ALL_CONTEXT3
  • MQOO_OUTPUT2
  • MQOO_PASS_ALL_CONTEXT2
MQPMO_SET_IDENTITY_CONTEXT
  • MQOO_OUTPUT2
  • MQOO_SET_*2
MQPMO_SET_ALL_CONTEXT
  • MQOO_OUTPUT2
  • MQOO_SET_ALL_CONTEXT2
MQPMO_ALTERNATE_USER_AUTHORITY必要時に指定(MQPUT1命令の場合)なし
MQPMO_FAIL_IF_QUIESCING4必要時に指定MQOO_OUTPUT2
MQPMO_NONEほかの登録オプションを指定しない場合に指定
注※1
省略時解釈値は環境に依存します。TP1/Message Queueでは,トランザクションの範囲内から呼び出したかどうかで決まります。ほかのWebSphere MQの製品では,省略時解釈値が異なる場合があります。
注※2
MQPUT1命令の場合,キューをオープンしておく必要がないため,この欄は該当しません。
注※3
MQOO_INPUT_*およびMQOO_SAVE_ALL_CONTEXTでオープンした,キューのハンドル(すでにメッセージを取り出したもの)が必要です。
注※4
TP1/Message Queueでは,指定しても動作に影響がありません。