Professional Documents
Culture Documents
Version 1.1
July 2009
E12741-02
Copyright © 2005, 2009
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be
trademarks of their respective owners.
This software and related documentation are provided under a license agreement containing restrictions
on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in
your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast,
modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any
means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-
free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS. Programs, software, databases, and related documentation and technical
data delivered to U.S. Government customers are "commercial computer software" or "commercial
technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific
supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall
be subject to the restrictions and license terms set forth in the applicable Government contract, and, to
the extent applicable by the terms of the Government contract, the additional rights set forth in FAR
52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle
Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications which may
create a risk of personal injury. If you use this software in dangerous applications, then you shall be
responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe
use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused
by use of this software in dangerous applications.
The Programs may provide links to Web sites and access to content, products, and services from third
parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites.
You bear all risks associated with the use of such content. If you choose to purchase any products or
services from a third party, the relationship is directly between you and the third party. Oracle is not
responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of
the agreement with the third party, including delivery of products or services and warranty obligations
related to purchased products or services. Oracle is not responsible for any loss or damage of any sort
that you may incur from dealing with any third party.
Contents
Glossary
Index
Table 1. New Product Features in Oracle CRM On Demand Integration to Siebel CRM
Administration Guide, Version 1.1
Topic Description
Solution Assumptions and The list of supported platforms has been updated.
Constraints for Oracle CRM On
Demand Integration to Siebel
CRM on page 9
Solution Assumptions and The solution assumptions and constraints have been updated.
Constraints for Oracle CRM On
Demand Integration to Siebel
CRM on page 9
Additional Changes
The following changes have been applied throughout the book:
■ For improved interoperability with screen-reading software the use of a greater than symbol (>)
in menu navigation has been replaced with a comma.
■ Changed BPEL to Oracle Business Process Execution Language throughout the book.
This chapter provides an overview and describes solution assumptions. It contains the following
topics:
■ Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRM on
page 9
The Oracle CRM On Demand Integration to Siebel CRM can integrate a single instance of Siebel CRM
with one or more instances of Oracle CRM On Demand.
■ Siebel CRM, version 7.8.2.11 Siebel Cross-Industry Applications or version 7.8.2.12 Siebel
Industry Applications
Each instance of Oracle CRM On Demand must be mapped to a unique organization in Siebel CRM.
This mapping enables Siebel CRM to integrate with multiple instances of Oracle CRM On Demand and
ensures that updates to Siebel CRM records are synchronized with the correct Oracle CRM On
Demand instance.
Lists of Values
Lists of Values (LOV) are not synchronized between Oracle CRM On Demand and Siebel CRM. The
resolution takes place using mappings. The mapping consists of two extensible Domain Value Maps
defined in the Middle Tier (one in each direction) and there is one mapping pair for each Oracle CRM
On Demand instance. LOV data and field settings, such as read only, required, and so on must be
configured to be the same between the Siebel CRM and Oracle CRM On Demand instances. For
example, if the Account-Status field is marked as a required field in Siebel CRM, it must also be
configured as a required field in Oracle CRM On Demand. Also, the members of the Account-Status
LOV (Candidate, Qualified, Active, Inactive, and so on) must have a one-to-one mapping. For
example, the Candidate status in Siebel CRM must have a matching LOV value in Oracle CRM On
Demand.
Product Data
Product data is synchronized in one direction only from Siebel CRM to Oracle CRM On Demand.
Changes made to product records in Oracle CRM On Demand are not synchronized back to Siebel
CRM. However, before these products can be used together, a one-time initial data load is needed to
synchronize Oracle CRM On Demand with Siebel CRM. For more information about initial loading of
data, see Oracle CRM On Demand Integration to Oracle CRM Installation Guide.
Transaction Logging
The transaction logging capability in Oracle CRM On Demand is based on the Integration Events
feature. An Oracle Business Processes Execution Language (BPEL) process is activated to poll Oracle
CRM On Demand for new events. For Siebel CRM a transaction logging capability using workflows
and workflow policies was developed. The Oracle Business Processes Execution Language file adapter
reads the transaction log files generated by Siebel CRM. A new component called, the File Adapter
Controller, sequences the files for consumption by the Oracle Business Processes Execution Language
file adapter (the process name is SiebelOPTxnFileReader).
The synchronization of account, contact, opportunity, and product data between Siebel CRM and
Oracle CRM On Demand occurs in near real-time, depending upon configuration settings and number
of records to be synchronized.
If a synchronization failure occurs, administrators can review log files and other records to determine
the cause of failure and take corrective action.
■ Near real-time, one way synchronization of Product data from Siebel CRM to Oracle CRM On
Demand.
■ Support for one instance of Siebel CRM and multiple instances of Oracle CRM On Demand.
■ Heartbeat Monitor to check the health of the applications and make sure that transactions are
not lost if one end-point of the integration is down.
■ Support for PIM synchronization and offline clients (except for merging records when initiated
from a Siebel CRM remote client).
■ Integration Administration screens that provide summary lists of records that have failed to
synchronize.
■ Failure Alerts from Oracle CRM On Demand that send email notifications to administrators
identifying records that have failed to synchronize.
This chapter describes how to integrate data objects using Oracle CRM On Demand Integration to
Siebel CRM. It contains the following topics:
■ Synchronization Mechanism
Synchronization Mechanism
The integration happens when records flagged for synchronization are modified in either Oracle CRM
On Demand or Siebel CRM. When a user modifies a record, the application creates an XML file
containing the record information and the type of change (new record, updated record, deleted
record, and so on) and writes the XML file to a specific location. Within Oracle CRM On Demand this
occurs within the Workflow/Integration Events facility. These events are written to the Oracle CRM
On Demand Integration Event queue and are removed from the queue at set intervals by the
CRMOnDemandIntegrationEventProcessor Oracle Business Processes Execution Language process
delivered as part of the prebuilt integration.
Within Siebel CRM, a new transaction logging capability has been developed using workflow and
workflow policies. A process monitors a specific location in the Siebel file system and when a new
file appears, it reads the file and then routes the file to an Oracle Business Processes Execution
Language workflow specific to the data object (account, contact, opportunity, or product) and type
of change (delete, new, update, and so on). The Oracle Business Processes Execution Language
workflow then processes the data in the XML file, deletes the file and calls a Web service to process
(create, delete, merge, update, and so on) the data. A component called the File Adapter Controller
sequences the files for consumption by the Oracle Business Processes Execution Language File
Adapter.
A cross-reference table (XREF_DATA) in the middle-tier keeps a record of the synchronized records.
It maintains the row-ID information for the same record in both Oracle CRM On Demand and Siebel
CRM. Table 2 lists the columns in this table.
XREF_TABLE_NAME Contains the name of the object being synchronized. The unique
values for the XREF_TABLE_NAME column are:
■ SIEBELACCOUNTBILLINGADDRXREF
■ SIEBELACCOUNTCHILDADDRXREF
■ SIEBELACCOUNTSHIPPINGADDRXREF
■ SIEBELACCOUNTXREF
■ SIEBELCONTACTCHILDADDRXREF
■ SIEBELCONTACTPRIMARYPERSONALADDRXREF
■ SIEBELCONTACTXREF
■ SIEBELOPPORTUNITYXREF
■ SIEBELPRODUCTXREF
■ SIEBELRECURRINGREVNODHOST1XREF
■ SIEBELRECURRINGREVNODHOST2XREF
■ SIEBELRECURRINGREVNODHOST3XREF
■ SIEBELREVENUEXREF
XREF_COLUMN_NAME Contains the name of the application instance where the record
originated. Examples:
VALUE Contains the ROWID of the record from the application instance.
LAST_MODIFIED Date and time stamp of the last modification to this row.
LAST_ACCESSED Date and time stamp of the last access of this row.
■ XFrmAccountAddressODToOP
■ XFrmAccountAddressOPDataToOPTxn
■ XFrmAccountAddressSiebelOPTxnToOD
■ XFrmAccountOPToOD
■ XFrmAccountQuerySiebelOD
■ XFrmAccountQuerySiebelOP
■ XFrmAccountSiebelODToOP
■ XFrmAccountSiebelODToOPData
■ XFrmAccountSiebelOPDataToOPTxnLog
■ XFrmOPAccountAddressToOPQuery
■ XFrmUpdateAccountAddressOPTxnToOD
■ Account-Delete Account
■ Account-Insert Account
■ Account-SyncOFF Account
■ Account-Update Account
■ Address-Delete Address
■ Address-Insert Address
■ Address-Update Address
The following workflow events are enabled in Siebel CRM for transaction logging:
WSDL Element
Display Name Name Name Join Column
■ XFrmContactAddressODToOP
■ XFrmContactAddressOPDataToOPQuery
■ XFrmContactAddressOPDataToOPTxn
■ XFrmContactAddressOPTxnToOD
■ XFrmContactOPDataToOPTxn
■ XFrmContactOPToOD
■ XFrmContactSiebelODToOP
■ XFrmUpdateContactAddressOPTxnToOD
■ Contact-Delete Contact
■ Contact-Insert Contact
■ Contact-SyncOFF Contact
■ Contact-Update Contact
The following workflow events is enabled in Siebel CRM for transaction logging, ODOP Opportunity
Contact Association.
WSDL Element
Display Name Name Name Join Column
WSDL Element
Display Name Name Name Join Column
The On Demand Forecast check box in Oracle CRM On Demand is mapped differently depending on
your implementation of Siebel CRM:
■ For Siebel Cross-Industry Applications. The On Demand Forecast check box in Oracle CRM
On Demand maps to the Opportunity Committed check box in the More Info view.
■ For Siebel Industry Applications. The On Demand Forecast check box in Oracle CRM On
Demand maps to the Opportunity Committed check box in the External Host view.
■ XFrmOpportunityInsertSiebelOPToOD
■ XFrmOpportunityOPDataToOPTxn
■ XFrmOpportunityQuerySiebelOD
■ XFrmOpportunityQuerySiebelODToOP
■ XFrmOpportunityQuerySiebelOP
■ XFrmOpportunitySiebelOPDataToOP
■ XFrmOpportunityUpdateSiebelODToOP
■ XFrmOpportunityUpdateSiebelOPToOD
■ Opportunity-Delete Opportunity
■ Opportunity-Insert Opportunity
■ Opportunity-SyncOFF Opportunity
■ Opportunity-Update Opportunity
■ Revenue-Delete Revenue
■ Revenue-Insert Revenue
■ Revenue-Update Revenue
WSDL Element
Display Name Name Display Name Join Column
Name Description
Name Description
Name Description
This chapter describes how to synchronize additional fields in Oracle CRM On Demand Integration to
Siebel CRM. It has the following topics:
NOTE: Customizing the Oracle Business Processes Execution Language workflows is not supported.
■ Object refers to the object name (such as Account, Contact, Opportunity, or Product)
■ ODHOST represents the OD Host Id (example: ODHOST1) stored in the SIEBELODHOST table
The approach to synchronize additional fields is:
1 Identify the field in Oracle CRM On Demand. For more information, see Identifying Oracle CRM On
Demand Fields on page 36.
2 Generate a new Oracle CRM On Demand custom WSDL for that field’s object through the Oracle
CRM On Demand user interface. For more information, see Generating a New Oracle CRM On
Demand WSDL on page 37.
3 Identify the corresponding field in Siebel CRM. For more information, see Identifying Siebel CRM
Fields on page 37.
4 Generate a new Siebel CRM WSDL for that field’s object through the Siebel CRM user interface.
For more information, see Updating the Siebel CRM WSDL on page 38.
5 Generate a new Siebel CRM transaction logger (txnlog) XSD. For more information, see Updating
the Siebel CRM Transaction Logger XSD on page 39.
6 Insert the fields in the XSL files. For more information, see Example of Inserting Fields in XSL
Files on page 40.
Use the following procedure to select existing fields to synchronize or to create new custom fields.
6 If a field representing the data to synchronize does not exist, create a custom field following the
steps described in Oracle CRM On Demand online help in the topic “Creating and Editing Fields”.
7 Navigate to Admin, Workflow Rule, [Object] Insert and [Object] Update, and then Integration
Event.
8 Click Configure.
6 Copy the contents of the window, and save it in a text file using the following file name format:
Object.wsdl
NOTE: If copying from Internet Explorer, remove the whitespace indentation and extra hyphens
(-).
http://secure.crmondemand.com
8 Replace the existing WSDL file on the server with the new one.
NOTE: Step 10 is for users of Oracle BPEL Server 10.1.3.1.0 and older. Newer versions of Oracle
BPEL Server do not have the WSDL Cache link.
10 For Oracle BPEL Server version 10.1.3.1.0, clear the WSDL cache on the BPEL Console:
a Log in to BPEL Console.
2 In Siebel Tools, identify the integration object and integration component where the new fields
must be added.
3 Identify the business component where the new fields must be added.
6 Add the new business component field with the appropriate values for:
■ Name
■ Column
■ Join
■ Type
9 Query for active integration component fields sorted by XML sequence and note the value of Max
XML Sequence.
10 Add a new integration component field with the appropriate values for:
■ External Data Type (Make sure the External Data Type matches the business component field
data type.)
■ External Name (Make sure the External Name matches the business component field name.)
■ XML Tag
■ Data Type
■ XML Sequence (Make sure the XML Sequence is one greater than the Max XML Sequence.)
To update the Siebel CRM WSDL, complete the following procedure. WSDL files are in:
$SOA_HOME/bpel/system/xmllib/SiebelOP-ODPIP.
3 Add the following tag as the last element under the <XML Container Element> of the integration
component:
<xsd:element
name="<XML Tag Name>"
maxOccurs="1"
minOccurs="0"
type="<Data Type>"
></xsd:element
To update the Siebel CRM Transaction Logger XSD, complete the following procedure.
3 Add the following tag as the last element under the <XML Container Element> of the integration
component:
<xsd:element
name="<XML Tag Name>"
maxOccurs="1"
minOccurs="0"
type="<Data Type>"
></xsd:element
To update triggers
1 Log in to Siebel CRM.
The process of inserting fields is best explained using an example. This example is for adding a Work
Phone Extension field mapping. In this case, an Oracle CRM On Demand administrator has created
a new short text field on the contact record type called, Work Phone Extension. A new contact.wsdl
file has also been generated.
The Oracle CRM On Demand schema file contains custom fields with a prefix. To find a custom field,
search for it using the field name saved in Oracle CRM On Demand. if there are spaces in the field
name, replace them with underscores (_).
Continuing the example with the following excerpt from a customized version of contact.wsdl, with
the Work Phone Extension field. The field name in the WSDL is stWork_Phone_Extension. The
lowercase prefix is an abbreviation describing the field type. Standard fields do not follow this
nomenclature.
A similar process is used for finding the fields to map in the Siebel CRM schema files. In this case, a
Work Phone Extension field is already supported.
The XSL query files, XFrmObjectODQuery.xsl and XFrmObjectOPQuery.xsl, are used for querying all
field values from a given application. They do not transform data from one format to another, so they
are easier to enhance. The main concern is the field order.
3 Starting at that field, move backwards through the fields in the schema file until you find a field
that exists in the XSL file.
<xsl:if test="op:WorkPhone">
<WorkPhone>
<xsl:value-of select="op:WorkPhone"/>
</WorkPhone>
</xsl:if>
<xsl:if test="op:WorkPhoneExtension">
<WorkPhoneExtension>
<xsl:value-of select="op:WorkPhoneExtension"/>
</WorkPhoneExtension>
</xsl:if>
<!-- END of area to add custom Contact fields -->
The transformations between Oracle CRM On Demand and Siebel CRM XML payloads require data
conversions. Most field values can be copied without conversion, including integers and strings.
However, other field types must call Convert functions. These functions are specified under the …/
xmllib/SiebelOP-ODPIP/Common folder under convertOPToOD.xsl and convertODToOP.xsl depending
on the direction of the data synchronization. Table 13 shows the field type conversions.
String None, but may require conversion when values near TrimStringLength
format limits (such as long strings).
Integer None, but may require conversion when values near None
format limits (such as long strings).
Phone # Removes the number sign (#) from the (full name) ConvertPhoneNumber
Phone field characters in the Oracle CRM On
Demand phone # field.
<xsl:if test="op:SuppressAllEmails">
<od:NeverEmail>
<xsl:call-template name="ConvertBoolean">
<xsl:with-param name="OPValue" select="op:SuppressAllEmails"/>
</xsl:call-template>
</od:NeverEmail>
</xsl:if>
<xsl:if test="op:TimeZoneName">
<od:TimeZoneName>
<xsl:value-of select="op:TimeZoneName"/>
</od:TimeZoneName>
</xsl:if>
<xsl:if test="op:WorkPhone">
<od:WorkPhone>
<xsl:value-of select="op:WorkPhone"/>
</od:WorkPhone>
</xsl:if>
<xsl:if test="op:WorkPhoneExtension">
<od:stWork_Phone_Extension>
<xsl:value-of select="op:WorkPhoneExtension"/>
</od:stWork_Phone_Extension>
</xsl:if>
<xsl:if test="op:BirthDate">
<od:DateofBirth>
<xsl:value-of select="op:BirthDate"/>
v</od:DateofBirth>
</xsl:if>
<xsl:if test="od:MaritalStatus">
<op:Married>
<xsl:call-template name="ConvertPicklist">
<xsl:with-param name="DVMName">ContactMaritalStatus</xsl:with-param>
<xsl:with-param name="ODHostId" select="$ODHostId"/>
<xsl:with-param name="ODValue" select="od:MaritalStatus"/>
</xsl:call-template>
</op:Married>
</xsl:if>
...
<xsl:if test="od:WorkPhone">
<xsl:call-template name="ConvertPhoneNumber">
<xsl:with-param name="ODValue" select="od:WorkPhone"/>
</xsl:call-template>
</xsl:if>
<xsl:if test="od:stWork_Phone_Extension">
<op:WorkPhoneExtension>
<xsl:value-of select="od:stWork_Phone_Extension"/>
</op:WorkPhoneExtension>
</xsl:if>
<xsl:if test="od:Description">
<op:Comment>
Use the following functions to convert Siebel CRM field values to values accepted by Oracle CRM On
Demand:
<xsl:if test="op:SuppressAllEmails">
<od:NeverEmail>
<xsl:call-template name="ConvertBoolean">
<xsl:with-param name="OPValue" select="op:SuppressAllEmails"/>
</xsl:call-template>
</od:NeverEmail>
</xsl:if>
<xsl:if test="op:PrimaryRevenueCloseDate">
<od:CloseDate>
<xsl:call-template name="ConvertDate">
<xsl:with-param name="OPValue"select="op:PrimaryRevenueCloseDate"/>
</xsl:call-template>
</od:CloseDate>
</xsl:if>
<od:ReferenceSince>
<xsl:call-template name="ConvertDateTimeToDate">
<xsl:with-param name="OPValue" select="op:ReferenceDate"/>
</xsl:call-template>
</od:ReferenceSince>
For information on using this function, see Converting Picklists with Domain Value Maps on page 50.
<xsl:if test="op:Married">
<od:MaritalStatus>
<xsl:call-template name="ConvertPicklist">
<xsl:with-param name="DVMName">ContactMaritalStatus</xsl:with-param>
<xsl:with-param name="ODHostId" select="$ODHostId"/>
<xsl:with-param name="OPValue" select="op:Married"/>
</xsl:call-template>
</od:MaritalStatus>
</xsl:if>
This function checks if the Siebel CRM string length is longer than the Length parameter. If so, then
the string is trimmed, and the three periods (.) are appended at the end. The resulting string is as
long as the Length parameter specifies.
■ Siebel CRM Field Type. string (Text Length in Siebel Tools is greater than what Oracle CRM On
Demand field can accept)
■ Oracle CRM On Demand Field Type. Text (Short), Text (Long), or Note
Table 15 lists the maximum field length for each of the Oracle CRM On Demand field types.
Table 15. Maximum Text Length for Oracle CRM On Demand Field Types
Text (short) 40
<xsl:if test="od:PartnerFlag">
<op:PartnerFlag>
<xsl:call-template name="ConvertBoolean">
<xsl:with-param name="ODValue" select="od:PartnerFlag"/>
</xsl:call-template>
</op:PartnerFlag>
</xsl:if>
<xsl:if test="od:CloseDate">
<op:PrimaryRevenueCloseDate>
<xsl:call-template name="ConvertDate">
<xsl:with-param name="ODValue" select="od:CloseDate"/>
</xsl:call-template>
</op:PrimaryRevenueCloseDate>
</xsl:if>
<xsl:if test="od:ReferenceSince">
<op:ReferenceDate>
<xsl:call-template name="ConvertDateToDateTime">
<xsl:with-param name="ODValue" select="od:ReferenceSince"/>
</xsl:call-template>
</op:ReferenceDate>
</xsl:if>
<xsl:if test="od:WorkPhone">
<op:WorkPhone>
<xsl:call-template name="ConvertPhoneNumber">
<xsl:with-param name="ODValue" select="od:WorkPhone"/>
</xsl:call-template>
</op:WorkPhone>
</xsl:if>
For information on using this function, read Converting Picklists with Domain Value Maps on page 50.
his function checks if the Oracle CRM On Demand string length is longer than the Length parameter.
If so, then the string is trimmed, and three periods (.) are appended at the end. The resulting string
is as long as the Length parameter specifies.
■ Oracle CRM On Demand Field Type. Text (Short), Text (Long), and Note
■ Siebel CRM Field Type. string (Must be shorter than the Text Length in Siebel Tools.)
Table 18 lists the maximum field length for each of the Oracle CRM On Demand field types.
Table 18. Maximum Text Length for Oracle CRM On Demand Field Types
Text (short) 40
Note 16,350
<xsl:if test="od:Description">
<op:Comment>
<xsl:call-template name="TrimStringLength">
<xsl:with-param name="Length">255</xsl:with-param>
<xsl:with-param name="ODValue" select="od:Description"/>
</xsl:call-template>
</op:Comment>
</xsl:if>
The following table shows an example of mapping between Oracle CRM On Demand and Siebel
CRM.
Air Airborne
DHL DHL
Emery Emery
UPS UPS
USPS US Mail
2 Create Domain Value Map files to import value mappings for data synchronization in either
direction. Two files are required for each Oracle CRM On Demand host, one for each direction.
For example, if one Oracle CRM On Demand host existed in a system that needed this Preferred
Carrier mapping, the two files would look like the following:
<row>
<cell>UPS</cell>
<cell>UPS</cell>
</row>
<row>
<cell>US Mail</cell>
<cell>USPS</cell>
</row>
</rows>
</dvm>
The <dvm> name attributes are important because incorrect values prevent the ConvertPicklist
function from working. The format of the <dvm> name attribute depends on the direction of the
conversion as follows:
In this example, the DVMName parameter is AccountPreferredCarrier. The name that is used is
not important. You must use the same Domain Value Map name in each <dvm> name attribute
and DVMName ConvertPicklist parameter. The ODHostId parameter corresponds to the Oracle
CRM On Demand Host ID saved in the HOSTID column of the SIEBELODHOST table stored in the
customer’s local database.
If another host called ODHOST2 existed with the custom Preferred Carrier field, then two more
XML files must be created.
http://OracleSOAServer/esb/
c Under the Domain Value Maps bar on the left, click the down arrow and choose Import a new
map.
d Click the browse button in the new dialog to select Import File path, find one of the files created
in step 2, and click the Open button.
f Repeat Step c. through Step e. for each Domain Value Map file.
4 Add references to picklist mappings in each Siebel CRM or Oracle CRM On Demand XSL transform
file.
<xsl:if test="od:Preferred_Carrier">
<op:PreferredCarrier>
<xsl:call-template name="ConvertPicklist">
<xsl:with-param name="DVMName">AccountPreferredCarrier</xsl:with-param>
<xsl:with-param name="ODHostId" select="$ODHostId"/>
<xsl:with-param name="ODValue" select="od:Preferred_Carrier"/>
</xsl:call-template>
</op:PreferredCarrier>
</xsl:if>
<xsl:if test="op:PreferredCarrier">
<od:Preferred_Carrier>
<xsl:call-template name="ConvertPicklist">
<xsl:with-param name="DVMName">AccountPreferredCarrier</xsl:with-param>
<xsl:with-param name="ODHostId" select="$ODHostId"/>
This chapter describes how to troubleshoot Oracle CRM On Demand Integration to Siebel CRM. It
contains the following topics:
■ Log Files for Oracle CRM On Demand Integration to Siebel CRM on page 55
■ Error Messages for Oracle CRM On Demand Integration to Siebel CRM on page 56
■ Oracle Process Manager and Notification logs. These files are stored in SOA_HOME/opmn/log.
■ If the file transfer service is used to transfer files from Siebel CRM to Oracle Service Oriented
Architecture then the File Adapter Controller log files are stored in SOA HOME/SiebelODOPPIP/
fileAdapterController/ExtDirs/queuename/logs/FileXFer*.log
■ siebelserver_install/siebsrvr/logs/CustomAppObjMgr*.log
■ WorkMonOPOD*.log
■ WfProcMgr*.log
■ Contact not found at On Demand. Cause of error: If contact is not found in XRef, in case of Child
insert.
■ Could not get external host Id for Account (%s) on OP Org (%s).
■ Could not get WS end-point from OD host map using OD host Id %s.
■ Could not insert record in OD.
■ Could not set sync failure in OP (%s) for Account record (%s) pointing to host (%s).
■ Could not set sync failure on OD Host (%s) for Account record (%s).
■ Error attempting add of OD row Id on host (ODHOSTID) for OP product (OPProductId) to XREF -
InsertProductCRMOnDemandProcABCSImpl.
■ Lookup Of Primary Account Row ID Failed. Cause of error: If Primary Account is not found in XRef.
■ No Opportunity Found corresponding to Id: Id Value. Cause of error: If Opportunity is not found
in XRef, in case of child insert.
■ Product not found in On Demand Host. Cause of Error: If Product is not found in XRef.
■ The query for externals hosts with Id (%s) on Account (%s) did not return a unique record.
■ Unexpected exception.
■ Unhandled exception.
Troubleshooting Strategies
When making configuration changes in either Oracle CRM On Demand or Siebel CRM, you must clear
the middle tier cache. Execute the following SQL on the Oracle Service Oriented Architecture
Database using the orabpel user:
Monitor disk space regularly on the SOA server and regularly archive the transaction messages found
in:
If the Siebel CRM messages are stored on the Siebel server and the file transfer service is used to
transfer messages to the Oracle Service Oriented Architecture environment, archive files from the
Archive directory under each corresponding location specified for the
OPOD_TRANSACTION_LOG_FILE_PATH LOV.
Autodeployment of processes failed. Make sure that the middle-tier setups, before the
autodeployment script is started, are done correctly
and the SOA server has been restarted, before starting
the autodeployment script.
The File Adapter Controller process is not Make sure that the File Adapter Controller
running correctly. configuration files are modified correctly. The File
Adapter Controller log files could have more
information:SOA HOME/SiebelODOPPIP/
fileAdapterController/ExtDirs/queuename/logs/
fileAdapterController*.log
Transaction logs are not being generated Make sure the values specified for
in Siebel CRM. OPOD_TRANSACTION_LOG_FILE_PATH are correct. If
using a network share, make sure it is configured
correctly. The WorkMon and Workflow Process
Manager files could have more information.
The transaction logs are not being If using the file transfer service, make sure the server
transferred to the SOA server. and client are running, the server is scheduled to run
on startup using Windows scheduler. Client log files:
SOA_HOME/SiebelODOPPIP/fileAdapterController/
ExtDirs/queuename/logs/fileXFer*.log.
On the Siebel Server the File Transfer Service transfers
logs from the Siebel server to the Oracle Service
Oriented Architecture environment:
Location_where_service_is_installed/logs. For
example, d:\FileXFerServer\logs
■ Currency Code
Synchronization takes a long time. Check that Web Services components in both
environments are up. Verify that the
HeartBeatProcessManager Oracle Business Processes
Execution Language workflow is running.
File Adapter Controller logs indicate that Check that Web Services components on both
it is suspended and not processing files. applications are up.
File Adapter Controller is running but not Make sure there are no old (greater than 30 minutes)
processing files. Files are getting queued TMP files in the corresponding internal application
in SOA_HOME/SiebelODOPPIP/ExtDirs/ directory from where the Oracle Business Processes
queuename. Execution Language file adapter reads.
You get the following error message: The If you receive this error while making multiple changes
selected record has been modified by to the record, you must refresh the record and try
another user since it was retrieved. again. This error occurs because the changes triggered
Please continue.(SBL-DAT-00523) a synchronization to the other application.
Middleware
Assoc. Exception Suggested
Scenario OD Result SC Result Result Cases Resolution
Delete OD record
and resync record
from SC for example,
set Sync Status = ON
in SC.
Middleware
Assoc. Exception Suggested
Scenario OD Result SC Result Result Cases Resolution
Set Sync If cross If cross ref- If cross If cross Admin needs to set
Status to ON reference erence does reference did reference the Sync Status to
from FAILED does not not exist Or- not exists in OFF to clear the
in OD. exist in acle Fusion previously Oracle cross reference in
Oracle Middleware, exist, Fusion Oracle Fusion
Fusion correspond- association Middleware, Middleware and then
Middleware, ing record between but record set the Sync Status
initiate created in records is does not back to ON to push
record sync SC. created. exist in SC the record to SC and
to SC. for some merge records in SC
reason so if appropriate.
If cross If cross If cross
refresh fails.
reference reference reference did
does exist in does exist in previously
Oracle Oracle exist, no
Fusion Fusion change is
Middleware, Middleware, made.
OD record is SC record
refreshed refreshes
from SC. record in OD.
Middleware
Assoc. Exception Suggested
Scenario OD Result SC Result Result Cases Resolution
Middleware
Assoc. Exception Suggested
Scenario OD Result SC Result Result Cases Resolution
account
An account describes an organizational customer.
BPEL
Oracle Business Processes Execution Language, a standards-based extensible language.
contact
A contact describes an individual customer who might or might not be related to an account
(Organization customer) or another contact (individual customer).
Cross-Reference table
This table maintains the mapping of row IDs (ROW_ID) between applications.
organization
A business unit, such as a plant, warehouse, division, department, and so on.
SaaS
Software as a Service, a model of software deployment whereby a provider licenses an application to
customers for use as a service on demand.
Siebel CRM
The enterprise version of Oracle’s Siebel CRM application.
SOA
Oracle Service Oriented Architecture, which enables different applications to exchange data with one
another.
A F
accounts failure alerts 55
data mapping 20 File Adapter Controller 10, 13
synchronizing 15
transaction logging workflow events 18 L
transform workflows 17 lists of values 10
workflow policy actions 18
workflow processes 19
workflows 16 M
adding fields 35 mechanism, synchronization 13
alerts 55
assumptions 9 O
opportunities
C data mapping 30
constraints 9 synchronizing 26
contacts transform workflows 28
data mapping 25 workflow policy actions 29
synchronizing 21 workflow processes 29
transaction logging workflow events 23 workflows 27
transform workflows 23 other workflows 33
workflow policy actions 24 overview Oracle CRM On Demand
workflow processes 24 Integration to Siebel CRM 9
workflows 21
conversion functions 43, 47 P
ConvertBoolean 44, 47 picklist conversion 50
ConvertDate 44, 47 product data synchronization 10
ConvertDateTimeToDate 45 products
ConvertDateToDateTime 48 data mapping 32
ConvertPhoneNumber 48 synchronizing 30
ConvertPicklist 45, 49 transform workflows 31
create custom fields 36 workflow policy actions 32
workflow processes 32
D workflows 31
data mapping
accounts 20 R
contacts 25 release scope 11
opportunities 30
products 32 S
domain value maps 50
scope of this release 11
SiebelHeartBeatCheckProc 10
E synchronization failure alerts 55
error messages 56 synchronization mechanism 13
synchronizing, accounts 15
synchronizing, contacts 21
synchronizing, opportunities 26
synchronizing, products 10, 30
T workflow processes
transaction logger XSD 39 accounts 19
transaction logging 10 contacts 24
transaction logging workflow events opportunities 29
accounts 18 products 32
contacts 23 workflows
opportunities 28 accounts 16
triggers 39 contacts 21
troubleshooting strategies 58 opportunities 27
troubleshooting, overview 55 other 33
products 31
transform account data 17
U transform contact data 23
updating transaction logger XSD 39 transform opportunity data 28
updating triggers 39 transform product data 31
user interface changes 14 WSDL 37
W X
What’s New 7 XML schema 35
workflow policy actions XREF_DATA table 14
accounts 18 XSD transaction log file 39
contacts 24 XSL transform files 35, 40, 41
opportunities 29
products 32