機械翻訳について

process操作

process操作は、要求ペイロードで指定された同じ型のビジネス・オブジェクトのリストに対してcreate、update、deleteまたはmerge操作を実行します。

通常、この操作は一括処理に使用され、すべてのビジネス・オブジェクトに対して同じ操作を実行できます。 同じコールで1つのオブジェクトに対してcreate操作を実行し、別のオブジェクトに対してdelete操作を実行することはできません。 processControlパラメータは、操作の次の動作を制御します。

  • 応答ペイロードの詳細レベル: 応答ペイロードが空のペイロードを返すか、主キーのペイロードを返すか、サービス・データ・オブジェクトの定義全体を含むペイロードを返すかを制御します。 パフォーマンスを向上させるには、最初の2つのオプションを使用します。 最初のオプションではフェッチが省略されるとともに、どちらのオプションでも応答ペイロードのサイズが小さくなります。

  • エラー・メッセージの詳細レベル: エラー・メッセージに情報を含めないか、主キーのみを含めるか、エラーが発生したサービス・データ・オブジェクトのすべての属性を含めるかを制御します。 最初のオプションでは、オブジェクトに関する情報は提供されません。

  • 部分的な失敗の制御: サービス・データ・オブジェクトのリストに対する変更がどのようにコミットされるかを制御します。 サービスで部分的な失敗の機能が有効になっており、要求がこの機能を利用するとします。 特定のオブジェクトでエラーが発生した場合、操作はこのオブジェクトをスキップし、他のオブジェクトの処理を続行します。 処理が完了すると、正常に変更されたオブジェクトがコミットされ、エラーのあるオブジェクトはコミットされません。 処理エラーがすべてのオブジェクトに影響する場合、オブジェクトはコミットされません。
    ノート: 設計フェーズ中にトランザクション・レベルの検証を定義すると、実行時にこれらの検証によって、エンティティ・レベルで定義された部分的な失敗の制御機能が上書きされます。 つまり、実行時にトランザクション・レベルの検証が失敗すると、部分的な失敗の制御が有効になっていても、トランザクション内のサービス・データ・オブジェクトはコミットされません。

操作のシグネチャ

営業リード・サービスの場合、processSalesLead操作のシグネチャは次の要素で構成されます。

  • 要求ペイロード内のビジネス・オブジェクトに対して実行される操作の名前。 changeOperationパラメータにこの名前が格納され、有効な値はCreateUpdateMergeおよびDeleteです。 この値は、大/小文字が区別されます。

  • changeOperationパラメータで指定された操作の実行対象となるビジネス・オブジェクトのリスト。

  • 応答ペイロードおよびエラー・メッセージの詳細を制御するパラメータ。 オブジェクト全体を返す場合はreturnModeおよびexceptionReturnMode要素をFullに、主キーのみを返す場合はKeyに、情報を返さない場合はNoneに設定します。

  • 部分的な失敗のモードに関するパラメータ。 部分的な失敗のモードを有効にするには、このパラメータをtrueに設定します。 デフォルト値はfalseです。

要求ペイロードのシグネチャは次のとおりです。 ProcessControl型の定義は、BC4JService.xsdのサンプルを参照してください。

<element name="processSalesLead">
    <complexType>
        <sequence>
            <element name="changeOperation" type="string"/>
            <element maxOccurs="unbounded" minOccurs="0" name="salesLead" type="ns1:MklLead"/>
            <element name="processControl" type="ns2:ProcessControl"/>
        </sequence>
    </complexType>
</element>

操作が正常に完了すると、ProcessControlの設定に基づいた値が応答ペイロードによって返されます。

<element name="processSalesLeadResponse">
    <complexType>
        <sequence>
            <element maxOccurs="unbounded" minOccurs="0" name="result" type="ns1:MklLead"/>
        </sequence>
    </complexType>
</element>

この例では、取引金額がそれぞれ$1,500,000 USDおよび$450,000 USDに設定されているSammamish TechnologiesSnoqualmie Softwareの2つの新しい営業リード・オブジェクトが作成されます。

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Body>
        <ns1:processSalesLead
xmlns:ns1="http://xmlns.oracle.com/apps/marketing/leadMgmt/leads/leadService/types/">
            <ns1:changeOperation>Create</ns1:changeOperation>
            <ns1:salesLead 
xmlns:ns2="http://xmlns.oracle.com/oracle/apps/marketing/leadMgmt/leads/leadService/">
                <ns2:Name>Sammamish Technoloiges</ns2:Name>
                <ns2:DealAmount currencyCode="USD">1500000</ns2:DealAmount>
            </ns1:salesLead>
            <ns1:salesLead 
                <ns2:Name>Snoqualmie Software</ns2:Name>
                <ns2:DealAmount currencyCode="USD">450000</ns2:DealAmount>
            </ns1:salesLead>
            <ns1:processControl xmlns:ns2="http://xmlns.oracle.com/adf/svc/types/">
                <ns2:returnMode>Key</ns2:returnMode>
                <ns2:exceptionReturnMode>Key</ns2:exceptionReturnMode>
                <ns2:partialFailureAllowed>false</ns2:partialFailureAllowed>
            </ns1:processControl>
        </ns1:processSalesLead>
    </soap:Body>
</soap:Envelope>

応答ペイロードには、新しく作成された営業リード・オブジェクトの主キーのみが含まれます。

<ns0:processSalesLeadResponse 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:LeadId>300100055477603</ns4:LeadId>
    </ns2:result>
    <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:LeadId>300100055477605</ns4:LeadId>
   </ns2:result>
</ns0:processSalesLeadResponse>

次の例は、ProcessSalesLeadパラメータのReturnModeNoneに設定されているときの応答ペイロードを示しています。

<ns0:processSalesLeadResponse 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"/>
    <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"/>
</ns0:processSalesLeadResponse>

関連する操作

要求ペイロード内のオブジェクトごとに異なる操作を実行するには、processCS操作を使用します。

パフォーマンスを最適化するためにペイロード内の値を制御するには、個々のビジネス・オブジェクトに対するcreateupdatemergeおよびdelete操作のかわりに、process操作を使用します。

関連トピック
  • 標準のCRUD操作
  • create操作
  • delete操作
  • get操作
  • find操作
  • find by additional predefined search criteria操作
  • update操作
  • merge操作