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 値の方が返されるレコード数より多い場合があります。