Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

68
CRM On Demand Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1 July 2009 E12741-02

Transcript of Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Page 1: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

CRM On Demand

Oracle CRM On DemandIntegration to Siebel CRM

Administration Guide

Version 1.1July 2009

E12741-02

Page 2: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Copyright © 2005, 2009

Oracle and/or its affiliates. All rights reserved.

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.

Page 3: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Contents

Chapter 1: What’s New in This Release

Chapter 2: Overview of Oracle CRM On Demand Integration to Siebel CRM

Oracle CRM On Demand Integration to Siebel CRM 9

Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRM 9

Lists of Values 10Product Data 10Transaction Logging 10

Scope of This Release 11

Chapter 3: About Oracle CRM On Demand Integration to Siebel CRM

Synchronization Mechanism 13

Changes Made to the User Interface for Siebel CRM 14

Workflows to Synchronize Accounts 15Oracle Business Processes Execution Language Workflows for Accounts 16Workflows to Transform Account Data 17Transaction Logging Workflow Events for Accounts 18Workflow Policy Actions for Accounts 18Workflow Processes for Accounts 19Data Mapping for Accounts 20

Workflows to Synchronize Contacts 21Oracle Business Processes Execution Language Workflows for Contacts 21Workflows to Transform Contact Data 23Transaction Logging Workflow Events for Contacts 23Workflow Policy Actions for Contacts 24Workflow Processes for Contacts 24Data Mapping for Contacts 25

Workflows to Synchronize Opportunities 26About Opportunity Synchronization 26Oracle Business Processes Execution Language Workflows for Opportunities 27Workflows to Transform Opportunity Data 28

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

3

Page 4: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Contents ■

Workflow Events for Transaction Logging for Opportunities 28Workflow Policy Actions for Opportunities 29Workflow Processes for Opportunities 29Data Mapping for Opportunities 30

Workflows to Synchronize Products 30Oracle Business Processes Execution Language Workflows for Products 31Workflows to Transform Product Data 31Workflow Policy Actions for Products 32Workflow Processes for Products 32Data Mapping for Products 32

Other Oracle Business Processes Execution Language Workflows 33

Chapter 4: Customizing Field SynchronizationProcess of Adding Fields 35

Identifying Oracle CRM On Demand Fields 36Generating a New Oracle CRM On Demand WSDL 37Identifying Siebel CRM Fields 37Updating the Siebel CRM WSDL 38Updating the Siebel CRM Transaction Logger XSD 39Example of Inserting Fields in XSL Files 40

Conversion Functions from Siebel CRM to Oracle CRM On Demand 43ConvertBoolean Function for Siebel CRM 44ConvertDate Function for Siebel CRM 44ConvertDateTimeToDate Function for Siebel CRM 45ConvertPicklist Function for Siebel CRM 45TrimStringLength Function for Siebel CRM 46

Oracle CRM On Demand to Siebel CRM Conversion Functions 47ConvertBoolean Function for Oracle CRM On Demand 47ConvertDate Function for Oracle CRM On Demand 47ConvertDateToDateTime Function for Oracle CRM On Demand 48ConvertPhoneNumber Function for Oracle CRM On Demand 48ConvertPicklist Function for Oracle CRM On Demand 49TrimStringLength Function for Oracle CRM On Demand 49

Converting Picklists with Domain Value Maps 50

Chapter 5: Troubleshooting Oracle CRM On Demand Integration to Siebel CRM

Synchronization Failure Alerts from Oracle CRM On Demand 55

Log Files for Oracle CRM On Demand Integration to Siebel CRM 55

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

4

Page 5: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Contents ■

Error Messages for Oracle CRM On Demand Integration to Siebel CRM 56

Troubleshooting Strategies 58Typical Synchronization Scenarios 60

Glossary

Index

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

5

Page 6: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Contents ■

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

6

Page 7: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

7

1 What’s New in This Release

What’s New in Oracle CRM On Demand Integration to Siebel CRM Administration Guide, Version 1.1Table 1 lists changes described in this version of the documentation to support release 1.1 of the software.

Additional ChangesThe following changes have been applied throughout the book:

■ The format and appearance of this book have been updated.

■ 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.

■ Changed SOA to Oracle Service Oriented Architecture throughout the book.

Table 1. New Product Features in Oracle CRM On Demand Integration to Siebel CRM Administration Guide, Version 1.1

Topic Description

Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRM on page 9

The list of supported platforms has been updated.

Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRM on page 9

The solution assumptions and constraints have been updated.

Glossary on page 65 The glossary has been moved to an appendix.

Page 8: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

What’s New in This Release ■

8

Page 9: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

9

2 Overview of Oracle CRM On Demand Integration to Siebel CRM

This chapter provides an overview and describes solution assumptions. It contains the following topics:

■ Oracle CRM On Demand Integration to Siebel CRM

■ Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRM on page 9

■ Scope of This Release on page 11

Oracle CRM On Demand Integration to Siebel CRMThe Oracle CRM On Demand Integration to Siebel CRM synchronizes data between Oracle’s Siebel CRM (Enterprise version of the Oracle CRM application, typically deployed at the customer site) and Oracle CRM On Demand (SaaS-based CRM application). This prebuilt integration provides the following functionality:

■ Synchronizing accounts between Oracle CRM On Demand and Siebel CRM

■ Synchronizing contacts between Oracle CRM On Demand and Siebel CRM

■ Synchronizing opportunities between Oracle CRM On Demand and Siebel CRM

■ Synchronizing opportunity-revenue between Oracle CRM On Demand and Siebel CRM

■ Synchronizing products from Siebel CRM to Oracle CRM On Demand

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.

Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRMThe Oracle CRM On Demand Integration to Siebel CRM integrates the following applications:

■ Oracle CRM On Demand, Release 15 (1.9.0 931.0.03) and later

■ Siebel CRM, version 7.8.2.11 Siebel Cross-Industry Applications or version 7.8.2.12 Siebel Industry Applications

Page 10: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Overview of Oracle CRM On Demand Integration to Siebel CRM ■ Solution Assumptions and Constraints for Oracle CRM On Demand Integration to Siebel CRM

10

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 ValuesLists 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 DataProduct 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 LoggingThe 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.

The SiebelHeartBeatCheckProc Oracle Business Processes Execution Language process is activated regularly (at a configurable interval of seconds) to check the availability of Web service components on Oracle CRM On Demand and Siebel CRM. If either application is unavailable the processing of transactions is queued until the applications become available. This process prevents loss of transactions.

Page 11: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Overview of Oracle CRM On Demand Integration to Siebel CRM ■ Scope of This Release

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

11

If a synchronization failure occurs, administrators can review log files and other records to determine the cause of failure and take corrective action.

Scope of This ReleaseThis topic covers the scope of this release. It defines what is included and what is not included.

This release includes:

■ Near real-time bidirectional synchronization of account, account-addresses, contact, contact-addresses, opportunity, and opportunity-revenue.

■ 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.

Page 12: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Overview of Oracle CRM On Demand Integration to Siebel CRM ■ Scope of This Release

12

Page 13: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

13

3 About Oracle CRM On Demand Integration to Siebel CRM

This chapter describes how to integrate data objects using Oracle CRM On Demand Integration to Siebel CRM. It contains the following topics:

■ Synchronization Mechanism

■ Changes Made to the User Interface for Siebel CRM on page 14

■ Workflows to Synchronize Accounts on page 15

■ Workflows to Synchronize Contacts on page 21

■ Workflows to Synchronize Opportunities on page 26

■ Workflows to Synchronize Products on page 30

■ Other Oracle Business Processes Execution Language Workflows on page 33

Synchronization MechanismThe 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.

Page 14: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Changes Made to the User Interface for Siebel CRM

14

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.

Changes Made to the User Interface for Siebel CRMThe following views in Siebel CRM have been modified for the purposes of this integration:

Table 2. Columns in the XREF_DATA Table

Column Name Description

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:

■ OPROWID (Siebel CRM Row ID)

■ ODHOST1 (Oracle CRM On Demand host 1)

ROW_NUMBER Contains a unique identifier for the record.

VALUE Contains the ROWID of the record from the application instance.

IS_DELETED A flag (Y/N) indicating if the cross-reference is deleted or still in use.

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.

Page 15: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeAccounts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

15

■ Account Sync Status Form Applet

■ Account Sync Status List Applet

■ Account Synchronization Status Monitoring View

■ Contact Sync Status Form Applet

■ Contact Sync Status List Applet

■ Contact Synchronization Status Monitoring View

■ Opportunity Sync Status Form Applet

■ Opportunity Sync Status List Applet

■ Opportunity Synchronization Status Monitoring View

■ Product Sync Status Form Applet

■ Product Sync Status List Applet

■ Product Synchronization Status Monitoring View

■ Synchronization Status Monitoring Screen

Workflows to Synchronize AccountsThe synchronizing of account data uses the following types of workflows to process and transform records between the applications:

■ Oracle Business Processes Execution Language Workflows for Accounts on page 16

■ Workflows to Transform Account Data on page 17

■ Transaction Logging Workflow Events for Accounts on page 18

■ Workflow Policy Actions for Accounts on page 18

■ Workflow Processes for Accounts on page 19

■ Data Mapping for Accounts on page 20

Page 16: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Accounts

16

Oracle Business Processes Execution Language Workflows for AccountsTable 3 lists the Oracle Business Processes Execution Language workflows for accounts.

Table 3. Oracle Business Processes Execution Language Workflows for Account

Workflow Name Description

AccountSyncFailure Sets the record status to failure if there is an error in synchronization.

AccountSyncStatus Sets the status to synchronization enabled when a record is created in Siebel CRM as the result of a synchronization.

AccountWSEndPointCRMOnDemand Makes the Web service calls to Oracle CRM On Demand.

AccountWSEndPointSiebel Makes the Web service calls to Siebel CRM.

AssociateAccountContactCRMOnDemandProvABCSImpl

Creates the relationship between the named objects in the specified application.

AssociateAccountContactSiebelProvABCSImpl Creates the relationship between the named objects in the specified application.

DeleteAccountAddressCRMOnDemandProvABCSImpl

Deletes the record in the named object in the specified application.

DeleteAccountAddressSiebelProvABCSImpl Deletes the record in the named object in the specified application.

DeleteAccountCRMOnDemandProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

DeleteAccountSiebelProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

DisassociateAccountContactCRMOnDemandProvABCSImpl

Removes the relationship between the named objects in the specified application.

DisassociateAccountContactSiebelProvABCSImpl Removes the relationship between the named objects in the specified application.

GetODAccount Queries the record from Oracle CRM On Demand.

GetOPAccount Queries the record from Siebel CRM.

InsertAccountAddressCRMOnDemandProvABCSImpl

Creates a new record for the named object in the specified application.

Page 17: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeAccounts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

17

Workflows to Transform Account DataThe following workflows transform account data between the applications:

■ XFrmAccountAddressODToOP

■ XFrmAccountAddressOPDataToOPTxn

■ XFrmAccountAddressSiebelOPTxnToOD

■ XFrmAccountOPToOD

■ XFrmAccountQuerySiebelOD

■ XFrmAccountQuerySiebelOP

■ XFrmAccountSiebelODToOP

InsertAccountAddressSiebelProvABCSImpl Creates a new record for the named object in the specified application.

InsertAccountCRMOnDemandProvABCSImpl Creates a new record for the named object in the specified application.

InsertAccountIDLCRMOnDemandProvABCSImpl Inserts a batch of accounts in Oracle CRM On Demand.

InsertAccountSiebelProvABCSImpl Creates a new record for the named object in the specified application.

InsertBatchAccountCRMOnDemandProvABCSImpl

Inserts a batch of accounts in Oracle CRM On Demand.

RefreshAccountCRMOnDemandProvABCSImpl Refreshes a record in Oracle CRM On Demand by querying Siebel CRM.

SyncOnAccountCRMOnDemandProvABCSImpl Sets synchronization to On for the named object in the specified application.

SyncOnAccountSiebelProvABCSImpl Sets synchronization to On for the named object in the specified application.

UpdateAccountAddressCRMOnDemandProvABCSImpl

Updates a record for the named object in the specified application.

UpdateAccountAddressSiebelProvABCSImpl Updates a record for the named object in the specified application.

UpdateAccountCRMOnDemandProvABCSImpl Updates a record for the named object in the specified application.

UpdateAccountSiebelProvABCSImpl Updates a record for the named object in the specified application.

Table 3. Oracle Business Processes Execution Language Workflows for Account

Workflow Name Description

Page 18: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Accounts

18

■ XFrmAccountSiebelODToOPData

■ XFrmAccountSiebelOPDataToOPTxnLog

■ XFrmOPAccountAddressToOPQuery

■ XFrmUpdateAccountAddressOPTxnToOD

Transaction Logging Workflow Events for AccountsThe following workflow events are enabled in Oracle CRM On Demand for transaction logging:

■ Account Contact Delete

■ Account Contact Insert

■ Account Contact Update

■ 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:

■ ODOP Account Address Association

■ ODOP Account Address Disassociation

■ ODOP Account Contact Association

■ ODOP Account Contact Disassociation

■ ODOP Account - Create

■ ODOP Account – Delete

■ ODOP Account – Opportunity Disassociation

■ ODOP Account – Update

Workflow Policy Actions for AccountsThe following workflow policy actions are enabled in Siebel CRM. They call workflow processes that have the same name as the action:

■ OPOD Account Address Association

Page 19: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeAccounts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

19

■ OPOD Account Address Disassociation

■ OPOD Account Address Update

■ OPOD Account Contact Association

■ OPOD Account Contact Disassociation

■ OPOD Account Delete

■ OPOD Account Syn Off

■ OPOD Account Syn Off Update

■ OPOD Account Syn On

■ OPOD Account Update

Workflow Processes for AccountsThe following are the workflow processes for accounts:

■ OPOD Account Address Association

■ OPOD Account Address Delete

■ OPOD Account Address Update

■ OPOD Account Contact Association

■ OPOD Account Contact Disassociation

■ OPOD Account-Contact Query

■ OPOD Account Delete

■ OPOD Account-External Host Query

■ OPOD Account-External Host Update Syn Status

■ OPOD Account Syn Off Delete

■ OPOD Account Syn Off Update

■ OPOD Account Syn On

■ OPOD Account Update

Page 20: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Accounts

20

Data Mapping for AccountsTable 4 shows the data mapping for common account data elements between Oracle CRM On Demand and Siebel CRM.

Table 4. Account Data Mappings

Oracle CRM On Demand Siebel CRM

Display NameWSDL Element Name Name Join Column

Account Currency

CurrencyCode Currency Code S_ORG_EXT BASE_CURCY_CD

Account Name AccountName Name S_ORG_EXT NAME

Account Partner PartnerFlag Partner Flag S_ORG_EXT PRTNR_FLG

Account Type AccountType Party Type Code S_ORG_EXT PARTY_TYPE_CD

Annual Revenues

AnnualRevenues Annual Revenue S_ORG_EXT_X ATTRIB_14

Description Description Description S_ORG_EXT DESC_TEXT

Industry Industry Industry Not applicable Not applicable

Location Location Location S_ORG_EXT LOC

Main Fax # MainFax Main Fax Number S_ORG_EXT MAIN_FAX_PH_NUM

Main Phone # MainPhone Main Phone Number

S_ORG_EXT MAIN_PH_NUM

Number of Employees

NumberEmployees Employee Here S_ORG_EXT EMP_COUNT

Public Company PublicCompany Public S_ORG_EXT_X ATTRIB_08

Reference Reference Reference Flag S_ORG_EXT REFERENCE_CUST_FLG

Reference as of ReferenceSince Reference Date S_ORG_EXT REFERENCE_START_DT

Region Region Region S_ORG_EXT REGION

Not applicable PrimaryBillToAddressID

Primary Bill To Address Id

S_ORG_EXT PR_BL_ADDR_ID

Not applicable PrimaryShipToAddressId

Primary Ship To Address Id

S_ORG_EXT PR_SHIP_ADDR_ID

Status Status Account Status S_ORG_EXT CUST_STAT_CD

Web Site WebSite Home Page S_ORG_EXT URL

Page 21: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeContacts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

21

Workflows to Synchronize ContactsThe synchronizing of contact data uses the following types of workflows to process and transform records between the applications:

■ Oracle Business Processes Execution Language Workflows for Contacts on page 21

■ Workflows to Transform Contact Data on page 23

■ Transaction Logging Workflow Events for Contacts on page 23

■ Workflow Policy Actions for Contacts on page 24

■ Workflow Processes for Contacts on page 24

■ Data Mapping for Contacts on page 25

Oracle Business Processes Execution Language Workflows for ContactsTable 5 lists the Oracle Business Processes Execution Language workflows for contacts.

Table 5. Oracle Business Processes Execution Language Workflows for Contacts

Workflow Name Description

AssociateOpportunityContactCRMOnDemandProvABCSImpl Creates the relationship between the named objects in the specified application.

AssociateOpportunityContactSiebelProvABCSImpl Creates the relationship between the named objects in the specified application.

ContactSyncFailure Sets the record status to failure if there is an error in synchronization.

ContactSyncStatus Sets the status to synchronization enabled when a record is created in Siebel CRM as the result of a synchronization.

ContactWSEndPointCRMOnDemand Makes the Web service calls to the Oracle CRM On Demand.

ContactWSEndPointSiebel Makes the Web service calls to the Siebel CRM.

DeleteContactAddressCRMOnDemandProvABCSImpl Deletes the record in the named object in the specified application.

Page 22: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Contacts

22

DeleteContactAddressSiebelProvABCSImpl Deletes the record in the named object in the specified application.

DeleteContactCRMOnDemandProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

DeleteContactSiebelProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

DisassociateOpportunityContactCRMOnDemandProvABCSImpl Removes the relationship between the named objects in the specified application.

DisassociateOpportunityContactSiebelProvABCSImpl Removes the relationship between the named objects in the specified application.

GetODContact Queries the record from Oracle CRM On Demand.

GetOPContact Queries the record from Siebel CRM.

InsertAccountIDLCRMOnDemandProvABCSImpl Inserts a batch of accounts in CRMOnDemand.

InsertBatchAccountCRMOnDemandProvABCSImpl Inserts a batch of accounts in CRMOnDemand.

InsertContactAddressCRMOnDemandProvABCSImpl Creates new record for the named object in the specified application.

InsertContactAddressSiebelProvABCSImpl Creates new record for the named object in the specified application.

InsertContactCRMOnDemandProvABCSImpl This workflow automatically synchronizes the primary account for the contact.

InsertContactSiebelProvABCSImpl This workflow automatically synchronizes the primary account for the contact.

RefreshContactCRMOnDemandProvABCSImpl Refreshes record in Oracle CRM On Demand by querying Siebel CRM.

Table 5. Oracle Business Processes Execution Language Workflows for Contacts

Workflow Name Description

Page 23: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeContacts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

23

Workflows to Transform Contact DataThe following workflows transform contact data between the applications:

■ XFrmContactAddressODToOP

■ XFrmContactAddressOPDataToOPQuery

■ XFrmContactAddressOPDataToOPTxn

■ XFrmContactAddressOPTxnToOD

■ XFrmContactOPDataToOPTxn

■ XFrmContactOPToOD

■ XFrmContactSiebelODToOP

■ XFrmUpdateContactAddressOPTxnToOD

Transaction Logging Workflow Events for ContactsThe following workflow events are enabled in Oracle CRM On Demand for transaction logging:

SyncOnContactCRMOnDemandProvABCSImpl Sets synchronization to On for the named object in the specified application.

SyncOnContactSiebelProvABCSImpl Sets synchronization to On for the named object in the specified application.

UpdateContactAddressCRMOnDemandProvABCSImpl Updates a record for the named object in the specified application.

UpdateContactAddressSiebelProvABCSImpl If the update was a change in the primary account for the contact, the new primary account is automatically synchronized.

UpdateContactCRMOnDemandProvABCSImpl Updates a record for the named object in the specified application.

UpdateContactSiebelProvABCSImpl If the update was a change in the primary account for the contact, the new primary account is automatically synchronized.

Table 5. Oracle Business Processes Execution Language Workflows for Contacts

Workflow Name Description

Page 24: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Contacts

24

■ 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.

Workflow Policy Actions for ContactsThe following workflow policy actions call workflow processes that have the same name as the action:

■ OPOD Contact Address Association

■ OPOD Contact Address Disassociation

■ OPOD Contact Address Update

■ OPOD Contact Delete

■ OPOD Contact Syn Off

■ OPOD Contact Syn Off Update

■ OPOD Contact Syn On

■ OPOD Contact Update

Workflow Processes for ContactsThe following are the workflow processes for contacts:

■ OPOD Contact Address Association

■ OPOD Contact Address Delete

■ OPOD Contact Address Update

■ OPOD Contact Delete

■ OPOD Contact-External Host Query

■ OPOD Contact-External Host Update Syn Status

■ OPOD Contact Syn Off Delete

■ OPOD Contact Syn Off Update

■ OPOD Contact Syn On

■ OPOD Contact Update

Page 25: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeContacts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

25

Data Mapping for ContactsTable 6 shows the data mapping for common contact data elements between Oracle CRM On Demand and Siebel CRM.

Table 6. Data Mapping for Contacts

Oracle CRM On Demand Siebel CRM

Display NameWSDL Element Name Name Join Column

Not applicable AlternateAddressId Primary Personal Address Id

S_CONTACT PR_PER_ADDR_ID

Account Account Name Account Not applicable

Not applicable

Account Location AccountLocation Account Location Not applicable

Not applicable

Assistant Name AssistantName Assistant S_CONTACT CON_ASST_NAME

Assistant Phone #

AssistantPhone Assistant Phone # S_CONTACT ASST_PH_NUM

Cellular Phone # CellularPhone Cellular Phone # S_CONTACT CELL_PH_NUM

Contact Type ContactType Party Type Code Not applicable

PARTY_TYPE_CD

Contact Zip AlternateZipCode Personal Postal Code

Not applicable

Not applicable

Date of Birth DateOfBirth Birth Date S_CONTACT BIRTH_DT

Description Description Comment S_CONTACT COMMENTS

Email ContactEmail Email Address S_CONTACT EMAIL_ADDR

First Name ContactFirstName First Name S_CONTACT FST_NAME

Gender Gender M/F S_CONTACT SEX_MF

Home Phone # HomePhone Home Phone # S_CONTACT HOME_PH_NUM

Job Title JobTitle Job Title S_CONTACT JOB_TITLE

Last Name ContactLastName Last Name S_CONTACT LAST_NAME

Marital Status MaritalStatus Married S_CONTACT_X

ATTRIB_08

Middle Name MiddleName Middle Name S_CONTACT MID_NAME

Mr./Ms. MrMs M/M S_CONTACT PER_TITLE

Never Email NeverEmail Suppress All Emails

S_CONTACT SUPPRESS_EMAIL_FLG

Page 26: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Opportunities

26

Workflows to Synchronize OpportunitiesThe synchronizing of opportunity data uses the following types of workflows to process and transform records between the applications:

■ About Opportunity Synchronization on page 26

■ Oracle Business Processes Execution Language Workflows for Opportunities on page 27

■ Workflows to Transform Opportunity Data on page 28

■ Workflow Events for Transaction Logging for Opportunities on page 28

■ Workflow Policy Actions for Opportunities on page 29

■ Workflow Processes for Opportunities on page 29

■ Data Mapping for Opportunities on page 30

About Opportunity SynchronizationFor Siebel Industry Applications, the Close Date in Oracle CRM On Demand must be equal to or later than the current date for Siebel CRM to synchronize the record. Opportunities with a Close Date earlier than the current date are considered to have expired. For Siebel Cross-Industry Applications, the Close Date can be earlier than the current date.

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.

Work Fax # WorkFax Fax Phone # S_CONTACT FAX_PH_NUM

Work Phone # WorkPhone Work Phone # S_CONTACT WORK_PH_NUM

Table 6. Data Mapping for Contacts

Oracle CRM On Demand Siebel CRM

Display NameWSDL Element Name Name Join Column

Page 27: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeOpportunities

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

27

Oracle Business Processes Execution Language Workflows for OpportunitiesTable 7 lists the Oracle Business Processes Execution Language workflows for opportunities.

Table 7. Oracle Business Processes Execution Language Workflows for Opportunities

Workflow Name Description

DeleteOpportunityCRMOnDemandProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

DeleteOpportunityRevenueCRMOnDemandProvABCSImpl

Deletes the record in the named object in the specified application.

DeleteOpportunityRevenueSiebelProvABCSImpl Deletes the record in the named object in the specified application.

DeleteOpportunitySiebelProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

GetIndustryIdCRMOnDemandProvABCSImpl Gets the record ID values from Oracle CRM On Demand for Industries. It is used during Domain Value Map mapping.

GetODOpportunity Queries the record from Oracle CRM On Demand.

GetOPOpportunity Queries the record from Siebel CRM.

InsertOpportunityCRMOnDemandProvABCSImpl Synchronizes the account associated with the opportunity.

InsertOpportunityRevenueCRMOnDemandProvABCSImpl

Creates a new record for the named object in the specified application.

InsertOpportunityRevenueSiebelProvABCSImpl Creates a new record for the named object in the specified application.

InsertOpportunitySiebelProvABCSImpl Synchronizes the account associated with the opportunity.

OpportunitySalesStageCRMOnDemandProvImpl Maps Sales Stage values for Opportunity.

OpportunitySyncFailure Sets the record status to Failure if there is an error in synchronization.

OpportunitySyncStatus Sets status to synchronization enabled when record is created in the application as the result of a synchronization.

OpportunityWSEndPointCRMOnDemand Makes the Web service calls to the Oracle CRM On Demand.

Page 28: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Opportunities

28

Workflows to Transform Opportunity DataThe following workflows transform opportunity data between the applications:

■ XFrmOpportunityInsertSiebelOPToOD

■ XFrmOpportunityOPDataToOPTxn

■ XFrmOpportunityQuerySiebelOD

■ XFrmOpportunityQuerySiebelODToOP

■ XFrmOpportunityQuerySiebelOP

■ XFrmOpportunitySiebelOPDataToOP

■ XFrmOpportunityUpdateSiebelODToOP

■ XFrmOpportunityUpdateSiebelOPToOD

Workflow Events for Transaction Logging for OpportunitiesThe following workflow events are enabled in Oracle CRM On Demand for transaction logging:

■ Opportunity-Delete Opportunity

■ Opportunity-Insert Opportunity

OpportunityWSEndPointSiebel Makes the Web service calls to Siebel CRM.

RefreshOpportunityCRMOnDemandProvABCSImpl Refreshes record in Oracle CRM On Demand by querying Siebel CRM.

SyncOnOpportunityCRMOnDemandProvABCSImpl Sets the synchronization to On for the named object in the specified application.

SyncOnOpportunitySiebelProvABCSImpl Sets the synchronization to On for the named object in the specified application.

UpdateOpportunityCRMOnDemandProvABCSImpl Updates a record for the named object in the specified application.

UpdateOpportunityRevenueCRMOnDemandProvABCSImpl

Updates a record for the named object in the specified application.

UpdateOpportunityRevenueSiebelProvABCSImpl Updates a record for the named object in the specified application.

UpdateOpportunitySiebelProvABCSImpl Updates a record for the named object in the specified application.

Table 7. Oracle Business Processes Execution Language Workflows for Opportunities

Workflow Name Description

Page 29: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeOpportunities

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

29

■ Opportunity-SyncOFF Opportunity

■ Opportunity-Update Opportunity

■ Revenue-Delete Revenue

■ Revenue-Insert Revenue

■ Revenue-Update Revenue

Workflow Policy Actions for OpportunitiesThe following workflow policy actions for opportunities that have the same name as the action:

■ OPOD Opportunity Contact Association

■ OPOD Opportunity Contact Disassociation

■ OPOD Opportunity Delete

■ OPOD Opportunity Revenue Association

■ OPOD Opportunity Revenue Delete

■ OPOD Opportunity Revenue Update

■ OPOD Opportunity Syn Off Delete

■ OPOD Opportunity Syn Off Update

■ OPOD Opportunity Syn On

■ OPOD Opportunity Update

Workflow Processes for OpportunitiesThe following are workflow processes for opportunities:

■ OPOD Opportunity Contact Association

■ OPOD Opportunity Contact Disassociation

■ OPOD Opportunity Delete

■ OPOD Opportunity Revenue Association

■ OPOD Opportunity Revenue Delete

■ OPOD Opportunity Revenue Update

■ OPOD Opportunity Syn Off Delete

■ OPOD Opportunity Syn Off Update

■ OPOD Opportunity Syn On

■ OPOD Opportunity Update

■ OPOD Opty-Contact Query

Page 30: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Products

30

■ OPOD Opty-External Host Query

■ OPOD Opty-External Host Update Syn Status

Data Mapping for OpportunitiesTable 8 shows the data mapping for common opportunity data elements between Oracle CRM On Demand and Siebel CRM.

Workflows to Synchronize ProductsThe synchronizing of product data uses the following types of workflows to process and transform records between the applications:

■ Oracle Business Processes Execution Language Workflows for Products on page 31

Table 8. Data Mapping for Opportunities

Oracle CRM On Demand Siebel CRM

Display NameWSDL Element Name Display Name Join Column

Account AccountName Account S_ORG_EXT NAME

Account Location

AccountLocation Account Location S_ORG_EXT LOC

Close Date CloseDate Close Date Not applicable Not applicable

Description Description Description Not applicable DESC_TEXT

Forecast Forecast Committed Not applicable Not applicable

Lead Source LeadSource Source Not applicable Not applicable

Opportunity Currency

CurrencyCode Currency Code Not applicable CURCY_CD

Opportunity Name

OpportunityName Name Not applicable NAME

Probability % Probability Rep % Not applicable Not applicable

Reason Won/Lost

ReasonWonLost Reason Not applicable REASON

Revenue Revenue Revenue Not applicable Not applicable

Sales Stage SalesStage Sales Stage Sales Stage NAME

Stage Status StageStatus Opportunity Sales Status

Sales Stage STAGE_STATUS_CD

Status Status Status Not applicable STATUS_CD

Page 31: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to SynchronizeProducts

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

31

■ Workflows to Transform Product Data on page 31

■ Workflow Policy Actions for Products on page 32

■ Workflow Processes for Products on page 32

■ Data Mapping for Products on page 32

Oracle Business Processes Execution Language Workflows for ProductsTable 9 lists the Oracle Business Processes Execution Language workflows for products.

Workflows to Transform Product DataThe following workflow transforms product data between the applications XFrmProductSiebelOPToOD.

Table 9. Oracle Business Processes Execution Language Workflows for Products

Name Description

DeleteProductCRMOnDemandProvABCSImpl Discontinues synchronization by removing the cross-reference and sets the record to Sync OFF.

IDLCSVFilereadProductCRMOnDemandProvABCSImpl

Used for initial load of products to an Oracle CRM On Demand instance.

IDLNewODBatchInsertProductCRMOnDemandProvABCSImpl

Used for initial load of products to a new Oracle CRM On Demand instance.

IDLOldODBatchParallelFlowProductCRMOnDemandProvABCSImpl

Used for initial load of products to an existing Oracle CRM On Demand instance.

IDLOldODQueryProductCRMOnDemandProvABCSImpl

Used for initial load of products to an Oracle CRM On Demand instance.

InsertProductCRMOnDemandProvABCSImpl Creates new record for the named object in the specified application.

ProductSyncFailure Sets record status to failure if there is an error in synchronization.

ProductWSEndPointCRMOnDemand Makes the Web service calls to the Oracle CRM On Demand.

ProductWSEndPointSiebel Makes the Web service calls to the Siebel CRM.

UpdateProductCRMOnDemandProvABCSImpl Updates a record for the named object in the specified application.

Page 32: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Workflows to Synchronize Products

32

Workflow Policy Actions for ProductsThe following workflow policy actions for products call workflow processes that have the same name as the action:

■ OPOD Internal Product Delete

■ OPOD Internal Product Syn Off Delete

■ OPOD Internal Product Syn Off Update

■ OPOD Internal Product Syn On

■ OPOD Internal Product Update

Workflow Processes for ProductsThe following are workflow processes for products:

■ OPOD Internal Product Delete

■ OPOD Internal Product Syn Off Delete

■ OPOD Internal Product Syn Off Update

■ OPOD Internal Product Syn On

■ OPOD Internal Product Update

■ OPOD Product-External Host Query

■ OPOD Product-External Host Update Syn Status

Data Mapping for ProductsTable 10 shows the data mapping for common product data elements between Oracle CRM On Demand and Siebel CRM.

Table 10. Data Mapping for Products

Oracle CRM On Demand Siebel CRM

Display Name WSDL Element Name Name Column

Description Description Description DESC_TEXT

Orderable Orderable Orderable ORDERABLE_FLG

Part # PartNumber Part # PART_NUM

Price Type PriceType Price Type PRICE_TYPE_CD

Product Name Name Name NAME

Product Type ProductType Product Type Code PROD_CD

Page 33: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

About Oracle CRM On Demand Integration to Siebel CRM ■ Other Oracle BusinessProcesses Execution Language Workflows

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

33

Other Oracle Business Processes Execution Language WorkflowsTable 11 lists other Oracle Business Processes Execution Language workflows that are not specific to an object.

Serialized Serialized Serialized SERIALIZED_FLG

Status Status Version Status STATUS_CD

Table 11. Other Oracle Business Processes Execution Language Workflows

Name Description

CRMOnDemandActivationAgent Activates the polling process to Oracle CRM On Demand to get events.

CRMOnDemandGetServerTime Checks that Oracle CRM On Demand is responding.

CRMOnDemandGetSession Gets a Web-services session from Oracle CRM On Demand.

CRMOnDemandIntegrationEventProcessor Reads the integration events from Oracle CRM On Demand and calls the appropriate workflows to process the events.

CRMOnDemandReleaseSession Releases the Oracle CRM On Demand Web Services session.

GetLOVSiebelProvABCSImpl Checks that Siebel CRM is responding.

IndustryMappingSiebelProvABCSImpl Sets the Industry field value in Siebel CRM.

MergeCRMOnDemandRecords Merges records in Oracle CRM On Demand.

MergeWSEndPointCRMOnDemand Makes the Web service calls to the Oracle CRM On Demand

SiebelHostHeartBeatCheckProc Checks Siebel CRM and Oracle CRM On Demand Web services components. If either application is not responding, synchronization is suspended.

SiebelOPTxnFileReader Oracle Business Processes Execution Language workflow that reads the transaction generated in Siebel CRM from the batch queues and calls other the transaction to process the transaction.

Table 10. Data Mapping for Products

Oracle CRM On Demand Siebel CRM

Display Name WSDL Element Name Name Column

Page 34: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

About Oracle CRM On Demand Integration to Siebel CRM ■ Other Oracle Business Processes Execution Language Workflows

34

SiebelOPTxnFileReaderAccountRuntime Reads Siebel CRM transaction log files from the account runtime queues and calls other the transaction to process the transaction.

SiebelOPTxnFileReaderContactRuntime Reads Siebel CRM transaction log files from the contact runtime queues and calls other the transaction to process the transaction.

SiebelOPTxnFileReaderOpptyProdRuntime Reads Siebel CRM transaction log files from the opportunity and product runtime queues and calls other the transaction to process the transaction.

SiebelOPTxnProcessor Oracle Business Processes Execution Language workflow that takes the transaction generated in Siebel CRM and calls other the transaction to process the transaction.

XREFInterface Performs cross-reference operations in the Oracle Fusion Middleware.

Table 11. Other Oracle Business Processes Execution Language Workflows

Name Description

Page 35: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

35

4 Customizing Field Synchronization

This chapter describes how to synchronize additional fields in Oracle CRM On Demand Integration to Siebel CRM. It has the following topics:

■ Process of Adding Fields

■ Conversion Functions from Siebel CRM to Oracle CRM On Demand on page 43

■ Oracle CRM On Demand to Siebel CRM Conversion Functions on page 47

■ Converting Picklists with Domain Value Maps on page 50

NOTE: Customizing the Oracle Business Processes Execution Language workflows is not supported.

Process of Adding FieldsThe standard installation of Oracle CRM On Demand Integration to Siebel CRM supports a subset of the fields available in Oracle CRM On Demand and Siebel CRM. You can expand this list of fields to meet your specific needs. The subset of fields supported is defined in the XML schema (XSD) and XSL transformation files. See Table 12. Each XSL file must be modified when adding a new field mapping. If fields are used which are not present in the existing schema files, then new schema files also must be generated.

Table 12. XML Schema Files

File and Path Description

Paths listed are relative to: …/xmllib/SiebelOP-ODPIP/Object/

ODHOST/XFrmObjectODQuery.xsl Provides fields for Oracle CRM On Demand queries in Oracle Business Processes Execution Language processes.

ODHOST/XFrmObjectODToOP.xsl Transforms Oracle CRM On Demand fields to Siebel CRM fields.

ODHOST/XFrmObjectOPToOD.xsl Transforms Siebel CRM txnlog fields to Oracle CRM On Demand fields.

Object.wsdl Oracle CRM On Demand field definition schema.

OPOD_Object.xsd Siebel CRM TxnLog field definition schema.

OPOD_Object_BS.wsdl Siebel CRM field definition schema.

XFrmObjectOPDataToOPTxnLog.xsl Transforms Oracle CRM On Demand fields to Siebel CRM txnlog fields.

Page 36: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Process of Adding Fields

36

In Table 12 the file names are shown with variables:

■ 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.

Identifying Oracle CRM On Demand FieldsThis task is a step in Process of Adding Fields on page 35.

Use the following procedure to select existing fields to synchronize or to create new custom fields.

To identify Oracle CRM On Demand Fields

1 Log in to Oracle CRM On Demand as a user with Administrator privileges.

2 Click the Admin link.

3 Click the Application Customization link.

4 Click the link corresponding to a record type (example: Account).

5 Click the Field Setup link (example: Account Field Setup).

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”.

XFrmObjectOPTxnLogToOPData Transforms field extensions.

XFrmObjectOPQuery.xsl Provides fields for Siebel CRM queries in Oracle Business Processes Execution Language processes.

Table 12. XML Schema Files

File and Path Description

Page 37: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Process of Adding Fields

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

37

7 Navigate to Admin, Workflow Rule, [Object] Insert and [Object] Update, and then Integration Event.

8 Click Configure.

9 Select the Custom Fields check box.

Generating a New Oracle CRM On Demand WSDLThis task is a step in Process of Adding Fields on page 35.

If you created a new custom field, complete this procedure.

To generate a new Oracle CRM On Demand WSDL

1 Log in to Oracle CRM On Demand as a user with Administrator privileges.

2 Click the Admin link.

3 Click the Web Services Administration link.

4 Click a record type.

5 Click the Download Custom WSDL link.

A window opens displaying the WSDL text.

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 (-).

7 Find the soap:address location attribute value and change it to:

http://secure.crmondemand.com

8 Replace the existing WSDL file on the server with the new one.

9 Clear the Session ID from Oracle Service Oriented Architecture (SOA).

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.

b Navigate to the BPEL Processes tab.

c Click the Clear WSDL Cache link.

Identifying Siebel CRM FieldsThis task is a step in Process of Adding Fields on page 35.

Page 38: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Process of Adding Fields

38

To identify Siebel CRM fields, complete the following procedure.

To identify Siebel CRM fields

1 Log in to Siebel Tools.

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.

4 In Object Explorer click Business Component.

5 Query for the field to be added.

6 Add the new business component field with the appropriate values for:

■ Name

■ Column

■ Join

■ Type

7 Compile the business component to the Siebel Repository File (SRF).

8 Query for an integration object as follows:

■ Set Operator to =>.

■ Search for: Query integration component.

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.)

11 Compile the integration object to the SRF.

Updating the Siebel CRM WSDLThis task is a step in Process of Adding Fields on page 35.

To update the Siebel CRM WSDL, complete the following procedure. WSDL files are in:

$SOA_HOME/bpel/system/xmllib/SiebelOP-ODPIP.

Page 39: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Process of Adding Fields

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

39

To update the Siebel CRM WSDL

1 Open the WSDL file in any WSDL editor.

2 Search for the tag <XML Container Element>.

3 Add the following tag as the last element under the <XML Container Element> of the integration component:

<xsd:elementname="<XML Tag Name>"maxOccurs="1"minOccurs="0"type="<Data Type>"

></xsd:element

Updating the Siebel CRM Transaction Logger XSDThis task is a step in Process of Adding Fields on page 35.

To update the Siebel CRM Transaction Logger XSD, complete the following procedure.

To update the Siebel CRM Transaction Logger XSD

1 Open the XSD file in any XSD editor.

2 Search for the tag, <XML Container Element>.

3 Add the following tag as the last element under the <XML Container Element> of the integration component:

<xsd:elementname="<XML Tag Name>"maxOccurs="1"minOccurs="0"type="<Data Type>"

></xsd:element

To update triggers, complete the following procedure.

To update triggers

1 Log in to Siebel CRM.

2 Navigate to Site Map, Admin – Business Process, and then Policies.

3 Query for the following policies:

■ OPOD Account Extension Update

■ OPOD Contact Extension Update

4 Remove the expiration date for these policies.

5 Stop WorkMon for account, contact, opportunity, and product.

Page 40: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Process of Adding Fields

40

6 Delete the triggers.

7 Generate the triggers.

8 Start the WorkMon for account, contact, opportunity, and product.

Example of Inserting Fields in XSL FilesThis is a step in Process of Adding Fields on page 35.

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.

<xsd:element name="plSync_Status" ... type="xsdLocal1:string30" /><xsd:element name="TaxBracket" ... type="xsd:string" /><xsd:element name="ltComments" ... type="xsdLocal1:string255" /><xsd:element name="stWork_Phone_Extension" ... type="xsdLocal1:string40" /><xsd:element name="AccountFuriganaName" ... type="xsdLocal1:string100" />

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.

Example 1: OPOD_Contact.xsd (OP TxnLog) ExcerptThe following excerpt is an example from the OPOD_Contact.xsd file.

<xsd:element name="WorkPhone" type="xsd:string" ... /><xsd:element name="WorkPhoneExtension" type="xsdLocal:string10" ... /><xsd:element name="ListOfContactExternalHosts"type="xsdLocal:ListOfContactExternalHosts" ... />

Example 2: OPOD_Contact_BS.wsdl (OP) ExcerptThe following excerpt is an example from the OPOD_Contact_BS.wsdl file.

<xsd:element name="WorkPhone" ... type="xsd:string"></xsd:element><xsd:element name="WorkPhoneExtension" ... type="xsd:string"></xsd:element><xsd:element name="ListOfContactExternalHosts" ...type="xsdLocal2:ListOfContactExternalHostsData"></xsd:element>

Page 41: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Process of Adding Fields

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

41

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.

To find field mapping in schema files, complete the following procedure.

To find field mapping in schema files

1 Make backup copies of the existing XSL file.

2 Find the field in the schema file.

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.

4 Insert the new field after that field.

Inserting Field Mappings into XSL Transform FilesThe XSL transform files convert XML data from one schema format to another. Not only must fields be inserted in the proper order, but the field names of the nodes must be converted. The Siebel CRM to Siebel CRM XSL transform file is the easiest to modify because it does not require any field type conversions, and rarely requires the field name to change. Because the output format is transaction logger, then the transaction logger XSD file must be used to determine field order. For example, the following code is an excerpt of XFrmContactOPDataToOPTxnLog.xsl where the WorkPhoneExtension field is added:

<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 -->

Page 42: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Process of Adding Fields

42

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.

Convert Function: Excerpt from the XFrmContactOPToOD.xsl FileThe following excerpt is an example from the XFrmContactOPToOD.xsl file.

<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>

Table 13. Field Type Conversions

Field Type Conversion Summary Conversion Functions

String None, but may require conversion when values near format limits (such as long strings).

TrimStringLength

Integer None, but may require conversion when values near format limits (such as long strings).

None

Date/Time ■ Siebel CRM date format: YYYY-MM-DD

■ Oracle CRM On Demand date format: MM/DD/YYYY

■ ConvertDateTime

■ ConvertDateTimeToDate

■ ConvertDateToDateTime

Boolean ■ Siebel CRM format: true/false

■ Oracle CRM On Demand format: Y/N

ConvertBoolean

Phone # Removes the number sign (#) from the (full name) Phone field characters in the Oracle CRM On Demand phone # field.

ConvertPhoneNumber

Picklist Lookup target host’s Domain Value Map ConvertPicklist

Page 43: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Conversion Functions from Siebel CRM to OracleCRM On Demand

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

43

<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>

Convert Function: Excerpt from the XFrmContactODToOP.xsl FileThe following excerpt is an example from the XFrmContactODToOP.xsl file.

<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>

Conversion Functions from Siebel CRM to Oracle CRM On DemandConversion functions must be used when the field type criteria match the mapping being added. Otherwise the field value synchronization could be rejected. The Siebel CRM field types correspond to values specified in the Siebel CRM WSDL Object Data type. For example, xsd:boolean is used for the SuppressAllEmails field under the ContactData type in the OPOD_Contact_BS.wsdl file. The Oracle CRM On Demand field type corresponds to the type specified in the Oracle CRM On Demand Field Setup Administration screen.

Page 44: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Conversion Functions from Siebel CRM to Oracle CRM On Demand

44

Use the following functions to convert Siebel CRM field values to values accepted by Oracle CRM On Demand:

■ ConvertBoolean Function for Siebel CRM on page 44

■ ConvertDate Function for Siebel CRM on page 44

■ ConvertDateTimeToDate Function for Siebel CRM on page 45

■ ConvertPicklist Function for Siebel CRM on page 45

■ TrimStringLength Function for Siebel CRM on page 46

ConvertBoolean Function for Siebel CRMThis function converts Boolean values for the following:

■ Siebel CRM field type. xsd:boolean

■ Oracle CRM On Demand field type. Check box

Example from the XFrmContactOPToOD.xsl fileThe following excerpt is an example from the XFrmContactOPToOD.xsl file.

<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>

ConvertDate Function for Siebel CRMThis function converts dates only for the following:

■ Siebel CRM field type. xsd:date

■ Oracle CRM On Demand field type. Date

Example from the XFrmOpptyOPToOD.xsl fileThe following excerpt is an example from the XFrmOpptyOPToOD.xsl file.

<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>

Page 45: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Conversion Functions from Siebel CRM to OracleCRM On Demand

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

45

ConvertDateTimeToDate Function for Siebel CRMThis function converts Siebel CRM date and time to Oracle CRM On Demand date for the following:

■ Siebel CRM field type. xsd:dateTime

■ Oracle CRM On Demand field type. Date

Example from the XFrmAccountOPToOD.xsl fileThe following excerpt is an example from the XFrmAccountOPToOD.xsl file.

<od:ReferenceSince><xsl:call-template name="ConvertDateTimeToDate">

<xsl:with-param name="OPValue" select="op:ReferenceDate"/></xsl:call-template>

</od:ReferenceSince>

ConvertPicklist Function for Siebel CRMThis function converts picklists for the following:

■ Siebel CRM field type. [any]

■ Oracle CRM On Demand field type. Picklist

For information on using this function, see Converting Picklists with Domain Value Maps on page 50.

Table 14 lists the ConvertPicklist Function parameters.

Example from the XFrmContactOPToOD.xsl FileThe following excerpt is an example from the XFrmContactOPToOD.xsl file.

<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"/>

Table 14. ConvertPicklist Function parameters

Parameter Required Description

DVMName Yes Name of Domain Value Map

ODHostId Yes Always set to $ODHostId in XSL

OPDefaultValue No Optional default value used when no mapping exists in Domain Value Map

OPValue Yes Siebel CRM field value to convert

Page 46: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Conversion Functions from Siebel CRM to Oracle CRM On Demand

46

</xsl:call-template></od:MaritalStatus>

</xsl:if>

TrimStringLength Function for Siebel CRMUse this function when Siebel CRM allows longer strings than Oracle CRM On Demand can accept. Siebel CRM determines this value using the Text Length field property under the business component fields, defined in Siebel Tools. The Oracle CRM On Demand maximum field length is determined by the Oracle CRM On Demand field type. If the maximum length is shorter in Siebel CRM, then this function must be used with a length parameter that is set to the value of the maximum text length in Siebel CRM.

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.

This function converts the following:

■ 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 16 lists the parameters for the TrimStringLength function.

Table 15. Maximum Text Length for Oracle CRM On Demand Field Types

Oracle CRM On Demand Field Type Maximum Text Length

Text (short) 40

Text (long) 255

Note 16,350

Table 16. TrimStringLength Parameters

Parameter Required Description

Length Yes Length of string accepted in Siebel CRM.

OPValue Yes Siebel CRM field value to trim

Page 47: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Oracle CRM On Demand to Siebel CRM ConversionFunctions

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

47

Oracle CRM On Demand to Siebel CRM Conversion FunctionsUse the following functions to convert Oracle CRM On Demand field values to Siebel CRM field values when the Siebel CRM or Oracle CRM On Demand field type criteria match the data mapping that is added:

■ ConvertBoolean Function for Oracle CRM On Demand on page 47

■ ConvertDate Function for Oracle CRM On Demand on page 47

■ ConvertDateToDateTime Function for Oracle CRM On Demand on page 48

■ ConvertPhoneNumber Function for Oracle CRM On Demand on page 48

■ ConvertPicklist Function for Oracle CRM On Demand on page 49

■ TrimStringLength Function for Oracle CRM On Demand on page 49

ConvertBoolean Function for Oracle CRM On DemandThis function converts the following:

■ Oracle CRM On Demand field type. Check box

■ Siebel CRM field type. xsd:boolean

Example from the XFrmAccountODToOP.xsl fileThe following excerpt is an example from the XFrmAccountODToOP.xsl file.

<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>

ConvertDate Function for Oracle CRM On DemandThis function converts the following:

■ Oracle CRM On Demand field type. Date

■ Siebel CRM field type. xsd:date

Example from the XFrmOpptyODToOP.xsl fileThe following excerpt is an example from the XFrmOpptyODToOP.xsl file.

Page 48: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Oracle CRM On Demand to Siebel CRM Conversion Functions

48

<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>

ConvertDateToDateTime Function for Oracle CRM On DemandThis function converts the following:

■ Oracle CRM On Demand field type. Date

■ Siebel CRM field type. xsd:dateTime

Example from the XFrmAccountODToOP.xsl fileThe following excerpt is an example from the XFrmAccountODToOP.xsl file.

<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>

ConvertPhoneNumber Function for Oracle CRM On DemandThis function converts the following:

■ Oracle CRM On Demand field type. Phone

■ Siebel CRM field type. [any]

Example from the XFrmContactODToOP.xsl fileThe following excerpt is an example from the XFrmContactODToOP.xsl file.

<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>

Page 49: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Oracle CRM On Demand to Siebel CRM ConversionFunctions

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

49

ConvertPicklist Function for Oracle CRM On DemandThis function converts picklists for the following:

■ Oracle CRM On Demand field type. Picklist

■ Siebel CRM field type. [any]

For information on using this function, read Converting Picklists with Domain Value Maps on page 50.

Table 17 lists the parameters used in the ConvertPicklist function.

Example from the XFrmAccountODToOP.xsl fileThe following excerpt is an example from the XFrmAccountODToOP.xsl file.

<xsl:if test="string-length(od:Status) != 0"><op:AccountStatus>

<xsl:call-template name="ConvertPicklist"><xsl:with-param name="DVMName">AccountStatus</xsl:with-param><xsl:with-param name="ODHostId" select="$ODHostId"/><xsl:with-param name="ODValue" select="od:Status"/>

</xsl:call-template></op:AccountStatus>

</xsl:if>

TrimStringLength Function for Oracle CRM On DemandUsed when Oracle CRM On Demand allows longer strings than Siebel CRM can accept. The Oracle CRM On Demand maximum field length is determined by the Oracle CRM On Demand field type. Siebel CRM determines this value using the Text Length field property under BusComp Fields defined in Siebel Tools. If the maximum length is shorter in Siebel CRM, then this function must be used with a Length parameter set to the value of the maximum text length in Siebel CRM.

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.

This function converts the following:

■ Oracle CRM On Demand Field Type. Text (Short), Text (Long), and Note

Table 17. ConvertPicklist Function Parameters

Parameter Required Description

DVMName Yes Name of Domain Value Map

ODDefaultValue No Optional default value used when no mapping exists in Domain Value Map

ODHostId Yes Always set to $ODHostId in XSL.

ODValue Yes Oracle CRM On Demand field value to convert

Page 50: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Converting Picklists with Domain Value Maps

50

■ 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 19 lists the parameters for the TrimStringLength function.

Example from the XFrmContactODToOP.xsl fileThe following excerpt is an example from the XFrmContactODToOP.xsl file.

<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>

Converting Picklists with Domain Value MapsPicklist conversions require extra work, because they require data mapping between specific string values. The following procedure describes how to create an Account shipping Preferred Carrier map between the existing Siebel CRM field of the same name, and a new custom picklist in Oracle CRM On Demand.

Table 18. Maximum Text Length for Oracle CRM On Demand Field Types

Oracle CRM On Demand Field Type Maximum Text Length

Text (short) 40

Text (long) 255

Note 16,350

Table 19. TrimStringLength Parameters

Parameter Required Description

Length Yes Length of string accepted in Siebel CRM.

OPValue Yes Oracle CRM On Demand field value to trim

Page 51: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Converting Picklists with Domain Value Maps

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

51

To create Domain Value Maps

1 Choose picklist mappings between each application. Each value must have a mapping to only one value in the other application.

The following table shows an example of mapping between Oracle CRM On Demand and Siebel CRM.

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:

Example from the AccountPreferredCarrierOPToODHOST1.xml FileThe following example is from the AccountPreferredCarrierOPToODHOST1.xml file.

<?xml version = '1.0' encoding = 'UTF-8'?><dvm name="AccountPreferredCarrierOPToODHOST1" isNew="true">

<description>Shipping preferred carrier mapping from OP to ODHOST1</description><columns>

<column name="Name"/><column name="Value"/>

</columns><rows>

<row><cell>Airborne</cell><cell>Air</cell>

</row><row>

<cell>DHL</cell><cell>DHL</cell>

</row><row>

<cell>Emery</cell><cell>Emery</cell>

</row><row>

<cell>Federal Express</cell><cell>FedEx</cell>

</row>

Oracle CRM On Demand Value Siebel CRM Value

Air Airborne

DHL DHL

Emery Emery

FedEx Federal Express

UPS UPS

USPS US Mail

Page 52: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Converting Picklists with Domain Value Maps

52

<row><cell>UPS</cell><cell>UPS</cell>

</row><row>

<cell>US Mail</cell><cell>USPS</cell>

</row></rows>

</dvm>

Example from the AccountPreferredCarrierODHOST1OP.xml FileThe following example is from the AccountPreferredCarrierODHOST1OP.xml file.

<?xml version = '1.0' encoding = 'UTF-8'?><dvm name="AccountPreferredCarrierODHOST1OP" isNew="true">

<description>Shipping preferred carrier mapping from ODHOST1 to OP</description><columns>

<column name="Name"/><column name="Value"/>

</columns><rows>

<row><cell>Air</cell><cell>Airborne</cell>

</row><row>

<cell>DHL</cell><cell>DHL</cell>

</row><row>

<cell>Emery</cell><cell>Emery</cell>

</row><row>

<cell>FedEx</cell><cell>Federal Express</cell>

</row><row>

<cell>UPS</cell><cell>UPS</cell>

</row><row>

<cell>USPS</cell><cell>US Mail</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:

Page 53: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Customizing Field Synchronization ■ Converting Picklists with Domain Value Maps

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

53

■ Converting from Siebel CRM to Oracle CRM On Demand. DVMNameOPToODHostId.xml

■ Converting from Oracle CRM On Demand to Siebel CRM. DVMNameODHostIdOP.xml

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.

3 Upload Domain Value Maps to Enterprise Services Bus:

a Log in to Oracle SOA ESB Control using the following URL:

http://OracleSOAServer/esb/

b Click the Maps link.

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.

e Click OK to add the Domain Value Map.

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.

Example of XML added to the XFrmAccountODToOP.xsl FileThe following example is from the XFrmAccountODToOP.xsl 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>

Example of XML added to the XFrmAccountOPToOD.xsl FileThe following example is from the XFrmAccountOPToOD.xsl file.

<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"/>

Page 54: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Customizing Field Synchronization ■ Converting Picklists with Domain Value Maps

54

<xsl:with-param name="OPValue" select="op:PreferredCarrier"/></xsl:call-template>

</od:Preferred_Carrier></xsl:if>

Page 55: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

55

5 Troubleshooting Oracle CRM On Demand Integration to Siebel CRM

This chapter describes how to troubleshoot Oracle CRM On Demand Integration to Siebel CRM. It contains the following topics:

■ Synchronization Failure Alerts from Oracle CRM On Demand on page 55

■ 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

■ Troubleshooting Strategies on page 58

Synchronization Failure Alerts from Oracle CRM On DemandSynchronization failure alerts can be configured from within Oracle CRM On Demand to notify administrators of records that have failed to synchronize. An email is sent to a designated email address, identifying the record that has failed to synchronize, including the reason for failure. The alert can be configured to provide a meaningful error message that is specific to your business needs. For more information, see the topic on configuring the Oracle CRM On Demand synchronization failure alerts in Oracle CRM On Demand Integration to Siebel CRM Installation Guide.

Log Files for Oracle CRM On Demand Integration to Siebel CRMOracle Fusion Middleware has the following types of log files:

■ Oracle Process Manager and Notification logs. These files are stored in SOA_HOME/opmn/log.

■ opodlog4j.log. This file is stored in SOA_HOME/j2ee/home/log/.

■ File Adapter Controller log files are stored in SOA_HOME/SiebelODOPPIP/fileAdapterController/ExtDirs/queuename/logs/fileAdapterController*.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

■ Additional log files are stored in:

■ siebelserver_install/siebsrvr/logs/CustomAppObjMgr*.log

■ WorkMonOPOD*.log

■ WfProcMgr*.log

Page 56: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ Error Messages for Oracle CRM On Demand Integration to Siebel CRM

56

Error Messages for Oracle CRM On Demand Integration to Siebel CRMThe following error messages are generated by the Oracle CRM On Demand Integration to Siebel CRM. Where applicable, the error message returned by Oracle CRM On Demand or Siebel CRM is suffixed to the message to help identify the root cause of failure in synchronization.

■ Account having Account id (ODAccountId) doesn’t exist in Oracle CRM On Demand.

■ An error occurred looking up cross reference to Account in Oracle CRM On Demand.

■ An error occurred looking up cross reference to Account in Siebel CRM.

■ An error occurred looking up cross reference to Contact in Oracle CRM On Demand.

■ An error occurred looking up cross reference to Contact in Siebel CRM.

■ An error occurred looking up cross reference to Opportunity in Oracle CRM On Demand.

■ An error occurred looking up cross reference to Opportunity in Siebel CRM.

■ Cannot get OD Opportunity query because the transform file %s is missing.

■ Cannot set %s sync status because this app is not supported.

■ Contact not found at On Demand. Cause of error: If contact is not found in XRef, in case of Child insert.

■ Could not add cross reference to Oracle CRM On Demand.

■ Could not get Account %s on OP Org %s.

■ Could not get Contact %s on OP Org %s.

■ Could not get external host Id for Account (%s) on OP Org (%s).

■ Could not get OD session %s.

■ Could not get Opportunity %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).

■ Could not update record in OD.

■ Empty Payload specified.

■ Error associating Contacts in Oracle CRM On Demand.

■ Error attempting add of OD row Id on host (ODHOSTID) for OP product (OPProductId) to XREF - InsertProductCRMOnDemandProcABCSImpl.

■ Error getting OP External Host.

■ Error getting record details from Oracle CRM On Demand.

■ Error getting record details from Siebel CRM.

Page 57: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ Error Messagesfor Oracle CRM On Demand Integration to Siebel CRM

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

57

■ Error inserting Addresses in Oracle CRM On Demand.

■ Error inserting into Oracle CRM On Demand.

■ Error refreshing Addresses in Oracle CRM On Demand.

■ Error refreshing associated Accounts in Oracle CRM On Demand.

■ Error refreshing associated Contacts in Oracle CRM On Demand.

■ Error refreshing associated Opportunities in Oracle CRM On Demand.

■ Error refreshing Revenues in Oracle CRM On Demand.

■ Error refreshing Oracle CRM On Demand.

■ Error setting OD sync status.

■ Error setting sync status in OP.

■ Error setting sync status to On.

■ Error updating fields in Oracle CRM On Demand.

■ Exception thrown while setting OD sync status.

■ Exception thrown while setting sync status.

■ Flow does not support this operation.

■ Lookup Of Primary Account Row ID Failed. Cause of error: If Primary Account is not found in XRef.

■ No Account Found in On-Premise. Cause of Error: If corresponding Account, which needs to be updated, is not found in XRef.

■ No association performed because record is not synced to Oracle CRM On Demand.

■ No longer exists in Oracle CRM On Demand.

■ No longer exists in Siebel CRM.

■ No Opportunity Found corresponding to Id: Id Value. Cause of error: If Opportunity is not found in XRef, in case of child insert.

■ No Opportunity Found, No Contact Found. Cause of Error: If Opportunity/Contact which is getting associated is not found in XRef.

■ No record Id returned for new record.

■ One or more of the input parameters are empty.

■ OP External Host query did not return a single host.

■ Operation %s is not recognized.

■ Product not found in On Demand Host. Cause of Error: If Product is not found in XRef.

■ Query returned multiple records.

■ Required input part value(s) are empty.

■ Sync status %s not supported.

■ The query for externals hosts with Id (%s) on Account (%s) did not return a unique record.

Page 58: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ Troubleshooting Strategies

58

■ Unexpected exception.

■ Unhandled exception.

■ Unhandled exception while executing OD endpoint.

■ Unhandled internal exception.

Troubleshooting StrategiesWhen 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:

update siebelodsessionpool set session_id = NULL;commit;

Monitor disk space regularly on the SOA server and regularly archive the transaction messages found in:

$SOA_HOME SiebelODOPPIP/fileAdapterController/ExtDirs/queuename/Archived & SiebelODOPPIP/fileAdapterController/IntDirs/queuename/Archived

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.

Table 20 lists troubleshooting information.

Table 20. Troubleshooting Oracle CRM On Demand Integration to Siebel CRM

Symptom Diagnostic Steps

Deployed Oracle Business Processes Execution Language processes are not showing up in the BPEL control.

Make sure that CRMIntegProcessParameters.xml was updated correctly and that EditParam.jar file was run correctly and it correctly replaced the parameters in the Oracle Business Processes Execution Language processes to point to the correct middle-tier server.

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 running correctly.

Make sure that the File Adapter Controller configuration files are modified correctly. The File Adapter Controller log files could have more information:SOA HOME/SiebelODOPPIP/fileAdapterController/ExtDirs/queuename/logs/

fileAdapterController*.log

Page 59: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ TroubleshootingStrategies

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

59

Transaction logs are not being generated in Siebel CRM.

Make sure the values specified for 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 transferred to the SOA server.

If using the file transfer service, make sure the 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

Synchronization fails. Check the uniqueness of the record as there may be similar record existing in either Oracle CRM On Demand or Siebel CRM. Check for any instances that are marked canceled on the BPEL console. Look through the audit for the canceled workflows to determine if there are any environmental problems, such as workflow files do not exist under SOA_HOME/bpel/system/xmllib/SiebelOP-ODOPIP/ObjectType/odhistd. Check the synchronization status/sync comments fields in Oracle CRM On Demand and Siebel CRM in the monitoring views. The errors in the Sync Comments field are set by the ObjectTypeSyncFailure workflows, so the audit for the instances of this workflow can be examined for more information.

Also check that Siebel CRM and Oracle CRM On Demand have the same values for configurable settings such as:

■ Currency Code

■ Language Independent Code on the Country LOV

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 it is suspended and not processing files.

Check that Web Services components on both applications are up.

Table 20. Troubleshooting Oracle CRM On Demand Integration to Siebel CRM

Symptom Diagnostic Steps

Page 60: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ Troubleshooting Strategies

60

Typical Synchronization ScenariosTable 21 lists typical synchronization scenarios and what happens in each of the three components (Oracle CRM On Demand, Oracle Fusion Middleware, and Siebel CRM). To save space in the table, the following abbreviations are used:

■ OD indicates Oracle CRM On Demand

■ SC indicates Siebel CRM

File Adapter Controller is running but not processing files. Files are getting queued in SOA_HOME/SiebelODOPPIP/ExtDirs/queuename.

Make sure there are no old (greater than 30 minutes) TMP files in the corresponding internal application directory from where the Oracle Business Processes Execution Language file adapter reads.

You get the following error message: The selected record has been modified by another user since it was retrieved. Please continue.(SBL-DAT-00523)

If you receive this error while making multiple changes to the record, you must refresh the record and try again. This error occurs because the changes triggered a synchronization to the other application.

Table 20. Troubleshooting Oracle CRM On Demand Integration to Siebel CRM

Symptom Diagnostic Steps

Page 61: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ TroubleshootingStrategies

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

61

■ Sync indicates Synchronization

Table 21. Typical Synchronization Scenarios

Scenario OD Result SC Result

Middleware Assoc. Result

Exception Cases

Suggested Resolution

Set Sync Status to ON from OFF in OD.

Initiate record sync to SC.

Correspond-ing record created in SC.

Association between records created.

Duplicate identified in SC. Sync Status set to FAILED in OD.

Delete OD record and re-sync record from SC. For example, set Sync Status = ON in SC or remove org association for duplicate record in SC. Attempt to sync record from OD again and then merge if appropriate.

Set Sync Status to ON from OFF in SC.

Correspond-ing record created in OD.

Initiate record sync to OD for the appropriate Org association.

Association between records created.

Duplicate identified in OD. Sync Status set to FAILED in SC.

Remove org association for duplicate record in SC. Attempt to sync record from OD again and then merge if appropriate.

Delete OD record and resync record from SC for example, set Sync Status = ON in SC.

Delete a synced record in SC.

Sync Status for the corre-sponding record set to OFF in OD. Record is not deleted in OD.

Record deleted in SC.

Associations between records removed.

Not applicable

Not applicable

Page 62: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ Troubleshooting Strategies

62

Delete a synced record in OD.

Record Deleted in OD.

Sync Status for the corre-sponding record and org associa-tion set to OFF in SC. Record is not deleted in SC.

Associations between records removed.

Not applicable

Not applicable

Set Sync Status to ON from FAILED in OD.

If cross reference does not exist in Oracle Fusion Middleware, initiate record sync to SC.

If cross ref-erence does not exist Or-acle Fusion Middleware, correspond-ing record created in SC.

If cross reference did not previously exist, association between records is created.

If cross reference exists in Oracle Fusion Middleware, but record does not exist in SC for some reason so refresh fails.

Admin needs to set the Sync Status to OFF to clear the cross reference in Oracle Fusion Middleware and then set the Sync Status back to ON to push the record to SC and merge records in SC if appropriate.

If cross reference does exist in Oracle Fusion Middleware, OD record is refreshed from SC.

If cross reference does exist in Oracle Fusion Middleware, SC record refreshes record in OD.

If cross reference did previously exist, no change is made.

Table 21. Typical Synchronization Scenarios

Scenario OD Result SC Result

Middleware Assoc. Result

Exception Cases

Suggested Resolution

Page 63: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ TroubleshootingStrategies

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

63

Set Sync Status to ON from FAILED in SC.

If cross ref-erence does not exist in Oracle Fu-sion Middle-ware, correspond-ing record created in OD.

If cross reference does not exist in Oracle Fusion Middleware, initiate record sync to OD.

If cross reference did not previously exist, association between records is created.

Sending the record to OD could result in duplicate and thereby set the Sync Status to FAILED in SC for the corre-sponding record and org associa-tion.

If a duplicate is identified in OD, either remove the corresponding Org association in SC then set the Sync Status for the record in OD to ON and merge records in SC or delete the record in OD, and set the Sync Status to ON for the record in SC to resync.

If cross reference does exist in Oracle Fusion Middleware, OD record will be refreshed from SC

If cross reference does exist in Oracle Fusion Middleware, will attempt to refresh OD from SC

If cross reference did previously exist, no change is made

Remove Org association for a synced record in SC.

Sync Status set to OFF in OD instance that was dis-associated.

Org association removed for the record in SC; sync to other OD instances not affected.

Association between SC and OD instance for that record is removed.

Not applicable

Not applicable

Set Sync Status to OFF in OD.

Stop sending/receiving updates for that record in OD.

Sync Status set to OFF in SC for the correspond-ing record and org as-sociation.

Association between records removed.

Not applicable

Not applicable

Table 21. Typical Synchronization Scenarios

Scenario OD Result SC Result

Middleware Assoc. Result

Exception Cases

Suggested Resolution

Page 64: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

Troubleshooting Oracle CRM On Demand Integration to Siebel CRM ■ Troubleshooting Strategies

64

Set Sync Status to OFF in SC.

Sync Status set to OFF for record in correspond-ing OD in-stance.

Stop sending/receiving update that record and org association in SC.

Association between records removed.

Not applicable

Not applicable

Set Sync Status from ON to FAILED (saved) and back to ON in OD (refresh from SC scenario).

Record in OD refreshed from SC.

SC record for correspond-ing Org asso-ciation resynced to OD.

Association between records remains unchanged.

Not applicable

Not applicable

Set Sync Status from ON to FAILED (saved) and back to ON in SC (refresh from SC scenario).

Record in OD refreshed from SC.

SC record for correspond-ing Org asso-ciation resynced to OD.

Association between records remains unchanged.

Not applicable

Not applicable

Set Sync Status to FAILED from OFF.

No effect. No effect. No effect. Not applicable

Not applicable

Table 21. Typical Synchronization Scenarios

Scenario OD Result SC Result

Middleware Assoc. Result

Exception Cases

Suggested Resolution

Page 65: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

65

Glossary

accountAn account describes an organizational customer.

BPELOracle Business Processes Execution Language, a standards-based extensible language.

contactA contact describes an individual customer who might or might not be related to an account (Organization customer) or another contact (individual customer).

Cross-Reference tableThis table maintains the mapping of row IDs (ROW_ID) between applications.

File Adapter ControllerComponent that sequences transaction messages for the Oracle Business Processes Execution Language file adapter to consume.

File Transfer ServiceClient and Server components that can be used to transport the Siebel CRM transaction log files to the Oracle Service Oriented Architecture environment. This is an alternative to using a network shared file system to store the transaction logs.

Oracle Business Processes Execution Language (BPEL)See BPEL.

Oracle CRM On DemandOracle's Software-as-a-Service-based CRM application offering.

Oracle Service Oriented Architecture (SOA)See SOA.

organizationA business unit, such as a plant, warehouse, division, department, and so on.

SaaSSoftware as a Service, a model of software deployment whereby a provider licenses an application to customers for use as a service on demand.

Siebel CRMThe enterprise version of Oracle’s Siebel CRM application.

Page 66: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

66

SOAOracle Service Oriented Architecture, which enables different applications to exchange data with one another.

Software as a Service (Saas)See SaaS.

Page 67: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Index

Aaccounts

data mapping 20synchronizing 15transaction logging workflow events 18transform workflows 17workflow policy actions 18workflow processes 19workflows 16

adding fields 35alerts 55assumptions 9

Cconstraints 9contacts

data mapping 25synchronizing 21transaction logging workflow events 23transform workflows 23workflow policy actions 24workflow processes 24workflows 21

conversion functions 43, 47ConvertBoolean 44, 47ConvertDate 44, 47ConvertDateTimeToDate 45ConvertDateToDateTime 48ConvertPhoneNumber 48ConvertPicklist 45, 49create custom fields 36

Ddata mapping

accounts 20contacts 25opportunities 30products 32

domain value maps 50

Eerror messages 56

Ffailure alerts 55File Adapter Controller 10, 13

Llists of values 10

Mmechanism, synchronization 13

Oopportunities

data mapping 30synchronizing 26transform workflows 28workflow policy actions 29workflow processes 29workflows 27

other workflows 33overview Oracle CRM On Demand

Integration to Siebel CRM 9

Ppicklist conversion 50product data synchronization 10products

data mapping 32synchronizing 30transform workflows 31workflow policy actions 32workflow processes 32workflows 31

Rrelease scope 11

Sscope of this release 11SiebelHeartBeatCheckProc 10synchronization failure alerts 55synchronization mechanism 13synchronizing, accounts 15synchronizing, contacts 21synchronizing, opportunities 26synchronizing, products 10, 30

Oracle CRM On Demand Integration to Siebel CRM Administration GuideVersion 1.1

67

Page 68: Oracle CRM On Demand Integration to Siebel CRM Installation Guide 1

Index ■ T

Ttransaction logger XSD 39transaction logging 10transaction logging workflow events

accounts 18contacts 23opportunities 28

triggers 39troubleshooting strategies 58troubleshooting, overview 55

Uupdating transaction logger XSD 39updating triggers 39user interface changes 14

WWhat’s New 7workflow policy actions

accounts 18contacts 24opportunities 29products 32

workflow processesaccounts 19contacts 24opportunities 29products 32

workflowsaccounts 16contacts 21opportunities 27other 33products 31transform account data 17transform contact data 23transform opportunity data 28transform product data 31

WSDL 37

XXML schema 35XREF_DATA table 14XSD transaction log file 39XSL transform files 35, 40, 41

Oracle CRM On Demand Integration to Siebel CRM Administration Guide Version 1.1

68