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 areCreate
,Update
,Merge
, andDelete
. 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
andexceptionReturnMode
elements toFull
to return the entire object,Key
to return only the primary key, orNone
to return no information. -
Parameter for partial failure mode. Set this parameter to
true
to enable partial failure mode. The default value isfalse
.
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.