![[IBM i]](ngibmi.gif)
IBM i での MQOD (オブジェクト記述子)
MQOD 構造体は、オブジェクトを名前で指定するために使用されます。
概要
- キューまたは配布リスト
- 名前リスト
- プロセス定義
- キュー・マネージャー
- トピック
バージョン: 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」の説明を参照してください。ODOSが MQCHARV 構造体の使用法の説明にあるとおりに正しく指定されていない場合、または最大長を超えている場合、呼び出しは失敗し、理由コード RC2441が戻ります。これは入力フィールドです。 この構造体のフィールドの初期値は、MQCHARV 構造体のものと同じです。
完全トピック名は、
ODONおよびODOSの 2 つのフィールドから作成できます。 これら 2 つのフィールドの使用方法について詳しくは、 トピック・ストリングの結合を参照してください。ODVERが ODVER4 より小さい場合は、このフィールドは無視されます。- ODOT (10 桁の符号付き整数)
オブジェクト・タイプ
ODONで名前が指定されているオブジェクトのタイプ。 指定可能な値は以下のとおりです。- OTQ
- キュー。 オブジェクトの名前は
ODONにあります。 - OTNLST
- 名前リスト。 オブジェクトの名前は
ODONにあります。 - OTPRO
- プロセス定義。 オブジェクトの名前は
ODONにあります。 - OTQM
- キュー・マネージャー。 オブジェクトの名前は
ODONにあります。 - OTTOP
- トピック。 完全トピック名は、
ODONおよびODOSの 2 つのフィールドから作成できます。
これは常に入力フィールドです。 このフィールドの初期値は 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よりも短い場合、これは切り捨てられ、指定された長さに入る限り右端の文字が最大限戻されます。ODROが MQCHARV 構造体の使用法の説明にあるとおりに正しく指定されていない場合、または最大長を超えている場合、呼び出しは失敗し、理由コード 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 が戻ります。ODSSが MQCHARV 構造体の使用法の説明にあるとおりに正しく指定されていない場合、または最大長を超えている場合、呼び出しは失敗し、理由コード RC2519が戻ります。ODVERが ODVER4 より小さい場合は、このフィールドは無視されます。- ODUDC (10 桁の符号付き整数)
オープンに成功したリモート・キューの数
これは配布リスト中のキューの数で、リモート・キューに解決し、オープンに成功したキューの数です。 このフィールドは、配布リストにはない 1 つのキューをオープンするときにも設定されます。
これは出力フィールドです。 このフィールドの初期値は 0 です。
ODVERが ODVER2 より小さい場合は、このフィールドは無視されます。- ODVER (10 桁の符号付き整数)
構造体のバージョン番号。
値は次のいずれかでなければなりません。- ODVER1
- バージョン 1 のオブジェクト記述子構造体。
- ODVER2
- バージョン 2 のオブジェクト記述子構造体。
- ODVER3
- バージョン 3 のオブジェクト記述子構造体。
- ODVER4
- バージョン 4 のオブジェクト記述子構造体。
これより新しいバージョンの構造体にのみ存在するフィールドは、そのフィールドの説明にその旨記載されています。 以下の定数は、現行バージョンのバージョン番号を指定しています。- ODVERC
- 現行バージョンのオブジェクト記述子構造体。
これは常に入力フィールドです。 このフィールドの初期値は ODVER1 です。
初期値
| フィールド名 | 定数の名前 | 定数の値 |
|---|---|---|
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 |
なし | ブランク |
注:
|
||
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)