process Operation

The process operation performs create, update, delete, or merge operation on a list of business objects of the same type specified in a request payload.

This operation is typically used for bulk processing and can perform the same operation on all the business objects. It can't perform a create operation for one object and delete operation on another object in the same call. The processControl parameter controls the following behavior of the operation:

  • Level of detail in the response payload: Controls whether the response payload returns an empty payload, a payload of primary keys, or a payload with the complete definitions of the service data object. Use the first two options to improve performance. The first option eliminates the fetch, and both options reduce the size of the response payload.

  • Level of detail in the error message: Controls whether the error message contains no information, only the primary key, or all the attributes of the service data object that failed. The first option doesn't provide any information about the object.

  • Partial failure control: Controls how the changes to the list of service data objects are committed. Suppose the partial failure feature is enabled for a service and a request utilizes this feature. If an error occurs for a specific object, the operation skips this object and continues processing the other objects. After the processing is complete, objects with successful changes are committed and objects with errors are not. If a processing error affects all the objects, then none of the objects are committed.
    Note: If you define any transaction-level validations during the design phase, then at run time these validations override any partial failure control feature defined at the entity-level. This means that if the transaction-level validation fails at runtime, even if the partial failure control is enabled, none of the service data objects in the transaction are committed.

Operation Signature

For the Sales Lead Service, the signature of the processSalesLead operation consists of:

  • Name of the operation to be performed on the business objects in the request payload. The changeOperation parameter holds this name, and valid values are Create, Update, Merge, and Delete. This value is case sensitive.

  • List of business objects on which to perform the operation specified in the changeOperation parameter.

  • Parameters to control the details of response payload and error messages. Set the returnMode and exceptionReturnMode elements to Full to return the entire object, Key to return only the primary key, or None to return no information.

  • Parameter for partial failure mode. Set this parameter to true to enable partial failure mode. The default value is false.

The request payload has the following signature. For the definition of ProcessControl type, see Sample 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>

The response payload returns values based on the ProcessControl settings after the operation completes successfully.

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

Example

This example creates two new Sales Lead objects for Sammamish Technologies and Snoqualmie Software with deal amounts set to $1,500,000 USD and $450,000 USD respectively.

<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>

The response payload contains only the primary keys of the newly created Sales Lead objects.

<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>

This example shows a response payload when the ReturnMode of the ProcessSalesLead parameter is set to None.

<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>

Related Operations

To perform different operations on different objects in a request payload, use the processCS operation.

To control the values in the payload for performance optimizations, use the process operation instead of create, update, merge, and delete operations on individual business objects.

Related Topics
  • Standard CRUD Operations
  • create Operation
  • delete Operation
  • get Operation
  • find Operation
  • find by additional predefined search criteria Operation
  • update Operation
  • merge Operation