Oracle Web Services On Demand Guide > Web Services On Demand API Calls > Web Services v2.0 API Calls >

The Field-level Replace Operation


For the Web Services v2.0 Update and Execute method calls you can specify the operation attribute with the value "replace" on reference ID fields. Requests that include this attribute remove the existing association between the parent and the referenced record and create a new association with a specified record. An example of such a request is as follows:

<CampaignUpdate_Input xmlns="urn:crmondemand/ws/ecbs/Campaign/">

<ListOfCampaign>

<Campaign>

<Id>1-FRW01</Id>

<CustomObject1Id operation="replace">1QA2-LVL4X</CustomObject1Id>

</Campaign>

</ListOfCampaign>

</CampaignUpdate_Input>

In this example, the existing association between the campaign parent and the custom object child record is replaced with an association between the campaign parent and the custom object record with the ID: 1QA2-LVL4X.

The list of objects and reference ID fields that support the replace operation in the current release is shown in Table 30.

Table 30. Objects and Fields That Support the Replace Operation
Object
Reference ID Fields

Account

CustomObject1Id, CustomObject2Id, CustomObject3Id, PrimaryContactId

Activity

CustomObject1Id, CustomObject2Id, CustomObject3Id, PrimaryContactId

Campaign

CustomObject1Id, CustomObject2Id, CustomObject3Id

Contact

CustomObject1Id, CustomObject2Id, CustomObject3Id

Custom Object 1, Custom Object 2, Custom Object 3

AccountId, ActivityId, AssetId, CampaignId, ContactId, CustomObject1Id, CustomObject2Id, CustomObject3Id, DealerId, FundId, FundRequestId, HouseholdId, LeadId, MedEdId, OpportunityId, PortfolioId, ProductId, ServiceRequestId, SolutionId, VehicleId

Custom Object 1 child, Custom Object 2 child, Custom Object 3 child

AccountId, CampaignId, ContactId, CustomObject1Id, CustomObject2Id, CustomObject3Id, DealerId, FundId, HouseholdId, LeadId, MedEdId, OpportunityId, PortfolioId, ProductId, ServiceRequestId, SolutionId, VehicleId

Dealer

CustomObject1Id, CustomObject2Id, CustomObject3Id

Fund

CustomObject1Id, CustomObject2Id, CustomObject3Id

Fund Request

CustomObject1Id, CustomObject2Id, CustomObject3Id

Household

CustomObject1Id, CustomObject2Id, CustomObject3Id

Lead

CustomObject1Id, CustomObject2Id, CustomObject3Id

MedEdEvent

CustomObject1Id, CustomObject2Id, CustomObject3Id

Opportunity

CustomObject1Id, CustomObject2Id, CustomObject3Id

Partner

CustomObject1Id, CustomObject2Id, CustomObject3Id

Portfolio

CustomObject1Id, CustomObject2Id, CustomObject3Id

Portfolio child

CustomObject1Id, CustomObject2Id, CustomObject3Id

Service Request

CustomObject1Id, CustomObject2Id, CustomObject3Id

Solution

CustomObject1Id, CustomObject2Id, CustomObject3Id

Vehicle

CustomObject1Id, CustomObject2Id, CustomObject3Id

Changes to WSDL Files

To enable the field-level replace operation, the data types for many elements in WSDL files were changed from the string to OperationData data type in Oracle CRM On Demand Release 26.

For example, in the Web services v2.0 WSDL file for Service Request in Release 25:

<xsd:element name="CustomObject1Id" maxOccurs="1" minOccurs="0" type="xsd:string" />

and for the WSDL for Service Request in Release 26 and later:

<xsd:element name="CustomObject1Id" maxOccurs="1" minOccurs="0" type="xsdLocal1:OperationData" />

The definition of the OperationData type is as follows:

<xsd:complexType name="OperationData">

<xsd:simpleContent>

<xsd:extension base="xsd:string">

<xsd:attribute name="operation" type="xsd:string" />

</xsd:extension>

</xsd:simpleContent>

</xsd:complexType>

This change will not regress existing proxy classes and integrations generated using WSDL files from before Release 26. However, if you are planning to generate fresh proxy classes from WSDL files from Release 26 and later, you must enhance your integration to use the OperationData data type.

Also, note that upgraded Release 26 proxies and updated integrations will be able to consume the OperationData data type value against a Release 25 environment only if the replace functionality is not used. In other words, you cannot use the operation attribute against an environment based on an older release than Release 26.

Oracle Web Services On Demand Guide, Version 24.0 (Oracle CRM On Demand Release 36) Copyright © 2018, Oracle and/or its affiliates. All rights reserved. Legal Notices.