[IBM i]

IBM i での MQOD (オブジェクト記述子)

MQOD 構造体は、オブジェクトを名前で指定するために使用されます。

概要

目的: 次のタイプのオブジェクトが有効です。
  • キューまたは配布リスト
  • 名前リスト
  • プロセス定義
  • キュー・マネージャー
  • トピック
この構造体は、MQOPEN および MQPUT1 呼び出しの入出力パラメーターです。

バージョン: MQOD の現行バージョンは ODVER4 です。 これより新しいバージョンの構造体にのみ存在するフィールドについては、そのフィールドの説明にその旨を記載しています。

提供される COPY ファイルには環境によってサポートされている 最新バージョンの MQOD が含まれます。ただし、ODVER フィールドの初期値は ODVER1 に設定されています。 version-1 構造体に存在しないフィールドを使用するには、アプリケーションで、ODVERフィールドを必要なバージョンのバージョン番号に設定する必要があります。

配布リストをオープンするには、ODVER が ODVER2 以上でなければなりません。

文字セットとエンコード: MQOD 内のデータは、CodedCharSetId キュー・マネージャー属性で指定された文字セットと、ENNAT で指定されたローカル・キュー・マネージャーのエンコードで記述されていなければなりません。 ただし、アプリケーションが IBM® MQ クライアントとして実行されている場合、構造体はクライアントの文字セットとエンコードになっている必要があります。

フィールド

MQOD 構造体には、以下のフィールドが含まれます。フィールドはアルファベット順に説明されています。

ODASI (40 バイトのビット・ストリング)

代替セキュリティー ID。

これは、適切な許可検査を実行できるようにするために、ODAU と共に許可サービスに渡されるセキュリティー ID です。 ODASI は、次の場合のみ使用されます。
  • MQOPEN 呼び出しで OOALTU が指定されている
  • MQPUT1 呼び出しで PMALTU が指定されている
上記のいずれかの場合で、かつODAU フィールドが最初のヌル文字またはフィールドの終わりまでの全体がブランクでない場合。
ODASI フィールドは、以下の構造体を持っています。
  • 最初のバイトは、後続の有効データの長さを示す 2 進整数です。値には、このバイト自体は含まれません。 セキュリティー ID がない場合、長さはゼロになります。
  • 2 番目のバイトは、存在するセキュリティー ID のタイプを示します。可能な値は次のとおりです。
    SITWNT
    Windows セキュリティー ID。
    SITNON
    セキュリティー ID なし。
  • 3 番目のバイトから、最初のバイトで定義された長さまでは、セキュリティー ID 自体が含まれています。
  • フィールドの残りのバイトは、2 進ゼロに設定されます。
以下に示す特別な値が使用されることがあります。
SINONE
セキュリティー ID が指定されていない。

値は、フィールドの長さについては 2 進ゼロです。

これは入力フィールドです。 このフィールドの長さは LNSCID によって指定されます。 このフィールドの初期値は SINONE です。 ODVER が ODVER3 より小さい場合は、このフィールドは無視されます。

ODAU (12 バイトの文字ストリング)

代替ユーザー ID。

MQOPEN 呼び出しで OOALTU が指定されている場合、または MQPUT1 呼び出しで PMALTU が指定されている場合、このフィールドには、現在アプリケーションを実行しているユーザー ID の代わりに、オープン権限を検査するために使用される代替ユーザー ID が入ります。 ただし、検査によっては、現行のユーザー ID を使って実行されます (例えば、コンテキストの検査など)。

OOALTU および PMALTU が指定されておらず、このフィールドの最初のヌル文字までブランク、またはフィールドの最後まですべてブランクの場合、オープンが正常に行われるのは、オプションを指定してこのオブジェクトをオープンする際にユーザー権限が必要ない場合のみです。

OOALTU と PMALTU がいずれも指定されていない場合、このフィールドは無視されます。

これは入力フィールドです。 このフィールドの長さは LNUID によって指定されます。 このフィールドの初期値は 12 個のブランク文字です。

ODDN (48 バイトの文字ストリング)

動的キューの名前。

これは、MQOPEN 呼び出しによって作成される動的キューの名前です。 これが関係してくるのは、ODON にモデル・キューが指定されている場合のみであり、それ以外の場合はすべて ODDN は無視されます。

この名前で有効な文字は、ODON の場合と同じです。さらに、アスタリスクも有効です。 ODON にモデル・キューの名前が指定されている場合、ブランクである名前 (または最初のヌル文字の前にブランクのみが指定されている名前) は無効です。

名前の最後の非ブランク文字がアスタリスク ( *) の場合、キュー・マネージャーはアスタリスクを、キューに対して生成される名前がローカル・キュー・マネージャーで固有であることを保証する文字ストリングに置き換えます。 これを保証できるだけの文字数を確保するためには、アスタリスクの位置がカラム 1 から 33 までの範囲でなければなりません。 アスタリスクの後に、ブランクまたはヌル文字以外の文字があってはなりません。

名前がキュー・マネージャーによって生成された文字だけで構成される場合は、最初の文字にアスタリスクを指定できます。

これは入力フィールドです。 このフィールドの長さは LNQN によって指定されます。 このフィールドの初期値は 'AMQ.*' で、ブランクが埋め込まれます。

ODIDC (10 桁の符号付き整数)

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

これは配布リスト中のキューの数で、オープンに失敗したキューの数です。 このフィールドは、配布リストにはない 1 つのキューをオープンするときにも設定されます。

注: 存在する場合、このフィールドは、MQOPEN 呼び出しまたは MQPUT1 呼び出しの CMPCOD パラメーターが CCOK または CCWARN の場合にのみ設定されます。 CMPCOD パラメーターが CCFAIL の場合は設定されません。

これは出力フィールドです。 このフィールドの初期値は 0 です。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODKDC (10 桁の符号付き整数)

オープンに成功したローカル・キューの数。

これは配布リスト中のキューの数で、ローカル・キューに解決し、オープンに成功したキューの数です。 この数にはリモート・キューに解決するキューの数は含まれません。ローカル伝送キューを使用して最初にメッセージを格納する場合でも同様です。 このフィールドは、配布リストにはない 1 つのキューをオープンするときにも設定されます。

これは出力フィールドです。 このフィールドの初期値は 0 です。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODMN (48 バイトの文字ストリング)

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

これは、ODON オブジェクトが定義されているキュー・マネージャーの名前です。 この名前で有効な文字は、ODON の場合と同じです (上記を参照)。 最初のヌル文字またはフィールドの終わりまで名前をすべてブランクにすると、アプリケーションが接続されているキュー・マネージャー (ローカル・キュー・マネージャー) を指定したと見なされます。

以下に示す点は、記されているオブジェクトのタイプに適用されます。
  • ODOT が OTTOP、OTNLST、OTPRO、または OTQM である場合、ODMN はブランクまたはローカル・キュー・マネージャーの名前である必要があります。
  • ODON にモデル・キューの名前が指定されている場合、キュー・マネージャーがモデル・キューの属性を使用して動的キューを作成し、キューを作成したキュー・マネージャーの名前を ODMN フィールドに戻します。これはローカル・キュー・マネージャーの名前です。 モデル・キューは MQOPEN 呼び出しでのみ指定されます。したがって MQPUT1 呼び出しでは無効です。
  • ODON がクラスター・キューの名前であり、ODMN が ブランクである場合、MQOPEN 呼び出しが戻したキュー・ハンドルを使用して 送信されるメッセージの実際の宛先は、次のようにキュー・マネージャーによって (または、クラスター・ワークロード出口が インストールされている場合はそれによって) 選択されます。
    • OOBNDO が指定された場合、キュー・マネージャーは MQOPEN 呼び出しの処理時にクラスター・キューのインスタンスを選択し、そのキュー・ハンドルを使用して書き込まれるすべてのメッセージは、そのインスタンスへ送信されます。
    • OOBNDN が指定された場合、キュー・マネージャーはキュー・ハンドルを使用する連続した MQPUT 呼び出しで、その宛先キューの (クラスター内の別のキュー・マネージャー上にある) 別のインスタンスを選択する場合があります。

    アプリケーションからクラスター・キューの特定の インスタンス (つまり、クラスターの特定のキュー・マネージャー上にあるキュー・インスタンス) へメッセージを送信する必要がある場合は、アプリケーションで ODMN フィールドにそのキュー・マネージャーの名前を指定しなければなりません。 これにより、ローカル・キュー・マネージャーは指定された宛先キュー・マネージャーへメッセージを送信することを強制されます。

  • オープン中のオブジェクトが配布リストである場合 (すなわち、ODREC が ゼロより大きい場合)、ODMN はブランクまたはヌル・ストリングでなければなりません。 この条件を満たされないと、この呼び出しは失敗し、理由コード RC2153 が戻ります。

ODON がモデル・キューの名前である場合は、MQOPEN 呼び出しの入出力フィールドです。それ以外の場合は、入力専用フィールドです。 このフィールドの長さは LNQMN によって指定されます。 このフィールドの初期値は 48 個のブランク文字です。

ODON (48 バイトの文字ストリング)

オブジェクト名

ODMN で識別されるキュー・マネージャーで定義されているオブジェクトのローカル名。 この名前には、以下に示す文字を使用できます。
  • 英大文字 (A から Z まで)
  • 英小文字 (a から z まで)
  • 数字 (0 から 9 まで)
  • ピリオド (.)、スラッシュ (/)、下線 (_)、パーセント (%)
名前に先行ブランクまたは組み込みブランクを含めることはできませんが、後続のブランクを含めることは可能です。 ヌル文字を使用して、名前の中における有効なデータの末尾を示すことができます。ヌル文字とそれに続く文字はすべてブランクとして扱われます。 以下に示す制約事項は、それぞれ明記している環境に適用されます。
  • EBCDIC カタカナを使用するシステムでは、小文字を使用できません。
  • IBM iでは、小文字、スラッシュ、またはパーセントを含む名前をコマンドに指定する場合は、引用符で囲む必要があります。 構造体内のフィールドまたは呼び出しのパラメーターとして指定する名前には、引用符を使用してはなりません。
以下に示す点は、記されているオブジェクトのタイプに適用されます。
  • ODON にモデル・キューの名前が指定された場合は、キュー・マネージャーがモデル・キューの属性を使用して動的キューを作成し、作成したキューの名前を ODON フィールドに戻します。 モデル・キューは MQOPEN 呼び出しでのみ指定されます。したがって MQPUT1 呼び出しでは無効です。
  • オープン中のオブジェクトが配布リストである場合 (すなわち、ODREC が 存在し、ゼロより大きい場合)、ODON はブランクまたはヌル・ストリング でなければなりません。 この条件を満たさないと、この呼び出しは失敗し、理由コード RC2152 が戻ります。
  • ODOT が OTQM である場合には、特別な規則が適用されます。その場合、名前は、最初のヌル文字まですべてブランクか、またはフィールドの最後まですべてブランクでなければなりません。
  • ODON が TARGTYPE(TOPIC) を使用する別名キューの名前である場合、指定された別名キューに対して最初にセキュリティー検査が行われますが、これは別名キューの使用法として普通なことです。 このセキュリティー検査が正常に行われると、この MQOPEN 呼び出しは続行され、OTTOP の MQOPEN と同じように振る舞います。これには、管理トピック・オブジェクトに対するセキュリティー検査が含まれます。

ODON がモデル・キューの名前である場合は、MQOPEN 呼び出しの入出力フィールドです。それ以外の場合は、入力専用フィールドです。 このフィールドの長さは LNQN によって指定されます。 このフィールドの初期値は 48 個のブランク文字です。

完全トピック名は、ODON および ODOS の 2 つのフィールドから作成できます。 これら 2 つのフィールドの使用方法について詳しくは、 トピック・ストリングの結合を参照してください。

ODORO (10 桁の符号付き整数)

最初のオブジェクト・レコードの MQOD の先頭からのオフセット。

これは、MQOD 構造体の先頭からの MQOR オブジェクト・レコードのオフセットをバイト数で表したものです。 オフセットの値は、正負どちらの値にもなります。 ODORO は、配布リストがオープン中の場合にのみ使用されます。 ODRECがゼロの場合、このフィールドは無視されます。

配布リストがオープン中の場合、1 つ以上の MQOR オブジェクト・レコードは、配布リスト中の宛先キューの名前を指定するために提供されなければなりません。 これは次の 2 つのうちいずれかの方法で行うことができます。
  • ODORO オフセット・フィールドを使用する

    この場合、アプリケーションは (必要なだけ多くの配列要素のある) MQOR レコードの配列で始まる MQOD を含む、独自の構造体を宣言する必要があります。さらに ODORO を、MQOD の先頭からその配列で最初の要素のオフセットに設定する必要があります。 このオフセットが正しく設定されるように注意しください。

  • ODORP ポインター・フィールドを使用する

    この場合、アプリケーションは MQOD 構造体とは別個に MQOR 構造体の配列を宣言でき、その配列のアドレスに ODORP を設定できます。

どちらの手法を選択しても、ODORO または ODORP のいずれか一方を使用しなければなりません。両方ともゼロである場合、またはいずれもゼロでない場合は、呼び出しは失敗し、理由コード RC2155 が戻ります。

これは入力フィールドです。 このフィールドの初期値は 0 です。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODORP (ポインター)

最初のオブジェクト・レコードのアドレス。

これは、最初の MQOR オブジェクト・レコードのアドレスです。 ODORP は、配布リストがオープン中の場合にのみ使用されます。 ODRECがゼロの場合、このフィールドは無視されます。

これは入力フィールドです。 このフィールドの初期値は、ヌル・ポインターです。 ODORP または ODORO のいずれか一方が使用されます。両方とも使用することはできません。詳細については、上述の ODORO フィールドを参照してください。 ODORPを使用しない場合は、ヌル・ポインターまたはヌル・バイトに設定する必要があります。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODOS (MQCHARV)

ODOS は、使用するロング・オブジェクト名を指定します。

このフィールドは、ODOT の特定の値に対してのみ参照されます。 このフィールドが使用されることを示す値の詳細については、「 ODOT 」の説明を参照してください。

ODOSMQCHARV 構造体の使用法の説明にあるとおりに正しく指定されていない場合、または最大長を超えている場合、呼び出しは失敗し、理由コード RC2441が戻ります。

これは入力フィールドです。 この構造体のフィールドの初期値は、MQCHARV 構造体のものと同じです。

完全トピック名は、ODON および ODOS の 2 つのフィールドから作成できます。 これら 2 つのフィールドの使用方法について詳しくは、 トピック・ストリングの結合を参照してください。 ODVER が ODVER4 より小さい場合は、このフィールドは無視されます。

ODOT (10 桁の符号付き整数)

オブジェクト・タイプ

ODON で名前が指定されているオブジェクトのタイプ。 指定可能な値は以下のとおりです。
OTQ
キュー。 オブジェクトの名前は ODON にあります。
OTNLST
名前リスト。 オブジェクトの名前は ODON にあります。
OTPRO
プロセス定義。 オブジェクトの名前は ODON にあります。
OTQM
キュー・マネージャー。 オブジェクトの名前は ODON にあります。
OTTOP
トピック。 完全トピック名は、ODON および ODOS の 2 つのフィールドから作成できます。
これら 2 つのフィールドの使用方法について詳しくは、 トピック・ストリングの結合を参照してください。
ODON フィールドによって識別されるオブジェクトが見つからない場合、ODOS で指定されたストリングが存在する場合でも、呼び出しは失敗し、理由コード RC2425 が戻ります。

これは常に入力フィールドです。 このフィールドの初期値は OTQ です。

ODREC (10 桁の符号付き整数)

存在するオブジェクト・レコードの数。

これは、アプリケーションが提供した MQOR オブジェクト・レコードの数です。 この数がゼロより大きい場合は配布リストがオープンされており、ODREC がリスト内の宛先キューの数になっていることを示しています。 配布リストに宛先が 1 つしかない場合は有効です。

ODREC の値はゼロ未満であってはなりません。また、この値がゼロより大きい場合、ODOT は OTQ でなければなりません。これらの条件を満たさないと、その呼び出しは失敗し、理由コード RC2154 が戻ります。

これは入力フィールドです。 このフィールドの初期値は 0 です。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODRMN (48 バイトの文字ストリング)

解決済みのキュー・マネージャーの名前。

これは、ローカル・キュー・マネージャーが名前の解決を実行した後の宛先キュー・マネージャーの名前です。 戻される名前は、ODRQNによって識別されるキューを所有するキュー・マネージャーの名前です。 ODRMNは、ローカル・キュー・マネージャーの名前にすることができます。

ODRQNが、ローカル・キュー・マネージャーが属するキュー共有グループが所有する共有キューである場合、ODRMNはそのキュー共有グループの名前です。 キューが他のキュー共有グループによって所有されている場合、ODRQNは、キュー共有グループの名前またはキュー共有グループのメンバーであるキュー・マネージャーの名前にすることができます (返される値の性質は、ローカル・キュー・マネージャーに存在するキュー定義によって異なります)。

非ブランク値は、オブジェクトがブラウズ、入力、または出力 (あるいはこれらの組み合わせ) を目的としてオープンされた単一のキューである場合にだけ戻されます。 オープンされたオブジェクトが以下のいずれかである場合、ODRMNはブランクに設定されます。
  • キューでない
  • キューだが、オープンの目的がブラウズ、入力、および出力のいずれでもない
  • OOBNDN が指定されたクラスター・キュー (DefBind キュー属性の値が BNDNOT のときは OOBNDQ が有効なキュー)
  • 配布リスト

これは出力フィールドです。 このフィールドの長さは LNQN によって指定されます。 このフィールドの初期値は、C 言語ではヌル・ストリングであり、他のプログラミング言語では 48 桁のブランク文字です。 ODVER が ODVER3 より小さい場合は、このフィールドは無視されます。

ODRO (MQCHARV)

ODRO は、キュー・マネージャーが ODON に指定された名前を解決した後のロング・オブジェクト名です。

このフィールドは、トピック・オブジェクトを参照する特定のタイプのオブジェクト、トピックおよびキュー別名の場合にのみ戻されます。

ロング・オブジェクト名が ODOS に指定されており、ODON には何も指定されていない場合、このフィールドに戻される値は、ODOS で指定されている名前と同じです。

このフィールドが省略されている (つまり ODRO.VSBufSize がゼロである) 場合、ODRO は戻されませんが、長さが ODRO.VSLength に戻されます。 長さが全体の ODRO よりも短い場合、これは切り捨てられ、指定された長さに入る限り右端の文字が最大限戻されます。

ODROMQCHARV 構造体の使用法の説明にあるとおりに正しく指定されていない場合、または最大長を超えている場合、呼び出しは失敗し、理由コード RC2520が戻ります。 ODVER が ODVER4 より小さい場合は、このフィールドは無視されます。

ODRQN (48 バイトの文字ストリング)

解決済みのキューの名前。

これは、ローカル・キューが名前の解決を実行した後の宛先キュー・マネージャーの名前です。 戻される名前は、ODRMNによって識別されるキュー・マネージャー上に存在するキューの名前です。

非ブランク値は、オブジェクトがブラウズ、入力、または出力 (あるいはこれらの組み合わせ) を目的としてオープンされた単一のキューである場合にだけ戻されます。 オープンされたオブジェクトが以下のいずれかである場合、ODRQNはブランクに設定されます。
  • キューでない
  • キューだが、オープンの目的がブラウズ、入力、および出力のいずれでもない
  • 配布リスト
  • トピック・オブジェクトを参照する別名キュー (代わりに ODRO (MQCHARV) を参照)

これは出力フィールドです。 このフィールドの長さは LNQN によって指定されます。 このフィールドの初期値は、C 言語ではヌル・ストリングであり、他のプログラミング言語では 48 桁のブランク文字です。 ODVER が ODVER3 より小さい場合は、このフィールドは無視されます。

ODRRO (10 桁の符号付き整数)

MQOD の先頭から最初の応答レコードのオフセット。

これは、MQOD 構造体の先頭から最初の MQRR 応答レコードのオフセットをバイト数で表したものです。 オフセットの値は、正負どちらの値にもなります。 ODRRO は、配布リストがオープン中の場合にのみ使用されます。 ODRECがゼロの場合、このフィールドは無視されます。

配布リストがオープン中の場合、1 つ以上の MQRR 応答レコードの配列が提供されます。これは、オープンに失敗したキューを判別するため (この場合、MQRR 内の RRCC フィールドに入ります)、および失敗した理由をそれぞれ判別するためです (この場合、MQRR 内の RRREA フィールドに入ります)。 データは、応答レコードの配列に、キューの名前がオブジェクト・レコードの配列に発生したのと同じ順番で戻ります。 キュー・マネージャーは、呼び出しの結果が混在したときのみ応答レコードを設定します。つまり、オープンに成功したキューもあれば失敗したキューもある場合、または全部失敗したが理由が異なる場合などです。呼び出しから理由コード RC2136 が戻るのはこの場合です。 すべてのキューに同じ理由コードが該当する場合は、その理由コードが MQOPEN または MQPUT1 呼び出しの REASON パラメーター内に戻され、応答レコードは設定されません。 応答レコードはオプションですが、指定する場合はこれらの ODREC が必要です。

応答レコードは、ODRRO にオフセットを指定するか、ODRRP にアドレスを指定することにより、オブジェクト・レコードと同様に提供されます。この方法の詳細については、上述の ODORO を参照してください。 ただし、ODRRO および ODRRP の両方を使用することはできません。両方ともゼロでない場合、呼び出しは失敗し、理由コード RC2156 が戻ります。

MQPUT1 呼び出しの場合、これらの応答レコードはエラーについての情報を返すのに使用されます。このエラーは、キューがオープンされる場合や、メッセージが配布リスト中のキューに送られる場合に発生します。 あるキューに対するオープン操作から出る完了コードおよび理由コードは、そのキューに対する書き込み操作から出るコードに置き換えられます。ただし、これは後者から戻った完了コードが CCOK または CCWARN であった場合に限られます。

これは入力フィールドです。 このフィールドの初期値は 0 です。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODRRP (ポインター)

最初の応答レコードのアドレス。

これは、最初の MQRR 応答レコードのアドレスです。 ODRRP は、配布リストがオープン中の場合にのみ使用されます。 ODRECがゼロの場合、このフィールドは無視されます。

応答レコードの指定には、ODRRP または ODRRO のいずれか一方を使用できます。両方とも使用することはできません。詳しくは、上述の ODRRO フィールドの説明を参照してください。 ODRRPを使用しない場合は、ヌル・ポインターまたはヌル・バイトに設定する必要があります。

これは入力フィールドです。 このフィールドの初期値は、ヌル・ポインターです。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODSID (4 バイトの文字ストリング)

構造体 ID

値は次のものでなければなりません。
ODSIDV
オブジェクト記述子構造体の ID。

これは常に入力フィールドです。 このフィールドの初期値は ODSIDV です。

ODSS (MQCHARV)

ODSS には、キューからメッセージを取り出す時に使用する選択基準を指定するために使用されるストリングが含まれています。

以下の場合には、ODSS は指定しないでください。
  • ODOT が OTQ ではない場合。
  • オープンされたキューが、OOINP* 入力オプションの 1 つを使用してオープンされていない場合。
これらの場合に ODSS が指定されると、呼び出しは失敗し、理由コード RC2516 が戻ります。

ODSSMQCHARV 構造体の使用法の説明にあるとおりに正しく指定されていない場合、または最大長を超えている場合、呼び出しは失敗し、理由コード RC2519が戻ります。 ODVER が ODVER4 より小さい場合は、このフィールドは無視されます。

ODUDC (10 桁の符号付き整数)

オープンに成功したリモート・キューの数

これは配布リスト中のキューの数で、リモート・キューに解決し、オープンに成功したキューの数です。 このフィールドは、配布リストにはない 1 つのキューをオープンするときにも設定されます。

これは出力フィールドです。 このフィールドの初期値は 0 です。 ODVER が ODVER2 より小さい場合は、このフィールドは無視されます。

ODVER (10 桁の符号付き整数)

構造体のバージョン番号。

値は次のいずれかでなければなりません。
ODVER1
バージョン 1 のオブジェクト記述子構造体。
ODVER2
バージョン 2 のオブジェクト記述子構造体。
ODVER3
バージョン 3 のオブジェクト記述子構造体。
ODVER4
バージョン 4 のオブジェクト記述子構造体。
これより新しいバージョンの構造体にのみ存在するフィールドは、そのフィールドの説明にその旨記載されています。 以下の定数は、現行バージョンのバージョン番号を指定しています。
ODVERC
現行バージョンのオブジェクト記述子構造体。

これは常に入力フィールドです。 このフィールドの初期値は ODVER1 です。

初期値

表 1. MQOD のフィールド
フィールド名 定数の名前 定数の値
ODSID ODSIDV 'OD¬¬'
ODVER ODVER1 1
ODOT OTQ 1
ODON なし ブランク
ODMN なし ブランク
ODDN なし 'AMQ.*'
ODAU なし ブランク
ODREC なし 0
ODKDC なし 0
ODUDC なし 0
ODIDC なし 0
ODORO なし 0
ODRRO なし 0
ODORP なし ヌル・ポインターまたはヌル・バイト
ODRRP なし ヌル・ポインターまたはヌル・バイト
ODASI SINONE Null
ODRQN なし ブランク
ODRMN なし ブランク
ODOS MQCHARV で定義されているとおり MQCHARV で定義されているとおり
ODRO ODOS と同じ ODOS と同じ
ODSS なし ブランク
注:
  1. 記号¬は、単一のブランク文字を表します。

RPG 宣言

     D*..1....:....2....:....3....:....4....:....5....:....6....:....7..
     D*
     D* MQOD Structure
     D*
     D*
     D* Structure identifier 
     D  ODSID                  1      4    INZ('OD  ')
     D*
     D* Structure version number 
     D  ODVER                  5      8I 0 INZ(1)
     D*
     D* Object type 
     D  ODOT                   9     12I 0 INZ(1)
     D*
     D* Object name 
     D  ODON                  13     60    INZ
     D*
     D* Object queue manager name 
     D  ODMN                  61    108    INZ
     D*
     D* Dynamic queue name 
     D  ODDN                 109    156    INZ('AMQ.*')
     D*
     D* Alternate user identifier 
     D  ODAU                 157    168    INZ
     D*
     ** Number of object records
     D* present 
     D  ODREC                169    172I 0 INZ(0)
     D*
     ** Number of local queues opened
     D* successfully 
     D  ODKDC                173    176I 0 INZ(0)
     D*
     ** Number of remote queues opened
     D* successfully 
     D  ODUDC                177    180I 0 INZ(0)
     D*
     ** Number of queues that failed to
     D* open 
     D  ODIDC                181    184I 0 INZ(0)
     D*
     ** Offset of first object record
     D* from start of MQOD 
     D  ODORO                185    188I 0 INZ(0)
     D*
     ** Offset of first response record
     D* from start of MQOD 
     D  ODRRO                189    192I 0 INZ(0)
     D*
     D* Address of first object record 
     D  ODORP                193    208*   INZ(*NULL)
     D*
     ** Address of first response
     D* record 
     D  ODRRP                209    224*   INZ(*NULL)
     D*
     D* Alternate security identifier 
     D  ODASI                225    264    INZ(X'00000000000000000-
     D                                     0000000000000000000000000-
     D                                     0000000000000000000000000-
     D                                     0000000000000')
     D*
     D* Resolved queue name 
     D  ODRQN                265    312    INZ
     D*
     D* Resolved queue manager name 
     D  ODRMN                313    360    INZ
     D*
     D* reserved field 
     D  ODRE1                361    364I 0 INZ(0)
     D*
     D* reserved field 
     D  ODRS2                365    368I 0 INZ(0)
     D*
     D* Object long name 
     D* Address of variable length string 
     D  ODOSCHRP             369    384*   INZ(*NULL)
     D* Offset of variable length string 
     D  ODOSCHRO             385    388I 0 INZ(0)
     D* Size of buffer 
     D  ODOSVSBS             389    392I 0 INZ(-1)
     D* Length of variable length string 
     D  ODOSCHRL             393    396I 0 INZ(0)
     D* CCSID of variable length string 
     D  ODOSCHRC             397    400I 0 INZ(-3)
     D*
     D* Message Selector 
     D* Address of variable length string 
     D  ODSSCHRP             401    416*   INZ(*NULL)
     D* Offset of variable length string 
     D  ODSSCHRO             417    420I 0 INZ(0)
     D* Size of buffer 
     D  ODSSVSBS             421    424I 0 INZ(-1)
     D* Length of variable length string 
     D  ODSSCHRL             425    428I 0 INZ(0)
     D* CCSID of variable length string 
     D  ODSSCHRC             429    432I 0 INZ(-3)
     D*
     D* Resolved long object name
     D* Address of variable length string 
     D  ODRSOCHRP            433    448*   INZ(*NULL)
     D* Offset of variable length string 
     D  ODRSOCHRO            449    452I 0 INZ(0)
     D* Size of buffer 
     D  ODRSOVSBS            453    456I 0 INZ(-1)
     D* Length of variable length string 
     D  ODRSOCHRL            457    460I 0 INZ(0)
     D* CCSID of variable length string 
     D  ODRSOCHRC            461    464I 0 INZ(-3)
     D*
     D* Alias queue resolved object type 
     D  ODRT                 465    468I 0 INZ(0)