Hitachi

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


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

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

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

引数

データタイプ

向き

内容

Hconn

MQHCONN

i

コネクションハンドル

Hobj※1

MQHOBJ

i

オブジェクトハンドル

ObjDesc※2

MQOD

i

オブジェクト記述子

フィールド

StrucId

MQCHAR4

i

構造体識別子

Version

MQLONG

i

構造体バージョン番号

ObjectType

MQLONG

i

オブジェクトタイプ

ObjectName

MQCHAR48

i

オブジェクト名

ObjectQMgrName

MQCHAR48

i

オブジェクトキューマネジャ名

DynamicQName

MQCHAR48

動的キュー名

AlternateUserId

MQCHAR12

i

代替ユーザ識別子

RecsPresent※3

MQLONG

i

オブジェクトレコードの数

KnownDestCount※3

MQLONG

o

ローカルキューの数

UnknownDestCount※3

MQLONG

o

リモートキューの数

InvalidDestCount※3

MQLONG

o

オープンに失敗したキューの数

ObjectRecOffset※3

MQLONG

i

最初のオブジェクトレコードまでのオフセット

ResponseRecOffset※3

MQLONG

i

最初の応答レコードまでのオフセット

ObjectRecPtr※3

MQPTR

i

オブジェクトレコードのアドレス

ResponseRecPtr※3

MQPTR

i

応答レコードのアドレス

AlternateSecurityId※4

MQBYTE40

o

代替セキュリティ識別子

ResolvedQName※4

MQCHAR48

o

解決したキュー名称

ResolvedQMgrName※4

MQCHAR48

o

解決したキューマネジャ名称

MsgDesc

MQMD

メッセージ記述子

フィールド

StrucId

MQCHAR4

i

構造体識別子

Version

MQLONG

i

構造体バージョン番号

Report

MQLONG

i

報告オプション

MsgType

MQLONG

i

メッセージタイプ

Expiry

MQLONG

i

メッセージ保持時間

Feedback

MQLONG

i

報告メッセージ返答コード

Encoding

MQLONG

i

マシンコード形式

CodedCharSetId

MQLONG

i

文字セット識別子

Format

MQCHAR8

i

フォーマット名

Priority

MQLONG

i

メッセージ優先度

Persistence

MQLONG

i

メッセージ永続性

MsgId

MQBYTE24

i/o

メッセージ識別子

CorrelId

MQBYTE24

i

相関識別子

BackoutCount

MQLONG

ロールバック回数

ReplyToQ

MQCHAR48

i

応答キュー名

ReplyToQMgr

MQCHAR48

i

応答キューマネジャ名

UserIdentifier

MQCHAR12

o※5

ユーザ識別子

AccountingToken

MQBYTE32

o※5

課金トークン

ApplIdentityData

MQCHAR32

o※5

アプリケーション識別データ

PutApplType

MQLONG

o※6

登録アプリケーションタイプ

PutApplName

MQCHAR28

o※6

登録アプリケーション名

PutDate

MQCHAR8

o※6

登録日付

PutTime

MQCHAR8

o※6

登録時刻

ApplOriginData

MQCHAR4

o※6

登録元データ

GroupId※3

MQBYTE24

i/o

グループ識別子

MsgSeqNumber※3

MQLONG

i/o

メッセージシーケンス番号

Offset※3

MQLONG

i/o

オフセット

MsgFlags※3

MQLONG

i/o

フラグ

OriginalLength※3

MQLONG

o

登録元メッセージ長

PutMsgOpts

MQPMO

メッセージ登録オプション

フィールド

StrucId

MQCHAR4

i

構造体識別子

Version

MQLONG

i

構造体バージョン番号

Options

MQLONG

i

登録オプション

Timeout

MQLONG

予備

Context

MQHOBJ

i

コンテキスト

KnownDestCount

MQLONG

o

ローカルキューの数

UnknownDestCount

MQLONG

o

リモートキューの数

InvalidDestCount

MQLONG

o

送信に失敗したキューの数

ResolvedQName

MQCHAR48

o

受信キュー名

ResolvedQMgrName

MQCHAR48

o

受信キューマネジャ名

RecsPresent※3

MQLONG

i

登録メッセージレコードまたは応答レコードの数

PutMsgRecFields※3

MQLONG

i

MQPMR構造体の存在

PutMsgRecOffset※3

MQLONG

i

最初の登録メッセージレコードまでのオフセット

ResponseRecOffset※3

MQLONG

i

最初の応答レコードまでのオフセット

PutMsgRecPtr※3

MQPTR

i

登録メッセージレコードのアドレス

ResponseRecPtr※3

MQPTR

i

応答レコードのアドレス

BufferLength

MQLONG

i

バッファ長

Buffer

MQBYTE×

BufferLength

i

バッファ

CompCode

MQLONG

o

完了コード

Reason

MQLONG

o

理由コード

(凡例)

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_OUTPUT※1

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_MSG※2

MQRO_NONE

報告を要求しない場合に指定

注※1

MQPUT1命令の場合,キューをオープンしておく必要がないため,この欄は該当しません。

注※2

TP1/Message Queueでは,指定しても動作に影響がありません。

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

オプション

指定方法

オープン時に必要なオプション

MQPMO_SYNCPOINT

  • どちらか一つだけ指定

  • 省略可※1

MQOO_OUTPUT※2

MQPMO_NO_SYNCPOINT

MQPMO_NEW_MSG_ID

必要時に指定

MQPMO_NEW_CORREL_ID

MQPMO_LOGICAL_ORDER

MQPMO_NO_CONTEXT

  • どれか一つだけ指定

  • 省略可

MQPMO_DEFAULT_CONTEXT

(省略時解釈値)

MQPMO_PASS_IDENTITY_CONTEXT※3

  • MQOO_OUTPUT※2

  • MQOO_PASS_*※2

MQPMO_PASS_ALL_CONTEXT※3

  • MQOO_OUTPUT※2

  • MQOO_PASS_ALL_CONTEXT※2

MQPMO_SET_IDENTITY_CONTEXT

  • MQOO_OUTPUT※2

  • MQOO_SET_*※2

MQPMO_SET_ALL_CONTEXT

  • MQOO_OUTPUT※2

  • MQOO_SET_ALL_CONTEXT※2

MQPMO_ALTERNATE_USER_AUTHORITY

必要時に指定(MQPUT1命令の場合)

なし

MQPMO_FAIL_IF_QUIESCING※4

必要時に指定

MQOO_OUTPUT※2

MQPMO_NONE

ほかの登録オプションを指定しない場合に指定

注※1

省略時解釈値は環境に依存します。TP1/Message Queueでは,トランザクションの範囲内から呼び出したかどうかで決まります。ほかのIBM MQの製品では,省略時解釈値が異なる場合があります。

注※2

MQPUT1命令の場合,キューをオープンしておく必要がないため,この欄は該当しません。

注※3

MQOO_INPUT_*およびMQOO_SAVE_ALL_CONTEXTでオープンした,キューのハンドル(すでにメッセージを取り出したもの)が必要です。

注※4

TP1/Message Queueでは,指定しても動作に影響がありません。