|
Topics: |
The Upsert function creates new objects or updates existing objects. It uses a custom field to determine the presence of existing objects.
Upsert is a term created by merging the words update and insert. This function is available for objects if the object has an External ID field or a field with the idLookup field property.
For custom objects, the Upsert function uses an indexed custom field (called an External ID) to determine whether to create a new object or update an existing object.
|
How to: |
All Salesforce objects in which Upsert can process against require the addition of an External ID field.
To configure an External ID field:


iWay Application Adapter for Salesforce exposes the Upsert function in iWay Explorer. The following image shows a sample XML request schema (.xsd) file for the Account Salesforce object.

The following sample input XML document shows two important elements (<ExternalID> and <EXTIDACCT>) taken from the Account XML request schema document:
<Upsert-Account-Request>
<ExternalId>EXTIDACCT__c</ExternalId>
<Instance>
<Name>NewCoIBM450</Name>
<Type>other</Type>
<ParentId>0014000000IOLppAAH</ParentId>
<BillingStreet>2 Penn Plaza</BillingStreet>
<BillingCity>New York</BillingCity>
<BillingState>New York</BillingState>
<BillingPostalCode>10121</BillingPostalCode>
<BillingCountry>USA</BillingCountry>
<ShippingStreet>2 Penn Plaza</ShippingStreet>
<ShippingCity>New York</ShippingCity>
<ShippingState>New York</ShippingState>
<ShippingPostalCode>10212</ShippingPostalCode>
<ShippingCountry>USA</ShippingCountry>
<Phone>212 345 1234</Phone>
<Fax>212 890 345</Fax>
<AccountNumber>12345</AccountNumber>
<Website>www.newco.com</Website>
<Sic>3456</Sic>
<Industry>Retail</Industry>
<AnnualRevenue>30000</AnnualRevenue>
<NumberOfEmployees>1000</NumberOfEmployees>
<Ownership>Public</Ownership>
<TickerSymbol>newco</TickerSymbol>
<Description>New Account NE</Description>
<Rating>Hot</Rating>
<Site>New York</Site>
<OwnerId>00540000000zYqdAAE</OwnerId>
<CustomerPriority__c>High</CustomerPriority__c>
<SLA__c>Gold</SLA__c>
<Active__c>Yes</Active__c>
<NumberofLocations__c>3.14159265358979E0</NumberofLocations__c>
<UpsellOpportunity__c>Maybe</UpsellOpportunity__c>
<SLASerialNumber__c>1234</SLASerialNumber__c>
<SLAExpirationDate__c>1967-08-13</SLAExpirationDate__c>
<IWAYCUST1__c>Test</IWAYCUST1__c>
<IWAYCUST2__c>Test1</IWAYCUST2__c>
<DUNS__c>123456789</DUNS__c>
<EXTIDACCT__c>450</EXTIDACCT__c>
</Instance>
</Upsert-Account-Request><ExternalID> is the External ID field name defined for the EXTIDACCT Account object. <EXTIDACCT> is defined by the user, which has a value of 450 in this example. If the Upsert request finds a record with this value, the Account record is updated. If no record is found with this value, then a new record is inserted.
| iWay Software | |
|
Feedback |