find操作の使用例
findの要求ペイロードの様々なパラメータを使用して、複雑な検索基準を指定し、親および子オブジェクトから属性を取得できます。
子サービス・データ・オブジェクトの属性のサブセットを返す
LocationProfile
子オブジェクト全体を応答に含めるには、値としてLocationProfile
を格納する新しいfindAttribute
要素を要求ペイロードに追加します。 この例では、内部識別子が958に設定されている事業所が選択されます。 応答では、City
、State
、Province
、Country
、LocationId
、およびLocationProfile
子オブジェクトのすべての属性が返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findLocation
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/
locationService/applicationModule/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:attribute>LocationId</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>958</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>City</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>Province</ns2:findAttribute>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>LocationId</ns2:findAttribute>
<ns2:findAttribute>LocationProfile</ns2:findAttribute>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>
LocationProfile
子オブジェクトの要素のサブセットのみを含めるには、childFindCriteria
要素を使用し、findAttribute
要素を使用して、含める要素を指定します。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findLocation
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/locationService/
applicationModule/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:attribute>LocationId</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>958</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>City</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>Province</ns2:findAttribute>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>LocationId</ns2:findAttribute>
<ns2:findAttribute>LocationProfile</ns2:findAttribute>
<ns2:childFindCriteria>
<ns2:findAttribute>LocationProfileId</ns2:findAttribute>
<ns2:findAttribute>EffectiveStartDate</ns2:findAttribute>
<ns2:findAttribute>EffectiveEndDate</ns2:findAttribute>
<ns2:childAttrName>LocationProfile</ns2:childAttrName>
</ns2:childFindCriteria>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>
応答ペイロードでは、findAttributes
要素に対応する属性とともに、LocationProfile
オブジェクトのLocationProfileId
、EffectiveStartDate
、およびEffectiveEndDate
のみが返されます。
<ns0:findLocationResponse xmlns=""
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://xmlns.oracle.com/apps/cdm/foundation/parties/locationService/
applicationModule/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/cdm/foundation/parties/locationService/"
xmlns:ns2="http://xmlns.oracle.com/apps/cdm/foundation/parties/locationService/
applicationModule/types/"
xmlns:ns3="http://xmlns.oracle.com/apps/cdm/foundation/parties/partyService/"
xmlns:ns4="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/location/"
xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:type="ns1:LocationResult">
<ns1:Value>
<ns1:LocationId>958</ns1:LocationId>
<ns1:Country>US</ns1:Country>
<ns1:City>St. Charles</ns1:City>
<ns1:State>AR</ns1:State>
<ns1:Province xsi:nil="true"/>
<ns1:LocationProfile>
<ns1:LocationProfileId>10035</ns1:LocationProfileId>
<ns1:EffectiveStartDate>2004-02-23</ns1:EffectiveStartDate>
<ns1:EffectiveEndDate>4712-12-31</ns1:EffectiveEndDate>
</ns1:LocationProfile>
</ns1:Value>
</ns2:result>
</ns0:findLocationResponse>
親レベルの複雑な検索基準
この要求ペイロードの例では、Location
オブジェクトでCountry
がUSに設定され、State
がAKに設定されている事業所が検索されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findLocation
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/
locationService/applicationModule/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:fetchStart>0</ns2:fetchStart>
<ns2:fetchSize>500</ns2:fetchSize>
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>Country</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>US</ns2:value>
</ns2:item>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>State</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>AK</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>PostalCode</ns2:findAttribute>
<ns2:findAttribute>City</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>Province</ns2:findAttribute>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>LocationId</ns2:findAttribute>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>
応答ペイロードには、Location
オブジェクトのPostalCode
、City
、State
、Province
、Country
およびLocationId
が格納されます。
<ns0:findLocationResponse xmlns="" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns0="http://xmlns.oracle.com/apps/cdm/foundation/parties/locationService/applicationModule/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/cdm/foundation/parties/locationService/"
xmlns:ns2="http://xmlns.oracle.com/apps/cdm/foundation/parties/locationService/
applicationModule/types/"
xmlns:ns3="http://xmlns.oracle.com/apps/cdm/foundation/parties/partyService/"
xmlns:ns4="http://xmlns.oracle.com/apps/cdm/foundation/parties/flex/location/"
xmlns:tns="http://xmlns.oracle.com/adf/svc/errors/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="ns1:LocationResult">
<ns1:Value>
<ns1:LocationId>999997516465004</ns1:LocationId>
<ns1:Country>US</ns1:Country>
<ns1:City>JUNEAU</ns1:City>
<ns1:PostalCode>99801-7814</ns1:PostalCode>
<ns1:State>AK</ns1:State>
<ns1:Province xsi:nil="true"/>
</ns1:Value>
<ns1:Value>
<ns1:LocationId>999997516000512</ns1:LocationId>
<ns1:Country>US</ns1:Country>
<ns1:City>KOTZEBUE</ns1:City>
<ns1:PostalCode>99752</ns1:PostalCode>
<ns1:State>AK</ns1:State>
<ns1:Province xsi:nil="true"/>
</ns1:Value>
<ns1:Value>
<ns1:LocationId>999997518214847</ns1:LocationId>
<ns1:Country>US</ns1:Country>
<ns1:City>ANCHORAGE</ns1:City>
<ns1:PostalCode>99518-1074</ns1:PostalCode>
<ns1:State>AK</ns1:State>
<ns1:Province xsi:nil="true"/>
</ns1:Value>
...
子のデータに依存する検索基準
この例では、子オブジェクトに適用される検索基準に基づいて親オブジェクトを選択する方法について説明します。 要求ペイロードでは、米国のアラスカ州にある事業所のうち、LocationProfile
子オブジェクト・エンティティで有効開始日が1950-04-12以降に設定されているすべての事業所が検索されます。 応答ペイロードでは、Location
オブジェクトのLocationId
およびCountry
属性とともに、LocationProfile
子オブジェクトのEffectiveStartDate
およびLocationId
属性が返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findLocation
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/
locationService/applicationModule/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:fetchStart>0</ns2:fetchStart>
<ns2:fetchSize>500</ns2:fetchSize>
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:attribute>Country</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>US</ns2:value>
</ns2:item>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>State</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>AK</ns2:value>
</ns2:item>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>LocationProfile</ns2:attribute>
<ns2:nested>
<ns2:group>
<ns2:item>
<ns2:attribute>EffectiveStartDate</ns2:attribute>
<ns2:operator>ONORAFTER</ns2:operator>
<ns2:value>1950-04-12</ns2:value>
</ns2:item>
</ns2:group>
</ns2:nested>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>LocationId</ns2:findAttribute>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>LocationProfile</ns2:findAttribute>
<ns2:childFindCriteria>
<ns2:findAttribute>EffectiveStartDate</ns2:findAttribute>
<ns2:findAttribute>LocationProfileId</ns2:findAttribute>
<ns2:childAttrName>LocationProfile</ns2:childAttrName>
</ns2:childFindCriteria>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>
子レベルの検索基準
この例では、親および子レベルで検索基準を適用する方法について説明します。 要求ペイロードでは、米国のアラスカ州にある最初の500の事業所が選択されます。 応答ペイロードでは、Location
オブジェクトのPostalCode
、City
、State
、Province
、Country
およびLocationId
属性が返されます。 さらに、EffectiveStartDate
が1950-04-12以降である場合、LocationProfile
のCountry
、FloorNumber
、City
、State
、Province
およびEffectiveStartDate
属性も返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findLocation
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/
locationService/applicationModule/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:fetchStart>0</ns2:fetchStart>
<ns2:fetchSize>500</ns2:fetchSize>
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:attribute>Country</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>US</ns2:value>
</ns2:item>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>State</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>AK</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>PostalCode</ns2:findAttribute>
<ns2:findAttribute>City</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>Province</ns2:findAttribute>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>LocationId</ns2:findAttribute>
<ns2:findAttribute>LocationProfile</ns2:findAttribute>
<ns2:childFindCriteria>
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:attribute>EffectiveStartDate</ns2:attribute>
<ns2:operator>ONORAFTER</ns2:operator>
<ns2:value>1950-04-12</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>FloorNumber</ns2:findAttribute>
<ns2:findAttribute>City</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>Province</ns2:findAttribute>
<ns2:findAttribute>EffectiveStartDate</ns2:findAttribute>
<ns2:childAttrName>LocationProfile</ns2:childAttrName>
</ns2:childFindCriteria>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>
検索結果のソート
この例では、検索結果をソートする方法について説明します。 要求ペイロードでは、米国のアラスカ州のLocation
オブジェクトが検索され、PostalCode
によって昇順でソートされた後、City
によって降順でソートされます。 応答ペイロードでは、Location
オブジェクトのPostalCode
、City
、State
、Province
、Country
およびLocationId
属性が返されます。
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns1:findLocation
xmlns:ns1="http://xmlns.oracle.com/apps/cdm/foundation/parties/
locationService/applicationModule/types/">
<ns1:findCriteria xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
<ns2:fetchStart>0</ns2:fetchStart>
<ns2:fetchSize>500</ns2:fetchSize>
<ns2:filter>
<ns2:group>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>Country</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>US</ns2:value>
</ns2:item>
<ns2:item>
<ns2:conjunction>And</ns2:conjunction>
<ns2:attribute>State</ns2:attribute>
<ns2:operator>=</ns2:operator>
<ns2:value>AK</ns2:value>
</ns2:item>
</ns2:group>
</ns2:filter>
<ns2:sortOrder>
<ns2:sortAttribute>
<ns2:name>PostalCode</ns2:name>
</ns2:sortAttribute>
<ns2:sortAttribute>
<ns2:name>City</ns2:name>
<ns2:descending>true</ns2:descending>
</ns2:sortAttribute>
</ns2:sortOrder>
<ns2:findAttribute>PostalCode</ns2:findAttribute>
<ns2:findAttribute>City</ns2:findAttribute>
<ns2:findAttribute>State</ns2:findAttribute>
<ns2:findAttribute>Province</ns2:findAttribute>
<ns2:findAttribute>Country</ns2:findAttribute>
<ns2:findAttribute>LocationId</ns2:findAttribute>
</ns1:findCriteria>
</ns1:findLocation>
</soap:Body>
</soap:Envelope>