User Guide : Map Connectors : Source and Target Map Connectors : Oracle Siebel CRM On Demand 12 and 14
 
Share this page                  
Oracle Siebel CRM On Demand 12 and 14
Oracle Siebel CRM On Demand accesses data through the OnDemand Web Services interface. This connector connects Oracle Siebel CRM On Demand data to virtually any flat file or database application. The integration platform supports Oracle Siebel CRM On Demand versions 12 and 14.
Note:  Ensure that you have administrative rights to a particular parent or child entity by contacting your system administrator. If you still cannot access the entity, contact Oracle Siebel CRM On Demand Customer Care.
Oracle Siebel CRM On Demand 14
The Oracle Siebel CRM On Demand 14 connector provides all the functionality of the version 12 connector, as well as support for delete, insert, and update child entities, and session tokens.
This is a Multimode connector, that is, the integration platform allows for concurrent writes to multiple target tables (entities). Multimode connections allow you to perform create, read, update, and delete operations directly on a target database.
Other Oracle Connectors
You can connect to Oracle interfaces in the following ways:
Oracle Multimode: Perform multiple operations (such as table drops and table inserts) directly on your target database. See Oracle 10g, 11g, and 12c Multimode.
Oracle Direct Path: Deliver incremental loads of detail data to data warehouses and data marts. See Oracle Direct Path 10g, 11g, and 12c.
Oracle SQL Loader: Produce flat loader files that can be uploaded into an Oracle database using the Oracle SQL Loader utility. See Oracle SQL Loader.
Schema Definitions
Schema definitions are read from a Siebel WSDL file. Record and field names and lengths are retrieved from the WSDL file with the following conventions:
Entity is used as a record name. The first letter is upper case and the remainder is lower case.
Child entity names are qualified with parent entities by using an underscore. In the following example, Activity is the parent entity, while Note is the child entity: Activity_Note
All field names are lower case.
If a field length is not found in the WSDL schema file definition, 30 is the default length.
Custom fields are supported.
Supported Entities for Version 12
Oracle Siebel CRM On Demand 12 and 14 support Create, Retrieve, Update and Delete operations on the following OnDemand parent entities:
Account
Activity (Task, Appointment)
Campaign
CustomObject1
CustomObject2
Contact
Dealer
Household
Lead
Opportunity
Portfolio
ProductCategory
ServiceRequest
Solution
Territory
Vehicle
Oracle Siebel CRM On Demand 12 and 14 support Create, Retrieve, and Update operations on the following OnDemand parent entities:
Product
User
The CurrentUser entity supports the Retrieve (Query) operation.
The connector also supports the child entities associated with the above parent entities. For exceptions and notes about the above entities, see Connector-Specific Notes.
Supported Entities in Version 14
Oracle Siebel CRM On Demand 14 supports all of the above methods and entities, plus the following methods and entities:
Child Entity Methods
InsertChild
UpdateChild
DeleteChild
Activity Entity: Uses new target namespaces urn:crmondemand/ws/activity/partner. The Activity entity can now be customized for both source and target. Version 12 can customize the target only.
Activity Entities - Child
SampleDropped
ProductsDetailed
Solution
Account Entity - Child
AccountContact
Contact Entity - Child
Account
Asset
Interests
Campaign
Opportunity Entity - Child
Partner
Competitor
Team
In addition, the connectors support the parent entity Asset.
Logging SOAP Messages
On the system where the integration engine runs, you can set an environment variable called DJ_SODCRM_DEBUG to capture sent and received SOAP messages in text files. Assign the value msgs to the variable. When integrations run using a SOAP-based connection, messages are appended to the following files:
sent.log – output messages
recv.log – input messages
test.log – other messages generated by the SOAP run-time environment
In a Windows system, these log files are written to InstallDir\Common. In Unix systems, they are written to the directory where the integration engine executes.
Connectivity Pointers
Query statement syntax for this CRM connector is XML-based. For details on writing query statements, refer to the application documentation.
Entity references in SQL statements are case sensitive and must begin with a capital letter. If the entity names are not specified correctly, connection to the server fails.
Using Session Tokens
Session tokens enable you to connect using a session token instead of logging in using a user name and password. This allows you to log in once by an external method, and reuse the session connection information for multiple instances or components. Reusing the session information is convenient and provides better performance than repeatedly sending a user ID and password information for each connection.
To obtain a session ID and server URL for a session token, use the Oracle Siebel Login Invoker. For information on using this component, see its help topic.
A session token consists of a session ID and server URL. The session token must be in the following format:
sid:sessionId:serverURL
where sessionID is a unique ID associated with your session and serverURL is the URL of the web service that processes subsequent URI calls. These values are returned in the loginResponse when you log in using user name and password.
Connector-Specific Notes
Constraints Between Entities. Any underlying constraints between entities are detected in the connectors. For instance, if the system requires that a new Contact be created with a valid Account, then that Account must be passed to the Oracle Siebel CRM On Demand target connector either directly from the source connector or generated at execution time by customer-written script code.
Activity Entity. (Version 12 only) This entity does not support query statements for custom fields since Siebel does not provide a partner WSDL for the entity.
Product Entity. Delete actions against records in the Product entity are not supported.
CurrentUser Entity. Delete actions against records in the CurrentUser entity are not supported.
User Entity. Delete actions against records in the User entity are not supported.
Custom Object 3. Not supported.
Connection Times. When you are connecting to a large Source with many records, it may take a prolonged time to retrieve the records for viewing. If you open the Windows Task Manager, the Status may be "not responding." This is expected behavior. After the records have been read, the Status returns "running" and you can view the records.
Timeout after inactivity. Your Siebel CRM session terminates after five minutes of inactivity. If you receive the following error, it indicates a session timeout:
Internal Error: Session is not available. Aborting.
Before you attempt to continue, disconnect from the server and reconnect.
Access Rights
Records. You are only able to access or modify records in Oracle Siebel CRM On Demand that are available to the User ID that you are using. Depending upon the User ID that you are using and the security model of your Oracle Siebel CRM On Demand database, some records may only be visible to certain users, or may be read-only to certain users.
Entities. Some Oracle Siebel CRM On Demand entities are only visible to a user name, or only modifiable to a user name, depending on the user permissions or on the features enabled for your database.
Fields. Some fields in certain tables are read-only, or can only be set during insert, not during update operations. For example, the Last Modified Date and Last Modified By fields are read-only. They are implicitly set each time a user modifies a record. The integration platform can only reset owner ID fields on read-only tables during insert. To change an owner ID on existing records, you must transfer ownership within the Oracle Siebel CRM On Demand application.
Property Options
You can set the following source (S) and target (T) properties.
Property
ST
Version
Description
BatchResponse
T
12, 14
This property creates a batch response file, which serves as a reporting mechanism to the connector. The file provides detailed results for each object in a batch where the batch size is greater than 1. Obtaining detailed results is useful in the following cases:
Capturing system-generated object IDs for use in future updates.
Correlating an error with its object and have enough information about the error for exception handling and error diagnosis.
For more information, see Batch Response File.
MaxBatch
T
12, 14
The MaxBatch property controls how many records are sent in one group for each individual insert, update, or delete operation.
If you use a large number in this setting, you may see faster transformation run times. However, larger numbers may increase the need for memory. If you experience memory problems, lower the number.
Note
Oracle Siebel CRM on Demand enforces a maximum batch value limit of 20. Any higher setting returns the following error:
Connection Property: MaxBatch's value is invalid. It is greater than the maximum value allowed (20). Resetting to previous value.
PageSize
S
12, 14
When data records are arranged in blocks and the last record in each block is padded to the end of the block, you must set the page size to remove pad characters to from the file during the data transfer.
To set page size, click PageSize to highlight the default value and type the correct page size value for your data.
Note:  The maximum number of records returned by the PageSize property is 100, a limitation of the Siebel server. If you enter a number greater than 100, you receive an "unable to read record" error 25504.
UpdateNulls
T
12, 14
Allows you to decide whether nulls or empty strings are sent to the server. The following options are available:
Always (default) – Nulls and empty strings are sent to the server to set fields to null (update null and empty string values).
NullOnly – Null values are sent to the server, but empty strings are not sent. This option updates only null values.
Never – Null values and empty strings are not sent to the server This option does not update null values and empty strings.
UseChildAnd
S
12, 14
Allows you to perform a query on parent and child components. If set to true, it returns both parent and child components. If set to false (default), it returns either the parent or the child component. For use cases related to using this property, see Manipulating Parent and Child Relationships.
Manipulating Parent and Child Relationships
The following use cases illustrate using SQL statements, events, and actions to manipulate parent and child relationships.
Use Case
Task
How to Accomplish the Task
1
Retrieve a list of recipients where the campaign name is FreeStuff.
Run the following SQL statement in the source:
Select campaignname from Campaign where campaignname="FreeStuff";Select * from Campaign_Recipient
2
Insert a campaign name called FreeStuff that contains three recipients.
On the target, create an Upsert action for Campaign and set the campaignname to FreeStuff. Then create three Upsert actions for Campaign_Recipient and set the contactid (this assumes that you already know the value in contactid).
3
Update deliverystatus (one recipient) to Received for the campaign FreeStuff.
On the target, create an Upsert action for Campaign and set campaignnid. Create another Upsert action for Campaign_Recipient and set the contactid and deliverystatus to Received.
4
Delete one recipient in the campaign FreeStuff.
On the target, create an Update action for Campaign and set campaignnid. Create two Update actions for Campaign_Recipient and set the contactid.
Note:  Because child record deletion uses the Update action, you cannot delete all child records in the child entity. One record must remain.
Deleting, Inserting, or Updating Child Entities
For the integration platform to recognize child entities, the entity name in the related event action must include the parent record name plus ".child". You must first specify the parent entity, even though only the child entity is to be deleted.
The following example shows how to delete a child entity called Account_contact.
1. Design a map with Null as the source type, Oracle Siebel On Demand 14 as the target type, and connect to Oracle Siebel On Demand.
2. In a Source record event, create an AfterEveryRecord event and add the following events:
Action
Parameters
ClearMap
{Target},{Account},{},{}
Delete Record
{Target},{Account},{Account.child},{},{}
ClearMap
{Target},{Account_Contact},{},{}
Delete Record
{Target},{Account_Contact},{Account_Contact.child},{},{}
3. Clear the map for the Account record layout.
4. Specify a Delete Record action for the Account record layout and Account.child entity.
5. Clear the map for the Account_Contact record layout.
6. Use a Delete Record action to delete the Account_Contact record layout and the Account_Contact.child entity.
7. In the target pane, map the ID for Account called accountid.
8. Run the map, and note that the child entity Account_Contact is deleted.
Use the same syntax to insert or update child entities.
Data Types
The only data type supported for this connector is Text.