Hitachi

OpenTP1 Version 7 OpenTP1 メッセージキューイング機能 TP1/Message Queue プログラム作成の手引


9.6.1 配布リストのオープン

配布リストをオープンするにはMQOPEN命令を使用し,配布リストで実行したいことを指定するにはMQOPEN命令のオプションを使用してください。

MQOPEN命令の入力として,次に示す項目を指定してください。

MQOPEN命令の出力を次に示します。

〈この項の構成〉

(1) MQOD構造体の使用

オープンするキューを識別するにはMQOD構造体を使用してください。配布リストを定義するには,VersionフィールドにMQOD_VERSION_2を,RecsPresentフィールドに0より大きい値を,ObjectTypeフィールドにMQOT_Qを指定してください。

(2) MQOR構造体の使用

MQOR構造体を各あて先に提供してください。この構造体にはあて先キューとキューマネジャの名前があります。配布リストではMQOD構造体のObjectNameおよびObjectQMgrNameフィールドは使用しません。一つ以上のオブジェクトレコードが必要です。ObjectQMgrNameフィールドが空白のままの場合はローカルキューマネジャが使用されます。

あて先キューは次に示す2とおりの方法で指定できます。

ObjectRecOffsetまたはObjectRecPtrフィールドのどちらかを使用してください。両方が0の場合,または両方が0でない場合には,MQRC_OBJECT_RECORDS_ERRORの理由コードで命令が失敗します。

(3) MQRR構造体の使用

この構造体は各あて先に固有な応答レコードです。応答レコードには,配布リストの各キューに対応するCompCodeおよびReasonフィールドがあります。この構造体を使用してユーザは問題を特定できます。

例えば,MQRC_MULTIPLE_REASONSの理由コードを受け取り,配布リストに五つのあて先キューがある場合は,この構造体を使用しないとどのキューに問題があるのか特定できません。しかし,各あて先に完了コードと理由コードがあれば,エラーをより容易に特定できるようになります。

C言語での配布リストのオープンについて,次の図に示します。

図9‒2 C言語での配布リストのオープン

[図データ]

COBOL言語での配布リストのオープンについて,次の図に示します。

図9‒3 COBOL言語での配布リストのオープン

[図データ]

(4) MQOPEN命令の使用

配布リストのオープン時には,次に示すオプションを指定します。