Using the Oracle CRM On Demand Destination Component

The Oracle On Demand Destination Component is an SSIS data flow pipeline component that can be used to write data to Oracle On Demand. You can create, update, or delete objects with this component. There are three pages of configuration:

  • General
  • Columns
  • Error Handling

General Page

Oracle CRM Destination Editor

Select the connection manager and write the action
Connection Manager

The destination component requires an active web service connection to Oracle CRM On Demand. The Connection Manager drop-down will show a list of all Oracle CRM On Demand Connection Managers that have been created in the current SSIS package.

Action

The Action option allows you to specify how data should be written to Oracle CRM On Demand. There are currently four (4) supported action types available.

  • Create: Create new object(s).
  • Update: Update existing object(s).
  • Delete: Delete object(s).
  • Upsert: Insert or update a record depending on whether a match can be found based on the matching fields specified. If there are matches an update will be performed; if there are no matches, the record(s) will be created in Oracle CRM On Demand. When the Upsert action is used, at least a matching field has to be specified on the Columns page. Note that the Upsert action only supports a batch size of 1, each record will involve two service calls, with the first one to perform the matching query, and the second one to perform the Create or Update action to write the record to CRM on demand server.
Batch Size

For write actions, a maximum limitation of 20 records per web service call is set by Oracle CRM On Demand. You can change the batch size to suit your preferences.

Note that the Upsert action only supports a batch size of 1.

Configuration write destination
WSDL File

The WSDL File drop-down lists all available WSDL files. The folder path that is read is determined by the registry key: HKEY_LOCAL_MACHINE\SOFTWARE\KingswaySoft\SSIS Integration Toolkit for Oracle CRM On Demand\WSDLDirectory. If the registry key does not exist, the default folder path ([path to Program Files ]\KingswaySoft\SSIS Integration Toolkit for Oracle CRM On Demand\Schemas) will be used. By selecting a value from this drop-down, the component will attempt to read the metadata contained within the selected WSDL file. Additional WSDL files can be obtained from the Oracle CRM On Demand -> Admin -> Web Services Administration page.

Object Detected

This text box is a read-only field that displays the object detected from the WSDL file loaded from the Source Object WSDL drop-down.

Child Object

This drop-down list specifies the child object to write to. By default this option is left blank meaning only parent fields can be written to. When a child object is selected another field is added to the "Columns" page called "CurrentParent.Id". When writing to a child object you must specify this field. This field acts as a selector meaning it specifies the parent to which the child object belongs. This is applicable to all three actions.

Input Timezone (since v4.0)

The input timezone setting tells the component what format any incoming datetime values are in, and uses this information to write the correct date to Oracle CRM On Demand. There are three options available.

  • Timezone of Connection User: Any datetime values will be treated as the local time of the connection user (not the system) based on the user's timezone setting in Oracle CRM On Demand.
  • UTC
  • Local System Timezone (Default): Any datetime values will be treated as the local system time where the package is run.
Upsert Settings
Handling Multiple Matches

It is possible that the Upsert action could find multiple matches in the target CRM system. The Handling of Multiple Matches option allows you to specify what action will be taken when such multiple matches are found. There are four options available.

  • Update All: All records found will be updated in Oracle CRM On Demand.
  • Update One: The first record that is found will be updated in Oracle CRM On Demand.
  • Ignore: None of the records found will be updated in Oracle CRM On Demand.
  • Raise an error: None of the records found will be updated in Oracle CRM On Demand, and an Error will be fired.
Refresh Component Button

Clicking the Refresh Component button causes the component to retrieve the latest metadata and update each attribute to its most recent metadata.

Map Unmapped Fields Button

By clicking this button, the component will try to map any unmapped attributes by matching their names with the input columns from upstream components. This is useful when your source component has recently added more columns, in which case you can use this button to automatically establish the association between input columns and unmapped destination attributes.

Clear All Mappings Button

By clicking this button, the component will reset all your mappings in the destination component.

Expression fx Icon

Click the blue fx icon to launch SSIS Expression Editor to enable dynamic updates of the property at run time.

Generate Documentation Icon

Click the Generate Documentation icon to generate a Word document that describes the component's metadata including relevant mapping, and so on.

Columns Page

The Columns page allows you to map the columns from upstream components to destination attributes.

On the Columns page, you will see a grid as shown below.

Oracle CRM Destination Editor

  • Input Column: You can select an input column from an upstream component here.
  • Destination Field: The attribute/field that you want to write data to.
  • Data Type: This column indicates the type of value for the current attribute.
  • Unmap: This button provides a convenient way to unset the mapping for the selected attribute/field.

Error Handling Page

The Error Handling page allows you to specify how errors should be handled when they happen.

Oracle CRM Destination Editor

There are three options available.

  1. Fail on error
  2. Redirect rows to error output
  3. Ignore error

When the Redirect rows to error output option is selected, rows that failed to write to Oracle CRM On Demand will be redirected to the 'Oracle CRM On Demand Destination Error Output' of the Destination Component. As indicated in the screenshot below, the green output connection represents rows that were successfully written, and the red 'Error Output' connection represents rows that were erroneous. The 'OracleErrorMessage' output column found in the 'Error Output' may contain the error message that was reported by Oracle CRM On Demand or the component itself.

Error Output

Note: Use extra caution when selecting Ignore error option, since the component will remain silent for any errors that have occurred.

In the Error Handling page, there is also an option (since v2.3) that can be used to enable or disable the following output fields for the destination component.

  • OracleCrmId: Contains the newly created Oracle CRM On Demand record's Id field value.
  • IsNew: Contains value to indicate whether it is a newly created Oracle CRM On Demand record or an existing one. This is useful when you use the Upsert action.

Note: When "Upsert - Update All" is chosen and there are multiple matching records, a single output row of the first match will be redirected to the default output.

Contact Us

If you need any further assistance with the toolkit, please don't hesitate to contact us.