XML 構造のクエリー
クエリーのルート要素の名前は、操作 (クエリー) と関連のオブジェクト構造の名前を連結したものです。 例えば、QueryMXPERSON です。この MXPERSON がオブジェクト構造です。
ルート要素
クエリーのルート要素の名前は、操作とオブジェクト構造の名前を連結したものです。例えば QueryMXPERSON という名前の場合、MXPERSON はオブジェクト構造です。 次の表に、クエリーのルート要素、クエリーへの応答、またはこの両方に具体的に適用できる属性をリストします。 この表のすべての属性はオプションです。
| 属性 | 説明 | タイプ | 適用先 |
|---|---|---|---|
| uniqueResult | クエリーが応答で 1 つのレコードまたは複数のレコードのどちらを予期するかを指定します。 値 0 (デフォルト): クエリーは複数のレコードを返すことができます。 値 1: クエリーは単一のレコードを返すことができます。それ以外の場合、エラーが発生します。 |
ブール値 | 照会 |
| maxItems | クエリーが複数のレコードを返すことができる場合、この属性は、一度に返されるレコード数を制限します。 この属性が指定されていない場合、応答には結果セット全体が含まれます。 |
PositiveInteger | 照会 |
| rsStart | クエリー要求の中で、次のようにします。 maxItems と一緒に使用して、応答で返される最初のレコードを指定します。 maxItems が 10 に等しく、rsStart が指定されていない場合、応答は 0 から 9 の結果を戻します。 結果 10 から 19 を受け取るには、rsStart を 10として照会を再送してください。 rsStart が指定されていない場合、応答は結果セットの最初のレコードから開始します。 クエリ結果セット内のレコード数が rsStart,の値より少ない場合、応答はレコードを返しません。 |
整数 | 照会 |
| rsStart | クエリー応答の中で、次のようにします。 この値は、対応する要求の rsStart 値と一致します。 対応する要求に maxItems 値が含まれる場合、追加レコードの要求の中の rsStart 値は rsStart + rsCount + 1 です。 この属性が指定されていない場合、応答は結果セットの最初のレコードから開始し、rsCount 属性によって指定されたレコード数を含みます。 |
整数 | 応答 |
| rsCount | メッセージで返されるレコード数。 rsCount は、応答処理層の一部としてスキップされる行を反映しません。 |
整数 | 応答 |
| rsTotal | 結果セットの合計レコード数。 クエリーが maxItems 値を指定しない場合、rsTotal 値は rsCount 値と同じです。 |
整数 | 応答 (出力) |
例えば、rstart 値を 11 に設定し、maxItems 値を 10 に設定すると、このクエリー要求に対する応答で、クエリー結果セットのレコード 11 から 20 が返されます。
<max:QueryMXINVBAL xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-049-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" uniqueResult="0" maxItems="10" rsStart="11">
<max:MXINVBALQuery orderby="string" operandMode="OR">次のクエリー結果セットには rsTotal に示されるように合計 35 行が含まれていますが、行 11 から 20 のみが返されます。
<max:QueryMXINVBALResponse xmlns:max="http://www.ibm.com/maximo"
creationDateTime="2011-04-28T21:49:45"
baseLanguage="EN" transLanguage="EN" messageID="12345"
maximoVersion="7.5" rsStart="11" rsCount="10" rsTotal="35">
<max:MXINVBALSet>
.
.
.
</max:MXINVBALSet>クエリー演算子
QueryOperatorType データ型は、複数の異なる演算子の使用に対応しています。 クエリー要求の XML では複数の異なる演算子を使用して、クエリーを発行した外部ソースに返されるデータをフィルターに掛けることができます。
QueryMXPERSON 要素
QueryMXPERSON 要素には、以下のタイプがあります。
- QueryMXPERSON 要素のタイプは QueryMXPERSONType です。
- QueryMXPERSONType には、タイプ MXPERSONQueryType の要素 MXPERSONQuery があります。
- MXPERSONQueryType には、PERSON オブジェクトとその下位階層にある全オブジェクト (EMAIL、PHONE、および SMS) のすべての構成済み属性に対応する要素が含まれています。
QueryMXPERSON 操作要素では、以下の属性が使用されます。
- uniqueResults – ブール型の値。この値が 1 (True) に設定されると、単一の固有レコードを返すようにクエリーに指示します。 複数のレコードが検出されると、エラーが返されます。 この属性が指定されない場合のデフォルト値は 0 (False) です。
- maxItems - この値が照会で 10 に設定されている場合、照会の結果セットが 10 より大きくなる可能性がある場合でも、照会で戻されるレコードの数を 10 に制限します。 属性が定義されていない場合は、照会の結果セット内のすべての行が戻されます。
- rsStart - この値が照会で 11 に設定されている場合、結果セット内のすべてのレコードが、レコード 11 から戻されます。 照会結果は、レコード 1 から 10 をスキップします。 属性が定義されていない場合、レコードは、結果セット内のレコード 1 から開始されます。
MXPERSONQuery 内容要素では、以下の追加属性が使用されます。
- orderby – この値を使用すると、SQL ステートメントで Order By を使用する場合と同じ機能が得られます。 この属性には、ASC および DESC オプションも含むコンマ区切りフィールド名のリストを含めることができます。 この属性が定義されない場合、そのクエリーではデータベースによって取り出されたときの順序でレコードが返されます。
- operandMode – この値には 2 つの有効な値 AND および OR が含まれます。 クエリー実行時の評価で 1 つ以上のフィールドが使用されると、システムはこの値を使用します。 AND 値を使用する場合は、すべてのフィールド評価が True でなければなりません。 OR 値を使用する場合は、フィールド評価の 1 つのみが True でなければなりません。 この属性が定義されない場合のデフォルト値は AND です。
QueryMXPERSONResponse 要素
QueryMXPERSONResponse 要素には、以下のタイプがあります。
- 要素 QueryMXPERSONResponse のタイプは QueryMXPERSONResponseType です。
- QueryMXPERSONResponseType には、タイプ MXPERSONSetType の要素 MXPERSONSet があります。
- MXPERSONSetType には、PERSON オブジェクトのすべての構成済み属性の要素、およびオブジェクト構造で定義された下位階層オブジェクト (PHONE、EMAIL、XYZ、および SMS) の要素があります。
QueryMXPERSONResponse 要素には、以下の属性があります。
- rsStart – この値にはクエリー要求で設定された値が含まれます。 要求でこの値が定義されていない場合のデフォルト応答値は 1 です。
- rsCount – この値には、クエリー応答で返されるレコード数が含まれます。
- total – この値には、クエリーの最終的な結果セットのレコード数が含まれます。 クエリー要求で maxItems 属性が使用されているときは、total 値の方が返されるレコード数より多い場合があります。