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 the following table.
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.