find操作
find
操作は、要求ペイロードで指定された検索基準に適合するサービス・データ・オブジェクトを取得します。 多数の属性または多数のサービス・データ・オブジェクトを持つエンティティで構成されるビジネス・オブジェクトの属性のサブセットを取得するには、この操作を使用します。
-
フェッチの開始とサイズ
-
フィルタ基準
-
ソート順
-
包含または除外する属性のリスト
操作のシグネチャ
find
操作の要求ペイロードは、操作の動作を制御する2つのパラメータを受け取ります。 FindCriteria
およびFindControl
型の定義は、BC4JService.xsdのサンプルを参照してください。
<element name="findSalesLead">
<complexType>
<sequence>
<element name="findCriteria" type="ns0:FindCriteria"/>
<element name="findControl" type="ns0:FindControl"/>
</sequence>
</complexType>
</element>
要求ペイロードのパラメータ
find
の要求ペイロードのパラメータによって、検索基準を広範に制御できます。 次の図は、find
操作のパラメータを示しています。
次の表では、要求ペイロードの要素をリストし、各要素について簡単に説明します。
パラメータ | 摘要 |
---|---|
attribute |
フィルタするオブジェクト属性の名前を格納し、大/小文字が区別されます。 すべての属性を問い合せることができます。 |
childFindCriteria |
childAttrName で指定された子サービス・データ・オブジェクトのフェッチの開始、フェッチ・サイズ、フィルタ、ソートおよび選択基準を指定します。 childFindCriteria を別のchildFindCriteria 内にネストすると、フェッチの開始とフェッチ・サイズや、フィルタ、ソート、選択の基準を最上位オブジェクトの子と子孫に適用できます。 |
conjunction |
検索条件が相互に関連してどのように評価されるかを定義します。 有効な値は、And 、Or 、Not 、AndNot 、およびOrNot です。 これらの値は、大/小文字が区別されます。 |
excludeAttribute |
findAttribute 要素で指定した属性を応答ペイロードに含めないかどうかを指定します。 デフォルトのオプションはfalse です。 find操作の応答ペイロードのサイズを小さくするには、excludeAttribute をfindAttribute と組み合せて使用して、必要な要素のみを返すようにします。 |
fetchStart |
フェッチするオブジェクトとフェッチを開始する索引を指定します。 これはゼロベースの索引で、デフォルト値は0です。 値が0に設定されている場合、結果セットはデータセットの最初の行から始まります。 値が99に設定されている場合、結果セットはデータセットの100番目の行から始まります。 |
fetchSize |
取得する最上位オブジェクトの最大数を指定します。 fetchSize がデフォルト値である-1の場合、検索基準に適合する行のうち、fetchStart から始まって、最大fetchSize までのすべての行が取得されます。 サービスの実装で上書きされていないかぎり、fetchSize の有効な最大値は500行です。 fetchSize の値が残りの行数より大きい場合、残りの行数のみが返されます。 |
filter |
conjunction、groupおよびnested要素を含む検索基準を格納します。 フィルタが指定されていない場合、すべての行が取得されます。 ノート: フィルタ基準に定型タイプ・フィールドは使用しないでください。 |
findAttribute |
filter 基準を満たすものについて、取得する属性のサブセットを指定します。 サブセットが指定されていない場合、すべての属性がフェッチされます。 子オブジェクトを結果セットに含める場合は、それをサブセットに含める必要があります。 |
findControl |
現在のリリースでは使用されません。 |
findCriteria |
すべてのサービス・データ・オブジェクト・レベルのフェッチ・サイズ、検索基準、ソート基準、および内容の包含または除外に関する情報を格納します。 |
group |
1つ以上の属性に関する実行時検索条件のセットを格納します。 group要素には、conjunction、upperCaseCompare およびitem要素が含まれます。 |
item |
1つの属性に関する1つの実行時検索条件を格納します。 item要素には、conjunction、upperCaseCompare 、attribute、operator、valueおよびnested要素が含まれます。 |
nested |
最上位エンティティが結果に含まれる必要があるかどうかを決定するための、子エンティティおよび子孫エンティティの検索基準を定義します。 たとえば、基準に適合する子エンティティを含む場合に親オブジェクトを返します。 |
operator |
属性および値に適用する演算を格納し、大/小文字が区別されます。 演算子のリストを参照してください。 |
sortOrder |
ゼロ個以上のsortAttribute 子要素を設定して、結果セットのソート順を指定します。 複数のsortAttribute 要素が指定されている場合、ソートは、これらの要素の順番に基づきます。 |
sortAttribute |
属性名と、属性値を降順でソートする必要があるかどうかを示すブール値を格納します。 デフォルトのソート順は昇順です。 |
upperCaseCompare |
大/小文字を区別しない検索であるかどうかを指定します。 デフォルトのオプションはfalseです。 |
value |
属性のフィルタ基準を格納します。次の文字を使用できます。
|
childFindCriteria
パラメータを指定する必要があります。次の表は、operator
パラメータに指定できる演算子のリストです。 これらの演算子の中には、特定のサービス・データ・オブジェクト属性では無効なものもあります。 そのような属性については、無効な演算子をfindCriteria
パラメータで使用することはできません。
演算子 | 文字列での使用 | はい | 日付での使用 |
---|---|---|---|
= | はい | はい | はい |
& | はい | ||
> | はい | ||
>= | はい | はい | |
< | はい | はい | |
<= | はい | はい | |
<> | はい | はい | はい |
AFTER | はい | ||
BEFORE | はい | ||
BETWEEN | はい | はい | はい |
CONTAINS | はい | ||
DOESNOTCONTAIN | はい | ||
ENDSWITH | はい | ||
ISBLANK | はい | はい | はい |
ISNOTBLANK | はい | はい | はい |
NOTBETWEEN | はい | はい | はい |
ONORAFTER | はい | ||
ONORBEFORE | はい | ||
STARTSWITH | はい |
例
次の例は、find
操作の応答ペイロード宣言を示しています。
<element name="findSalesLeadResponse">
<complexType>
<sequence>
<element maxOccurs="unbounded" minOccurs="0" name="result" type="ns1:MklLead"/>
</sequence>
</complexType>
</element>
次の例では、LeadId
が300100041938883と等しい営業リード・オブジェクトが検索され、オブジェクトの属性のサブセットのみが返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findSalesLead
xmlns:ns1="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:attribute>LeadId</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>300100041938883</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>Name</ns2:findAttribute>
<ns2:findAttribute>LeadId</ns2:findAttribute>
<ns2:findAttribute>DealAmount</ns2:findAttribute>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>
応答ペイロードは、営業リード・オブジェクトのName
、LeadId
およびDealAmount
属性のみを返します。
<ns0:findSalesLeadResponse xmlns=""
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/types/"
xmlns:wsa="http://www.w3.org/2005/08/addressing"
xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<ns2:result xmlns:ns0="http://xmlns.oracle.com/adf/svc/types/"
xmlns:ns1="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/"
xmlns:ns2="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/types/"
xmlns:ns3="http://xmlns.oracle.com/apps/crmCommon/notes/noteService"
xmlns:ns4="http://xmlns.oracle.com/oracle/apps/marketing/leadMgmt/leads/leadService/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns4:MklLead">
<ns4:Name>Issaquah Imaging Innovations - Tablets</ns4:Name>
<ns4:LeadId>300100041938883</ns4:LeadId>
<ns1:Value>
<ns4:DealAmount currencyCode="USD"
xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/">100000</ns4:DealAmount>
</ns2:result>>
</ns0:findSalesLeadResponse><ns0:findLocationResponse xmlns=""
関連する操作
サービス・データ・オブジェクトのすべての属性を取得するには、get
操作を使用します。 この操作は、問合せ要件が複雑でない場合に便利です。