Professional Documents
Culture Documents
Version 1.1
July 2009
E12742-02
Copyright © 2005, 2009
Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be
trademarks of their respective owners.
This software and related documentation are provided under a license agreement containing restrictions
on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in
your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast,
modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any
means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for
interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-
free. If you find any errors, please report them to us in writing.
If this software or related documentation is delivered to the U.S. Government or anyone licensing it on
behalf of the U.S. Government, the following notice is applicable:
U.S. GOVERNMENT RIGHTS. Programs, software, databases, and related documentation and technical
data delivered to U.S. Government customers are "commercial computer software" or "commercial
technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific
supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall
be subject to the restrictions and license terms set forth in the applicable Government contract, and, to
the extent applicable by the terms of the Government contract, the additional rights set forth in FAR
52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle
Parkway, Redwood City, CA 94065.
This software is developed for general use in a variety of information management applications. It is not
developed or intended for use in any inherently dangerous applications, including applications which may
create a risk of personal injury. If you use this software in dangerous applications, then you shall be
responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe
use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused
by use of this software in dangerous applications.
The Programs may provide links to Web sites and access to content, products, and services from third
parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites.
You bear all risks associated with the use of such content. If you choose to purchase any products or
services from a third party, the relationship is directly between you and the third party. Oracle is not
responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of
the agreement with the third party, including delivery of products or services and warranty obligations
related to purchased products or services. Oracle is not responsible for any loss or damage of any sort
that you may incur from dealing with any third party.
Contents
Index
Table 1. New Product Features in Oracle CRM On Demand Integration to Siebel CRM Installation
Guide, Version 1.1
Topic Description
About Oracle CRM On Demand The integration now supports more platform variations.
Integration to Siebel CRM on page 9
Software Requirements on page 9 The software requirements have been updated for this
release.
Downloading the Required Software The files to download have been revised and organized by
for the Installation on page 13 supported platform.
Extracting the Workflow Patch The files to extract have been revised and organized by
Files on page 16 supported platform.
Creating and Locking Projects on The list of projects to lock has been revised.
page 16
Importing and Deploying Workflow The importing and deploying of workflows has been revised
Processes on page 21 for multiple platforms.
Importing Seed Data on page 24 The importing of seed data has been revised for multiple
platforms.
Specifying the Directory for A new procedure has been added for specifying the directory
Transaction Logging on page 28 for transaction logging.
Installing Oracle Service Oriented The procedure for installing for Oracle Service Oriented
Architecture Suite on page 30 Architecture Suite has been revised.
Creating the XREF_DATA Table on New procedures added to configure for non-English
page 34 languages.
Setting the Environment Variable The instructions for setting the delete trigger environment
for Delete Trigger Functionality on variable have been modified for multiple platforms.
page 52
Additional Changes
The following changes have been applied throughout the book:
■ For improved interoperability with screen-reading software the use of a greater than symbol (>)
in menu navigation has been replaced with a comma.
■ Changed BPEL to Oracle Business Process Execution Language throughout the book.
This chapter describes the environment required for Oracle CRM On Demand Integration to Siebel
CRM. It contains the following topics:
Before you can install Oracle CRM On Demand Integration to Siebel CRM, you must install and
configure:
■ Siebel CRM
■ Siebel Cross-Industry Applications, which are applications that operate across industries, such
as Siebel Call Center, Siebel Sales, or Siebel Marketing
■ Siebel Industry Applications, which are industry-specific applications, such as Siebel Finance,
Siebel Medical, and so on
The installation and configuration of Oracle CRM On Demand Integration to Siebel CRM differs
depending on which form of Siebel CRM you have: Siebel Cross-Industry Applications or Siebel
Industry Applications.
Software Requirements
Oracle CRM On Demand Integration to Siebel CRM requires the following:
■ Oracle Service Oriented Architecture Suite 10g (10.1.3.4 MLR3) for Linux. For current patch
requirements, see the Application Integration Architecture product category available from the
Knowledge Browser page of OracleMetaLink.
■ Languages: ENU
Each instance of Oracle CRM On Demand must be mapped to a unique organization in Siebel CRM.
This mapping enables Siebel CRM to integrate with multiple instances of Oracle CRM On Demand and
ensures that updates to Siebel CRM records are synchronized with the correct Oracle CRM On
Demand instance.
Lists of Values are not synchronized between Oracle CRM On Demand and Siebel CRM. The resolution
takes place using mappings. The mapping consists of two LOV mappings –one in each direction –
and there is one mapping pair for each Oracle CRM On Demand instance.
Product data is synchronized one-way 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.
Hardware Requirements
Oracle CRM On Demand Integration to Siebel CRM requires the same minimum hardware
requirements as the Oracle Service Oriented Architecture Suite 10g (10.1.3.4 MLR3).
For the current information about hardware requirements, see OracleMetaLink at: http://
metalink.oracle.com.
Integration Architecture
Figure 1 illustrates the architecture of Oracle CRM On Demand Integration to Siebel CRM.
1 2 3
2A 3A
1A
2B
3B
1B 2C
3C
2D
Table 2. Legend for Figure 1, Oracle CRM On Demand Integration to Siebel CRM Architecture
■ Integration Events feature used for transaction logging within Oracle CRM
On Demand.
The Oracle CRM On Demand flows transform the data to the target format and
calls the Oracle CRM On Demand Web services.
Table 2. Legend for Figure 1, Oracle CRM On Demand Integration to Siebel CRM Architecture
The file transfer client requests transaction logs from Siebel CRM.
The File Adapter Controller component sequences Siebel CRM transaction logs
for consumption by the BPEL file adapter.
2D Oracle Business Processes Execution Language flows: Siebel CRM to Oracle CRM
On Demand
3 Siebel CRM
The file transfer server sends Siebel CRM transaction logs to Oracle Service
Oriented Architecture.
The Siebel CRM provider flows transform the data to the target format and calls
the Siebel CRM Web services.
This chapter describes how to install and configure the Oracle CRM On Demand Integration to Siebel
CRM. It contains the following topics:
http://metalink.oracle.com
d Install the build files using the instructions contained in their ReadMe files.
Install the build files on both the Siebel Server and Siebel Tools. Apply the binary to the Siebel
Server and apply the ZIP file to Siebel Tools.
3 Download patches.
c In the Search By field, enter 8639361 (base BPEL artefacts) and click Go.
d Click Download.
e Repeat the download steps for patch 7231203 (mandatory roll-up patch), which downloads the
file p7231203_10_Generic.zip.
f Expand the patch zip files.
g Install the patches using the instructions contained in their ReadMe files.
The installation instructions for p8639361_10_Generic.zip are in Deploying the Integration Pack
Files on page 35. The installation instructions for p7231203_10_Generic.zip are in its ReadMe file.
http://metalink.oracle.com
d Install the build files using the instructions contained in their ReadMe files.
3 Download patches.
c In the Search By field, enter 8557562 (base BPEL artifacts) and click Go.
d Click Download.
e Repeat the download steps for patch 8434062 (mandatory roll-up patch), which downloads the
file p8434062_11_Generic.zip.
g Install the patches using the instructions contained in their ReadMe files.
■ Activating Web Services and Generating WSDL for OPOD-Specific Web Services on page 25
■ Activating Web Services and Generating WSDL for Generic Web Services on page 25
■ Configuring the Default Task Parameter for the Workflow Monitor Agent on page 27
The workflow patch files must be extracted before you can use them in the remaining procedures.
Follow the appropriate instructions for your implementation of Siebel CRM.
To extract the patch files for Siebel Cross-Industry Applications, complete the following procedure.
3 Make sure the files are in the $SIEBEL_TOOLS\REPPATCH\ACR389 folder; other folder names
cause the import.bat script to fail.
To extract the patch files for Siebel Industry Applications, complete the following procedure.
Many of the remaining procedures require patches to the Siebel Repository. To make these changes
you use Siebel Tools. While making the changes you must lock the projects associated with the
changes so they cannot be modified by other users.
Original: SymStrPrefix = X_
Revised: SymStrPrefix = SBL_
■ Account
■ Account (SCW)
■ Account (SSE)
■ Admin
■ Contact
■ Contact (SSE)
■ Custom UI
■ Custom UI Samples
■ Division
■ Employee
■ ISS Authoring Admin
■ OPOD Integration
■ Opportunity Management
■ Oppty
■ Oppty (SSE)
■ Product
■ Product (SSE)
■ Symbolic Strings
■ Table Forecast
■ Table Opty
■ Table Organization
■ Table Person
■ Table Product
■ Workflow Policy
You must import the patch SIF files into the repository. Run one of the following batch files:
Siebel-7.8\Tools\REPPATCH\ACR389\REPOSITORY\import.bat
7.8\Tools\REPPATCH\ACR460\REPOSITORY\import.bat
Check all LOG files for error messages. If you get an unsuccessful message, then one or more
projects were not locked. Siebel Tools rolls back all changes. Lock the projects, and repeat this
procedure.
Importing the schema SIF file created the logical schema in the Siebel Repository. To get the physical
schema to the Siebel CRM database you must apply the schema changes.
■ S_CONTACT
■ S_CONTACT_BU
■ S_INTG_DEL_TXN
■ S_OPTY
■ S_OPTY_BU
■ S_ORG_BU
■ S_ORG_EXT
■ S_PROD_INT
■ S_PROD_INT_BU
■ S_REVN
■ S_USER
b Click Apply.
c Click Apply.
Field Value
Database User Password For Oracle databases enter the Tableowner name, for MSSQL
databases enter the database password.
e Click Apply.
3 Verify that the schema changes have been applied successfully by using a query analyzer, and
running the following queries:
3 Query for List Query, and activate the resulting integration object.
4 Query for List Result, and activate the resulting integration object.
The repository changes that were applied in the previous procedures must be compiled to an SRF
file. This SRF file can then be deployed to view the changes at run-time.
5 Click Compile.
9 Complete Step a through Step d for each of the following workflows, in the exact order specified.
b Browse to the location of the appropriate XML file and click Open.
❏ For example, a search for an XML file for Siebel Cross-Industry Applications could be:
Siebel-7.8\Tools\REPPATCH\ACR389\REPOSITORY\WORKFLOWS\OPOD Account-External
Host Update Syn Status.xml
❏ For example, a search for an XML file for Siebel Industry Applications could be:
c In the Select Project prompt choose OPOD Trans Log Interface from the list.
b Browse to the location of the appropriate XML file and click Open.
❏ For example, a search for an XML file for Siebel Cross-Industry Applications could be:
❏ For example, a search for an XML file for Siebel Industry Applications could be:
c In the Select Project prompt, choose OPOD Trans Log Interface from the list.
d Select the workflow and click Deploy.
You have imported and deployed the workflows. These workflows must be activated in Siebel CRM.
NOTE: Do not perform this procedure if you are planning to synchronize product data from Siebel
CRM to Oracle CRM On Demand. Siebel product data requires some configuration, which is explained
in Loading Data for Existing Siebel CRM to a New Oracle CRM On Demand Instance on page 76. The
detailed instructions in that section tell you when to activate the workflow processes.
To activate workflows
1 Log in to Siebel CRM.
2 Navigate to Site Map, Administration – Business Processes, and then Workflow Deployment.
OPOD*
4 Click Activate.
Siebel-7.8\Tools\REPPATCH\ACR389\SEED_DATA\import.bat
7.8\Tools\REPPATCH\ACR460\SEED_DATA\import.bat
■ S_ACTION_ARG
■ S_ACTION_DEFN
■ S_APP_QUERY
■ S_APP_VIEW
■ S_APP_VIEW_RESP
■ S_CT_ACTION
■ S_CT_ACTION_SET
■ S_CT_APLT_RLST
■ S_CT_APPLET
■ S_CT_EVENT
■ S_CT_EVENT_DEF
■ S_CT_RULE
■ S_CT_RULE_SET
■ S_LST_OF_VAL
■ S_WS_OPERATION
■ S_WS_PORT
■ S_WS_PORT_OPER
■ S_WS_PORT_TYPE
■ S_WS_WEBSERVICE
■ S_XL_BC_MAP
■ S_XL_FLD_MAP
To activate Web services and generate WSDL for OPOD-specific Web services, complete the following
steps.
To activate Web services and generate WSDL for OPOD-specific Web services
1 Log in to the Siebel CRM application.
http://localhost/eai_enu/
start.swe?SWEExtSource=CustomUI&SWEExtCmd=Execute&WSSOAP=1
6 Change the value for localhost in the URL in Step 4, to your computer name.
7 Click Generate WSDL to confirm that the Web services can be used.
To activate Web services and generate WSDL for generic Web services, complete the following
procedure.
To activate Web services and generate WSDL for generic Web services
1 Log in to your Siebel CRM application.
http://localhost/eai_enu/
start.swe?SWEExtSource=CustomUI&SWEExtCmd=Execute&WSSOAP=1
6 Change the value for localhost in the URL in Step 4, to your computer name.
7 Click Generate WSDL to confirm that the Web services can be used.
This task is optional. If you are using Siebel Industry Applications and a non-US English (ENU)
language, you need to complete this task.
5 Enter the name SYNC_STATUS in the LOV Type property, and then press ENTER to execute the
query.
6 Check that all the columns using that type have a check mark in the LOV Bounded property.
7 Change the Translation Table Name to S_LST_OF_VAL for all the columns returned by the query.
10 Click Compile.
The Workflow Monitor Agent has a parameter called Default Tasks, which is normally hidden and only
displayed or available to advanced users. To reveal this hidden parameter, use the following steps.
The integration needs multiple copies of the Workflow Monitor Agent customized to the objects and
actions being synchronized.
2 Navigate to Site Map, Administration - Server Configuration, Enterprises, and then Component
Definitions.
3 For each of the rows in the following table, complete Step a through Step c.
c Change the status of the new Workflow Monitor Agent to active by clicking Enable, and set the
alias.
4 Synchronize the components.
5 In the Build/SES/Sieb Server/Bin directory, find the file named diccache.dat, and rename it to
diccache_old.dat.
You must include the directories where the transactions are written for the File Adapter Controller to
pick up the transactions.
The Display Value column has a length of 30 characters, therefore directory names cannot exceed
30 characters. Make the directory names lower-case, very short-names and with forward-slash
(in UNIX) and backward-slash in Windows.
2 Create directory entries for both Windows and UNIX file systems for the list of values named
OPOD_TRANSACTION_LOG_FILE_PATH.
The transaction log uses the File transport mechanism for each transaction monitored. There is a
directory structure implemented using list of values to indicate the location where information is
saved. Workflow processes orchestrate the way that the Siebel CRM application gets the information
monitored by a workflow policy and generates the specific file in an individual directory. Workflow
policy monitors different conditions for each object to invoke the workflow process. The workflow
policy monitors different events triggered by user interaction, EAI processes, Siebel remote, and
Enterprise Integration Manager processes.
The file name convention used is: timestamp and object and function and random number.XML. For
example,
20071128_053207_OpportunitySynOn_42-AGT56.xml
If the process fails the file name is: Error and object and function and timestamp.TXT. for example,
ErrorOpportunitySynOn-20071125-062100.txt
Each object has associate an LOV to indicate the directory where the information is saved. The LOV
type created is OPOD_TRANSACTION_LOG_FILE_PATH. If LOV Type
OPOD_TRANSACTION_LOG_FILE_PATH is not found into the Type MVG then follow these steps to
create it first.
NOTE: The longest path must be less than 30 characters, for example, D:\OPOD Trans
Log\OpptyProd. For this reason you may want to create the file in a root directory.
❏ /usr/tmp/odop/account/
❏ /usr/tmp/odop/contact/
❏ /usr/tmp/odop/opptyprod/
b For Windows, create a folder named \OPOD Trans Log\OpptyProd on the root level of a drive,
then inside this folder, create folders for:
❏ Account
❏ Contact
❏ IDLAccount
❏ IDLContact
❏ OpptyProd
OPOD_TRANSACTION_LOG_FILE_PATH
4 Add rows for the LOV type as follows (assuming you created OPOD Trans Log in D:\):
Language
Row Independent
Number Type Code Language Display Value
The language ID on the display name for Product is different. This workaround allows you to use
the same folder for logging Opportunity and Product messages. These must be in the same queue
due to dependencies.
The only supported version of Oracle Service Oriented Architecture Suite is 10.1.3.4 on the Linux
platform. Complete the following procedure.
http://otn.oracle.com
2 To extract the file, navigate to an empty directory and execute this command:
3 Populate the Oracle Service Oriented Architecture schemas using the SOA/install/soa_schemas/
irca/irca.sh script:
irca orabpel
4 Install the Oracle Service Oriented Architecture Suite software using the instructions contained
in the downloaded files.
NOTE: When the installation is complete, the last page of the installer gives you important URL
and port number information. Take note of these. The information is stored in a file whose
location is also given. Note that filename and you can always retrieve the information shown.
The Oracle Service Oriented Architecture Suite installation overrides your computer’s
ORACLE_HOME environment variable. This can interfere with the TNS Listener of the Oracle
database, so you may need to reset the ORACLE_HOME environment variable.
http://localhost:8888
This task adds connection information for the database you use for Oracle Service Oriented
Architecture. This database stores cross reference information for the applications being integrated
and also has tables that store other configuration parameters. Complete the following procedure.
3 Under All Application Servers, click the Oracle Service Oriented Architecture application server
name.
6 Navigate to Administration Tasks, Services, JDBC Resources, and then click Go to Task.
8 From the Application picklist, choose the appropriate domain (for example, default).
10 Click Continue
11 Enter this name: OracleCRMODDataSource
12 Under URL, click on JDBC URL and enter appropriate host:port:service name for the Oracle
Service Oriented Architecture database. for example,
jdbc:oracle:thin:@example.com:1521:exampleInstance
16 Click Finish.
17 Test the connection by clicking Test Connection for the OracleCRMODDataSource you created.
18 Click Test.
If successful, a confirmation message appears.
To access the connection pool you must create a data source. Complete the following procedure.
4 Click Continue.
9 Click Finish.
To modify syncMaxWaitTime
1 Log in to the BPEL console.
2 Click Configuration.
4 Click Apply.
NOTE: This task requires that you have a functioning and configured Oracle Containers for J2EE
instance.
4 Find the following file, and open it for editing using any text editor:
5 Find all occurrences of the transaction-timeout parameter and change its value to 3600.
5 Under Properties, in the Server Properties row, click the Go to Task icon.
-XX:MaxPermSize=256m
-Dhttp.session.debug=false
-DHTTPClient.disableKeepAlives=true
http://www.oracle.com/technology/software/products/jdev/htdocs/soft10132.html
The XREF_DATA table stores cross-referenced record identifiers from each of the applications that
are a part of the integration. To create the XREF_DATA table, complete the following procedure.
■ Setting Up a File Transfer Service for Siebel CRM Messages to the Oracle Service Oriented
Architecture Server on page 45
The instructions for downloading this file are in Downloading the Required Software for the
Installation on page 13.
SiebelODOPPIP\Scripts\CRMIntegProcessParameters.xml
■ "PARAMVALUE">slot/ems1379/oracle/product/10.1.3.1/OracleAS_1/SiebelODOPPIP/
fileAdapterController/IntDirs/SiebelOPTxnLoggerShare
■ "PARAMVALUE">slot/ems1379/oracle/product/10.1.3.1/OracleAS_1/SiebelODOPPIP/
fileAdapterController/IntDirs/SiebelOPTxnLoggerShareAccountRuntime
■ "PARAMVALUE">slot/ems1379/oracle/product/10.1.3.1/OracleAS_1/SiebelODOPPIP/
fileAdapterController/IntDirs/SiebelOPTxnLoggerShareContactRuntime
■ "PARAMVALUE">slot/ems1379/oracle/product/10.1.3.1/OracleAS_1/SiebelODOPPIP/
fileAdapterController/IntDirs/SiebelOPTxnLoggerShareOpptyProdRuntime
execute
Alternatively, you can use java.exe from the Java Development Kit installed in the Oracle Service
Oriented Architecture environment.
dos2unix additional_hosts.sh
chmod +x additional_hosts.sh
If you have decompressed the archives and are using a Windows environment, you can use
additional_hosts.bat.
15 Execute the additional_hosts.sh file specifying how many Oracle CRM On Demand hosts you are
connecting to, for example, additional_hosts 2.
16 Use an archive utility to create archives of the BPEL and SiebelODOPPIP directories. Also create
a separate archive file for the FileXFerServer folder located under SiebelODOPPIP.
17 Move the BPEL and SiebelODOPPIP archive files to the Oracle Service Oriented Architecture
server installation directory on the computer running the Oracle Service Oriented Architecture
Server, and expand the archive files in that directory.
Date formats may be different in your Oracle CRM On Demand instance and your Siebel CRM
instance. Complete the following procedure to enable the proper conversion.
<function id="FormatDateForSiebelOP">
<classname>oracle.apps.aia.ods.FormatDateForOP</classname>
<comment>
<![CDATA[The character sequence contained in the specified string is replaced
by the reverse of the sequence.. The signature of this function is
<i>siebelxp:FormatDateForSiebelOP(string)</i>.]]>
</comment>
<property id="namespace-uri">
<value>http://www.oracle.com/XSL/Transform/java/
oracle.apps.aia.ods.FormatDateForOP</value>
<comment>Namespace URI for this function</comment>
</property>
<property id="namespace-prefix">
<value>siebelxp</value>
%SOAHOME%/SiebelODOPPIP/scripts/
xref.sh
3 Set the user ID and password for logging in to BPEL console on the appropriate lines.
dos2unix *.sh
chmod +x *sh
../../../SiebelODOPPIP/scripts/xref.sh
Corresponding to each organization you created, create a employee record with administrator
responsibility. Make sure the Integration User Flag is selected for the Employee. This can be done on
the Administration - User screen. The corresponding external host organization you created must be
set as the primary organization of the employee. In addition, the primary position assigned to the
employee must belong to the external host organization. To test the setup, login as the integration
user and create an account record. The default organization associated with the account record must
correspond to the external host organization you created.
Note the row ID of External Host by clicking Help, then About Record in the Siebel CRM user interface.
Complete the following procedure to deploy Oracle Business Processes Execution Language
processes.
%SOAHOME%/bpel/SiebelODOPBusinessProcesses
%SOAHOME%/bpel/bin/devprompt.sh
ant –-noconfig
The domain value maps shipped in this integration are generic and must be reviewed and modified
to match your environment. The best practice is to have a 1:1 map for the list of values, that is, for
each entry in the map there must be one matching value.
The workflow returns the RowID from Oracle CRM On Demand. Note this RowID and the name
of the industry.
c In Siebel CRM navigate to Site Map, Administration - Data, and then Industries.
d For each industry, select a record and choose Help, About Record (shortcut: Control-Alt-k).
e Note the value of the Row # field and the name of the industry.
2 Open the XML files that map industry names and Row Ids.
For Siebel Cross-Industry Applications these XML files are located in the SiebelODOPPIP\DVM
directory. For Siebel Industry Applications these XML files are located in the
SiebelODOPPIP\DVM\VerticalDVM directory. The XML files follow this naming convention:
AccountIndustry[ODHOSTId]OP.xml
The XML file has a mapping of industry names, so that you can view the mappings. You need
to add the mappings for the rowids.
b For each industry, add a line in the XML file using this format:
For example, if the Oracle CRM On Demand industry name is Automotive and the Siebel CRM
industry name is Automotive Services, and the rowid for Automotive in Oracle CRM On
Demand is 1QAA-1WEE and rowid for Siebel CRM is 12-EEWR, the entry looks like:
<row><cell>1QAA-1WEE</cell><cell>12-EEWR</cell>.
AccountIndustryOPTo[ODHOSTId].xml
d For each mapped source, create a line in the XML file using this format:
For example, if the Oracle CRM On Demand industry name is Automotive and the Siebel CRM
industry name is Automotive Services, and rowid for Automotive in Oracle CRM On Demand
is 1QAA-1WEE and rowid for Siebel CRM is 12-EEWR, the entry looks like:
<row><cell>12-EEWR</cell><cell>1QAA-1WEE</cell>.
a Find the domain value mapping files for OpportunitySource in SiebelODOPPIP/DVM. There is a
set for OPToODHost and one for ODHostTo OP.
b In Siebel CRM, navigate to Site Map, Opportunities, and then Lead Source Administration.
c For each opportunity source, select a record and choose Help, About Record (shortcut: Control-
Alt-K).
d Note the value of the Row # field and the name of the opportunity source.
<row><cell>Direct Mail</cell><cell>02-9876</cell>
For example, for Source Direct Mail in Oracle CRM On Demand Host1, if the Siebel CRM ID is
02-9876 for the value mapped to Direct Mail, then the row added to
OpportunitySourceODHOST1OP.xml is:
<row><cell>02-9876</cell><cell>Direct Mail</cell>
http(s)://[SOA HOST]:[PORT]/
f Individually import each of files in SiebelODOPPIP/DVM (including those you created or edited in
the previous steps) by choosing Create, Import New Map and selecting the file.
b Pass the value of the Sales Stage and the ID of the host (for example, ODHOST1) to the
workflow.
The first column is the Oracle CRM On Demand Sales Stage value and the second column is the
Siebel CRM Sales Stage value.
Example: in Oracle CRM On Demand the row Id for Qualified Lead is 1111. The existing entry in
the XML file is:
<row><cell>1111</cell><cell>Data Entry</cell>
The first column is the Siebel CRM Sales Stage Value, and the second column is the Oracle CRM
On Demand Sales Stage Value.
Example:
<row><cell>Data Entry</cell><cell>1111</cell>
The File Adapter controller is a sequencer component shipped as part of the integration. The Siebel
CRM messages are sequenced by the File Adaptor Controller for consumption by the BPEL file
adapter. During run-time there are three queues:
■ Account messages
■ Contact messages
A single message is processed at a time from each of these queues to preserve the order in which
the updates were generated. The order is important because the same record could be updated
multiple times. The queues for processing run-time messages are located in:
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/Account
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/Contact
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/OpptyProd
The number of files processed at a time is determined by the parameter num_files_process in the
File Adapter Controller configuration file.
In addition to the run-time queues, separate queues exist for processing product CSV files for batch
load for product; one queue for each host ID (ODHOST):
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/BatchLoadProduct_ODHOST1
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/BatchLoadProduct_ODHOST2
Two queues are defined for processing batch inserts for accounts and contacts:
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/BatchLoadAccount
■ %SOAHOME%/SiebelODOPPIP/fileAdapterController/ExtDirs/BatchLoadContact
2 Modify startcontrollers.sh and starbatchcontrollers.sh for more Oracle CRM On Demand hosts.
■ fileadaptercontrollerbatch_account.conf
■ fileadaptercontrollerbatch_contact.conf
■ fileadaptercontrollerbatch_product_odhost*.conf
■ fileadaptercontrollerruntime_account.conf
■ fileadaptercontrollerruntime_contact.conf
■ fileadaptercontrollerruntime_opptyprod.conf
b Substitute <SOA_HOME> with your Oracle Service Oriented Architecture Install directory.
java.naming.security.principal=oc4jadmin
d Substitute oc4jadmin with the user name for logging in to the BPEL console.
h Substitute 6093 with the number specified for request port (in the example it is 6082).
a Set Org_id to ROW_ID of external host company created in Siebel CRM corresponding to the
Oracle CRM On Demand instance you want to load to (ID of the mapped Siebel CRM Org to the
Oracle CRM On Demand company).
b Substitute the host ID (ODHOST<ID>) with the ID for the Oracle CRM On Demand host, for
example, ODHOST1, ODHOST2, and so on.
Use a different CONF file for each Oracle CRM On Demand instance.
The polling_internal parameter specifies (in milliseconds) how often the controller polls for a new
message. The default value can be changed based on the rate of change in the environment.
The File Adapter Controller logs messages to a set of log files. There are three configuration
parameters for the configuration file, retain the default values for the other parameters:
■ fac_log_path. The fac_log_path - config variable tells FAC where to create the log files. Set to
$SOA_HOME/SiebelODOPPIP/fileAdapterController/ExtDirs/<queuename>/logs directory.
■ fac_log_max_size. The maximum size for a log is 2147483647 bytes. Set this value to be
greater than 1 byte and less than or equal to 2147483647 bytes.
■ fac_log_num_files. This config variable tells FAC to use up to five log files. When all five files
are full, FAC picks the first file in the cycle (oldest) and overwrites the log messages in it. The
maximum number of log files is 9, suggested is 5.
The most recent logs are written to the file fileAdapterController_0.log and the rest are used to
recycle the older logs in a FIFO fashion. The log file name pattern is fileAdapterController_N.log,
which is created under fac_log_path where N is 0,1,2,3,4 and so on.
./startcontrollers.sh
3 When prompted for a password enter the password used for logging in to the BPEL console.
5 Check the logs to make sure the controller got started correctly without errors.
A file transfer service to send the Siebel CRM transaction log messages to the Oracle Service Oriented
Architecture server has been provided as part of this integration. The Siebel CRM messages are
queued in the folders created as part of the Siebel CRM transaction log setup. The file transfer service
is configured to remove messages from the queue and transfer them in sequence to the Oracle
Service Oriented Architecture environment.
You created this archive in Deploying the Integration Pack Files on page 35.
run_server_nonssl_orig.bat run_server_nonssl.bat
run_server_ssl_orig.bat run_server_ssl.bat
xfer_serv_orig.conf xfer_serv.conf
5 Find the tcp_xfer_srv_port parameter, which is the TCP port number the server listens on, and
set it to the proper setting for your environment.
6 Set the directories specified for each of the following message types to locations where the
transaction logs are created by Siebel CRM.
NOTE: Make sure the patch set parameters correspond to where the transaction logs are being
generated. For more information, see Setting Up Lists of Values for Transaction Logging on
page 29.
■ siebel_account_msg_dir=/usr/tmp/odop/account/
■ siebel_contact_msg_dir=/usr/tmp/odop/contact/
■ siebel_opptyprod_msg_dir=/usr/tmp/odop/opptyprod/
■ siebel_contactbatch_msg_dir=/usr/tmp/odop/idlaccount
■ siebel_accountbatch_msg_dir=usr/tmp/odop/idlcontact
a Specify where the logs are located, maximum number of log files to be created and the maximum
size of the logs. The server recycles through the set of logs when the maximum number of files
are created.
❏ xfer_log_path=/export/home/(Instance)/FileXFerServer/logs
❏ xfer_log_max_size=2147483646
■ xfer_num_log_files=5
xfer_ssl_mode=true
If you plan to use Secure Sockets Layer, then you must configure Secure Sockets Layer for File
Transfer Service.
NOTE: Perform the client steps on the Oracle Service Oriented Architecture computer and server
steps on the Windows server where the transaction logs reside.
Example:
Example:
3 Extract the client key and the generate client.public keystore file.
Example:
4 Insert the client's private key into its own keystore file.
Example:
5 Extract the server key and generate the server.public keystore file.
Example:
Example:
7 Copy the following files to where you have extracted FileXFerServer in the Siebel server
environment:
■ client.public
■ server.private
8 Copy the following files to the Oracle Service Oriented Architecture computer %SOAHOME%/
SiebelODOPPIP/FileXFerClient:
■ server.public
■ client.private
3 Modify the following configuration files using instructions in Step a through Step h:
■ xfer_client_accountbatch.conf
■ xfer_client_account.conf
■ xfer_client_contactbatch.conf
■ xfer_client_contact.conf
■ xfer_client_opptyprod.conf
■ xfer_client_opptyprod_orig.conf
a Set the siebel_txnlog_xfer_host parameter to the fully qualified name of the server computer
the transaction log files are transferred from.
b Set the siebel_txnlog_xfer_port to the port specified in the server configuration file.
c Set the fac_external_app_dir parameter to where the files must be transferred to and logs must
be stored.
d Set the PIP/fileAdapterController/ExtDirs/Account parameter.
4 If you use Secure Sockets Layer, then set xfer_ssl_mode to true, otherwise set it to false.
b If you are not using Secure Sockets Layer mode, modify run_server_nonssl.sh.
3 Set CLASSPATH to the location where FileXFerServer was extracted, for example, /export/home/
Instance/FileXFerServer.
4 Replace /export/home/Instance/FileXFerServer with the location of your xfer_serv.conf file.
5 Java version 1.5 or later is needed. Change path to java.exe as appropriate to use java 1.5 (The
Java Development Kit from the Oracle JDeveloper installation can be used).
6 If using Secure Sockets Layer, replace passwd with the password to be used.
a ksh
c If you are using Secure Sockets Layer: nohup run_server_ssl.sh > out 2>&1 &
d If you are not using Secure Sockets Layer: nohup run_server_nonssl.sh > out 2>&1 &
8 If you are using Windows, then on the Siebel Server Siebel CRM instance, use Windows Scheduler
to schedule the File transfer service on server startup:
c Browse for the run_server_ssl.bat or run_server_nonssl.bat, depending on which mode you are
configuring.
d Select to perform the task when the computer starts.
h In the Power Management section check Wake up computer to run this task.
i Apply changes.
9 Check the log file to make sure the server started running.
b Execute run_ssl.sh
2 If you are not using Secure Sockets Layer, run this command:
run_nonssl.sh
3 Check the log files for all message types to make sure client can connect to server and there are
no errors.
4 Check the file transfer server log file to make sure it started correctly.
stop_xfer_client.sh
If the Oracle Service Oriented Architecture server fails, the client continues to attempt to connect.
When the Oracle Service Oriented Architecture server resumes the client can successfully connect.
The previous steps configured a single Oracle CRM On Demand instance with Siebel CRM. The process
for configuring additional Oracle CRM On Demand instances is similar. The following items are a
summary of the steps and the order in which they must be executed.
1 Create a new Oracle CRM On Demand company (make sure Web Services, Integration Events and
WorkFlow are enabled).
3 Run through setup for Sync Status, Sync Comments Fields, Layouts, Integration Events,
Workflow setup, and so on.
4 Create a new organization in Siebel CRM representing the new company and the corresponding
integration user.
10 Run %SOAHOME%/SiebelODOPPIP/scripts/xref_add.sh.
Usage is: xref_add.sh N
Where: N is the number of the host you want to add.
11 Run additional_hosts.bat specifying how many Oracle CRM On Demand hosts you have (if you
are using Linux, then run additional_hosts.sh).
12 If you add rows or change any database tables, then restart the Oracle Service Oriented
Architecture server.
After major configuration changes in Oracle CRM On Demand, the session pool in Oracle Service
Oriented Architecture must be cleared. For example, if a field is made Read Only in Oracle CRM On
Demand using the Application customization views, you can prevent updates occurring to that field
in Oracle CRM On Demand by clearing the middle tier session pool cache.
To enable auto-trigger creation of delete triggers to trace Parent and Child Row Id, you must set an
environment variable. Table 4 lists the environment variable for the UNIX and Windows operating
systems.
export ONDEMAND_MERGE_ENABLED
Generating Triggers
This task is a step in Process of Configuring Siebel CRM on page 51.
To generate triggers
1 In Siebel CRM, navigate to Site Map, Administration - Server Management, and then Jobs.
■ EXEC. TRUE
An integration user account must be defined within Oracle CRM On Demand to facilitate the
integration between Oracle CRM On Demand and Siebel CRM. This user account name appears in the
Modified By and Created By fields (when applicable) on records that have been synchronized from
Siebel CRM and is responsible for any creates and updates that are initiated by Oracle Business
Processes Execution Language within Oracle CRM On Demand.
2 Navigate to Admin, User Management & Access Controls, User Management, and then New User.
If these privileges are not available to you in the Admin user interface, contact Oracle CRM On
Demand Customer Care to make sure these privileges are enabled for the integration user.
Make sure the Sales Users (typically with the FSR Role) do not have the Merge Records, privilege
enabled.
NOTE: Account and Contact Merges initiated within Oracle CRM On Demand are not supported by
the Oracle CRM On Demand Integration to Siebel CRM. Account and Contact merges initiated from
Siebel CRM are supported.
A picklist defined within Oracle CRM On Demand dictates whether records are to be synchronized to
Siebel CRM or whether the synchronization of the record has failed. A synchronization flag (picklist)
and a corresponding long text field, which provides details for a failed synchronization must be
defined on the account, contact, opportunity, and product objects. These fields must only be
available to administrators and must not be made available to CRM end-users.
■ Account
■ Contact
■ Opportunity
■ Product
a Navigate to Admin, Application Customization, Record Type Setup: [Object], Field Management:
[Object] Field Setup, and then New Field.
b Set the following fields:
c Navigate to Admin, Application Customization, Record Type Setup: [Object], Field Management:
[Object] Field Setup, and then Sync Status: Edit Picklist
d Set the following fields:
1 Sync ON Sync ON
NOTE: The picklist values must be set in English first and the picklist saved, then edited to
non-English values.
f If you are using a non-English language, you can edit the picklist values you created in Step d
for your target language.
g Navigate to Admin, Application Customization, Record Type Setup: [Object], Field Management:
[Object] Field Setup, and then New Field.
i Navigate to Admin, Application Customization, Record Type Setup: [Object], Field Management:
[Object] Field Setup, Rename Fields, and then Advanced.
To make the Sync Status and Sync comments fields available to the administrator they must be
added to the page layout.
■ Account
■ Contact
■ Opportunity
■ Product
❏ Sync Status
❏ Sync Comments
Administrators require a simple way to review records that have failed to synchronize and take the
appropriate corrective action. The List feature for account, contact, and opportunities provides a
means for an administrator to generate a list of records for which synchronization has failed.
■ Account
■ Contact
■ Opportunity
Replace Object with the name of an object, for example, Contact Homepage.
❏ Condition. Equal to
❏ Sync Status
❏ Sync Comments
d Click Save.
Alerts may be configured within Oracle CRM On Demand, such that when a record has failed to
synchronize, a designated user receives a failure alert by email that can indicate the record that has
failed to synchronize and the reason for failure.
■ Active. Checked
3 In the Action Pane, choose Menu, then Create Email Notification, and then add the following
action:
■ Active. Checked
■ Email Message (To*, Subject*, Message Body*). Specify message details to be sent to
your administrator in the event of a synchronization failure.
■ Active. Checked
5 In the Action Pane, choose Menu, Create Email Notification and add the following action:
■ Active. Checked
■ Email Message (To*, Subject*, Message Body*). Specify message details to be sent to
your administrator in the event of a synchronization failure.
■ Active. Checked
7 In the Action Pane, choose Menu, Create Email Notification and add the following action:
■ Action Name. Contact Sync Failure Alert
■ Active. Checked
■ Email Message (To*, Subject*, Message Body*). Specify message details to be sent to
your administrator in the event of a synchronization failure.
The Reason Won/Lost picklist needs a placeholder (a single dash is sufficient). This placeholder is
temporary. Complete the following procedure to add this placeholder value.
2 Navigate to Admin, Application Customization, Record Type Setup, and then Opportunity.
5 Add a value named “-” to the existing picklist and save it.
This procedure sets up a cascading picklist for the Reason Won/Lost picklist and requires the
placeholder value set up earlier.
3 Click New.
4 Choose Status from the menu under the Parent Picklist section.
5 Choose Reason Won/Lost from the menu under the Related Picklist section.
6 Under the Parent Picklist Available values select Pending and move the “-” value from Related
Picklist available values section to the Displayed values section.
7 Select the Parent Picklist value as Lost, and move the following Available values to the Displayed
Value section:
■ Price
■ Relationship
■ Track Record
■ No Budget
■ Lost To Competition
■ Lost To No Decision
■ Other
8 Select Parent Picklist value as Won, and move the following Available values to the Displayed
Value section:
■ Installed Base
■ Price
■ Relationship
■ Track Record
■ Other
9 Make sure the final confirmation step displays a table that resembles the following table and save
it.
Pending None
This task is necessary only for users of Oracle CRM On Demand Release 16. Do not perform this task
if you have an earlier version.
Integration events from within Oracle CRM On Demand can be configured to log messages based on
either the user's time zone or the generic Coordinated Universal Time (UTC). Integration Event
messages can also be logged in either the user's language or using language independent values.
The integration between Oracle CRM On Demand and Siebel CRM assumes that the messages are
logged in UTC, using language independent values.
The following workflows and their corresponding integration events are required to enable the
synchronization of account, contact, opportunity, opportunity-revenue and account-contact
associations between Oracle CRM On Demand and Siebel CRM.
When configuring a workflow you need to configure a corresponding integration event and make sure
that the Active Flag is selected; that is, set to On for the Workflow itself. You may also need to
configure a workflow rule condition depending on the workflow record type and associated trigger
event.
Depending on the Record Type and Trigger Event you are prompted with a list of column names
(for insert and update workflows) to configure on the integration event.
2 Create each of the workflows and integration events using the following information:
■ Active flag. ON
If the following features are not accessible or not set correctly in Oracle CRM On Demand, contact
Oracle CRM On Demand Customer Care.
■ Admin, Data Management Tools, Integration Event Administration, Integration Event Settings,
Queue Size = 500,000
NOTE: The Lookup values within the Workflow Condition Rules in Table 5 are provided as an
example. The actual values could vary based on the actual implementation within your deployment.
Use the Show Acceptable Values tool when configuring the Workflow Condition Rules using the
Workflow Expression Builder.
Configure Opportunity-Contact-Insert
Integration Event:
Configure Opportunity-SyncOFF
Integration Event:
Configure Opportunity-Update
Integration Event:
3 Click Instances.
■ CRMOnDemandIntegrationEventProcessor
■ CRMOnDemandGetSession
■ CRMOnDemandReleaseSession
■ SiebelHostHeartBeatCheckProc
Refer to the following topics to understand how to select records for synchronization in Oracle
CRM On Demand and Siebel CRM:
❏ Enabling Synchronization Status for Account, Contact, and Opportunity Data in Oracle CRM
On Demand on page 83
❏ Enabling Synchronization Status for Account, Contact, and Opportunity Data in Siebel
CRM on page 84
5 Create an opportunity in Oracle CRM On Demand, set the synchronization status to Sync On, and
check Siebel CRM (In All across Organizations view) to make sure it appears.
6 Create an account in Oracle CRM On Demand, set synchronization status to Sync On, and then
check Siebel CRM (In All across Accounts view) to make sure it appears.
7 Create a contact in Oracle CRM On Demand, set synchronization status to Sync On, and then
check Siebel CRM (In All across Contacts view) to make sure it appears.
8 Make sure the record is marked as created by the integration user in Siebel CRM.
9 Make sure the Oracle CRM On Demand organization is associated with that opportunity and
synchronization status is set to SYNC_ON.
10 Check that the Oracle Business Processes Execution Language flows are being invoked. for
example,
11 If flows are being invoked, check the audit for the flows for errors.
Search for instances of AccountSyncFailure, ContactSyncFailure, and OpportunitySyncFailure.
These flows are called in case of errors during synchronization. The error workflow also sets the
Sync Comments field with the error encountered in Oracle CRM On Demand (and Siebel CRM as
well for failures in updates) for the record.
12 If no events are being processed and the records do not synchronize then check the status in the
SIEBELODHOSTSTATUS table to see if the status is Error.
13 If status is error, it implies that the Web service connections to the Oracle CRM On Demand
instance is not successful. Check the configuration in the SIEBELODHOST table for the URL, user
ID, and password for Oracle CRM On Demand.
14 Create an opportunity in Siebel CRM and associate it to an Oracle CRM On Demand organization.
15 Create an account in Siebel CRM and associate it to an Oracle CRM On Demand organization.
16 Create a contact in Siebel CRM and associate it to an Oracle CRM On Demand organization.
17 Create a product in Siebel CRM and associate it to an Oracle CRM On Demand organization.
18 Check Oracle CRM On Demand to see that the opportunity is synchronized and marked sync on.
19 Check in Oracle CRM On Demand to see that the account is synchronized and marked sync on.
20 Check in Oracle CRM On Demand to see that the contact is synchronized and marked sync on.
21 Check the File Adapter Controller log files to make sure the messages are being processed.
If the File Adapter Controller state is suspended, it means the Web service access to either
application is failing. Check the SIEBELODHOSTSTATUS table to check if the status is marked as
Error. If it is, it implies that there are errors with Web service calls to Oracle CRM On Demand.
If the status in SIEBELOPHOSTSTATUS is marked as Error, it implies that there are errors with
Web service calls to Siebel CRM. Check the configuration in the SIEBELODHOST table for the URL,
user ID, and password for Oracle CRM On Demand and Siebel CRM.
22 Check for temporary (TMP) files older than 30 minutes in the file adapter controller internal
application directories.
The temporary (TMP) files are a semaphore mechanism to ensure that the BPEL file adapter is
only processing the configured number of messages at any point in time (num_files_process in
the File Adapter Controller configuration). The tmp file is created by the SiebelOPTxnProcessor
workflow and deleted when the workflow completes execution. In case the Oracle Service
Oriented Architecture server was rebooted in the middle of a transaction being processed, the
tmp files are not cleared. Check the last n (corresponding to number of temporary files)
messages in the Archived folder of the Internal application directory and copy them into the
Internal application directory for reprocessing. If the messages are processed successfully, the
older tmp files may be deleted.
23 Check log files for the File Transfer Service (server and client) and the Siebel CRM transaction
log directories to make sure files are being transferred to the Oracle Service Oriented
Architecture server.
After verifying the configuration, if the synchronization is still not happening from Siebel CRM to
Oracle CRM On Demand, then open the transaction log XML file, from Siebel CRM, in Notepad or
Wordpad and check whether a newline character is present before each right-angle bracket (>)
(end of the node). If the newline is not found then complete the following procedure:
OPOD*
c Select the step with the name, EAI XML Write to File.
❏ Type. Literal
❏ Value. true
7 Query for:
OPOD*
■ InsertAccountCRMOnDemandProvABCSImpl
■ InsertOpportunityCRMOnDemandProvABCSImpl
2 If the Oracle Business Processes Execution Language flows are being invoked, check the audit
for the flows for errors.
This chapter describes how to perform a data load for Oracle CRM On Demand Integration to Siebel
CRM. It contains the following topics:
■ Loading Data for Existing Siebel CRM to a New Oracle CRM On Demand Instance on page 76
Before you can conduct real-time synchronization with Oracle CRM On Demand Integration to Siebel
CRM, you must first make sure that your Siebel CRM and Oracle CRM On Demand instances have the
same product data. You can synchronize many instances of Oracle CRM On Demand to a single
instance of Siebel CRM. In your specific environment you may have existing instances of Oracle CRM
On Demand to synchronize with an existing instance of Siebel CRM. The following scenarios are
supported:
■ Synchronizing an existing Siebel CRM instance with a new Oracle CRM On Demand instance.
■ Synchronizing an existing Siebel CRM with an existing Oracle CRM On Demand instance that does
not have any product history.
■ Synchronizing an existing Siebel CRM with an existing Oracle CRM On Demand instance that has
product history.
The procedures outlined here may be orchestrated in batches and data loads must be scheduled
based on the priority and volume of data you choose to load and the anticipated window of time you
require to complete the load.
Data Loads must be scheduled and prioritized after carefully analyzing the account, contact,
opportunity and product data you wish to have integrated across Oracle CRM On Demand and Siebel
CRM.
Data loads must be organized in batches, prioritized and sequenced in the order the data is expected
to be consumed by your sales users. For example, if enabling a specific territory or region, initiate
the load of accounts, contacts, opportunities and products specific to these areas in priority
sequence.
To initially synchronize data between Siebel CRM and a new Oracle CRM On Demand
instance
1 Test product synchronization:
c Select a product.
d Click Release.
i Login to Oracle CRM On Demand as an administrator user for the selected organization.
When you can synchronize one product, then you can proceed.
2 In Siebel CRM, associate product records that are to be synchronized to the appropriate Oracle
CRM On Demand-related organizations.
For more information, see Associating Product Records with Organizations on page 80.
3 Using Enterprise Integration Manager, extract product data to Enterprise Integration Manager
tables.
For more information, see Extracting Product Data to Enterprise Integration Manager Tables on
page 80.
For more information, see Creating CSV Files Using Enterprise Integration Manager on page 82.
Use this procedure Importing Product Data into an Oracle CRM On Demand Instance on page 83.
6 Enable synchronization status for account, then contact, and then opportunity data in this
sequence (in prioritized batches) within Siebel CRM to be synchronized to Oracle CRM On
Demand.
Use this procedure Enabling Synchronization Status for Account, Contact, and Opportunity Data in
Siebel CRM on page 84.
Make sure to read About the Loading Data Strategy on page 75.
■ You do not need to synchronize product-related history (opportunities) from your Oracle CRM On
Demand instances to Siebel CRM.
To initially synchronize data between Siebel CRM and Oracle CRM On Demand
1 In Siebel CRM, associate product records that are to be synchronized to the appropriate Oracle
CRM On Demand-related organizations.
For more information, see Associating Product Records with Organizations on page 80.
2 Using Enterprise Integration Manager, extract product data to Enterprise Integration Manager
tables.
For more information, see Extracting Product Data to Enterprise Integration Manager Tables on
page 80.
For more information, see Creating CSV Files Using Enterprise Integration Manager on page 82.
Use this procedure Importing Product Data into an Oracle CRM On Demand Instance on page 83.
5 Enable synchronization status for account and then contact data in this sequence within Oracle
CRM On Demand to be synchronized to Siebel CRM.
Use this procedure Enabling Synchronization Status for Account, Contact, and Opportunity Data in
Oracle CRM On Demand on page 83.
6 Initiate a merge of the resulting duplicate account and contact records in Siebel CRM (For more
information on merging records, see Siebel Data Quality Administration Guide on the Siebel
Bookshelf).
NOTE: The Siebel Bookshelf is available on Oracle Technology Network (OTN) and Oracle E-
Delivery. It might also be installed locally on your intranet or on a network location.
Upon merging duplicate account and contact records in Siebel CRM the corresponding merge
occurs for duplicate records in Oracle CRM On Demand.
7 Enable synchronization status for account and then contact data in this sequence (in prioritized
batches) within Siebel CRM to be synchronized to Oracle CRM On Demand using this procedure
Enabling Synchronization Status for Account, Contact, and Opportunity Data in Siebel CRM on
page 84.
Make sure to read About the Loading Data Strategy on page 75.
■ You need to synchronize product-related history (opportunities and so on) from your Oracle CRM
On Demand instances with Siebel CRM.
To initially synchronize data between Siebel CRM and Oracle CRM On Demand
1 Export product data from Oracle CRM On Demand.
For more information see the topic about exporting records in lists in the Oracle CRM On Demand
Online help.
2 Identify the product data that does not exist in Siebel CRM and remove those products from the
CSV file.
a Configure client side import for products. For more information read the topic on Configuring
Client Side Imports in Configuring Siebel Business Applications in the Siebel Bookshelf.
b Import using the Import menu in the Administration-Products view.
4 In Siebel CRM, associate product records that are to be synchronized to the appropriate Oracle
CRM On Demand-related organizations.
For more information, see Associating Product Records with Organizations on page 80.
5 Using Enterprise Integration Manager, extract product data to Enterprise Integration Manager
tables.
For more information, see Extracting Product Data to Enterprise Integration Manager Tables on
page 80.
For more information, see Creating CSV Files Using Enterprise Integration Manager on page 82.
7 Edit the CSV files so that the ODProductName column contains information that corresponds to
existing product data in Oracle CRM On Demand.
Use this procedure Importing Product Data into an Oracle CRM On Demand Instance on page 83.
9 Enable synchronization status for account, then contact, and then opportunity data in this
sequence (in prioritized batches) within Oracle CRM On Demand to be synchronized to Siebel
CRM.
Use this procedure Enabling Synchronization Status for Account, Contact, and Opportunity Data in
Oracle CRM On Demand on page 83.
Make sure to read About the Loading Data Strategy on page 75.
10 Initiate a merge of the resulting duplicate account and contact records in Siebel CRM (For more
information on merging records, read Siebel Data Quality Administration Guide on the Siebel
Bookshelf).
Upon merging duplicate account and contact records in Siebel CRM the corresponding merge
occurs for duplicate records in Oracle CRM On Demand.
11 Enable synchronization status for account, then contact, and then opportunity data in this
sequence (in prioritized batches) within Siebel CRM to be synchronized to Oracle CRM On
Demand.
Use this procedure Enabling Synchronization Status for Account, Contact, and Opportunity Data in
Siebel CRM on page 84.
Make sure to read About the Loading Data Strategy on page 75.
■ Enabling Synchronization Status for Account, Contact, and Opportunity Data in Oracle CRM On
Demand on page 83
■ Enabling Synchronization Status for Account, Contact, and Opportunity Data in Siebel CRM on
page 84
■ Optimizing Record Loading from Siebel CRM to Oracle CRM On Demand on page 84
■ Optimizing Record Loading from Oracle CRM On Demand to Siebel CRM on page 85
a Select a product.
b Click Release.
The file has information on the Gateway Server, Siebel Server, and database server.
a Go to the siebsrvr/bin directory and start the Server Manager using following command:
for example,
Services > stop server > stop gateway > start gateway > start server
7 Run the following command to get information from the log file:
8 Using Notepad, create an Enterprise Integration Manager configuration file, and save it in the
siebsrvr\admin folder as ProductLoad.ifb.
The following sample shows how you can set up this IFB file. You may also want to add
statements that check for External Host set to Y and for specific organizations if you have more
than one Oracle CRM On Demand instance.
3 Review the log file from siebsrvr\log to see if the export has occurred with no failures.
4 Log in to the server database and query EIM_PROD_INT for your product names. for example,
5 Check that the records are correct and that IF_ROW_STAT has been EXPORTED.
When the data is in the EIM_PRODUCT table use any utility (such as Oracle's SQL Developer) to
export the data from EIM_PRODUCT into CSV formatted files. Observe the following rules:
■ You need separate files for each Oracle CRM On Demand instance.
■ Each CSV file must be no larger than 30,000 KB and have no more than 64,000 records.
■ Each CSV file must contain the following columns names and be mapped as follows:
Enterprise Integration Manager Required Column Name in CSV File for Oracle Business
Column Name Processes Execution Language Workflow
EIM_PROD_INT.NAME ProductName
EIM_PROD_INT.DESC_TEXT Description
EIM_PROD_INT.ROW_ID ExternalsystemId
EIM_PROD_INT.PART_NUM PartNumber
EIM_PROD_INT.ORDERABLE_FLG Orderableflag
ODProductName
See ODProductName Column on page 83.
ODProductName Column
The ODProductName column must be in the file, but its value can be blank. It contains the name of
the product as it appears in Oracle CRM On Demand. This is used in Loading Data for Existing
Instances with Product History on page 78 when merging product data from Siebel CRM to Oracle CRM
On Demand.
$SOA_HOME/fileAdapterController/ExtDirs/BatchLoadProduct_ODHOST<num>
2 Check the corresponding Oracle CRM On Demand instance that the products are loaded and have
the Sync Status as SYNC ON.
■ Account
■ Contact
■ Opportunity
1 Account
2 Contact
3 Opportunity
There is another queue that can be used to process messages for records being newly synchronized
from Siebel CRM. The *SynOn* messages Num_files_process for the corresponding file adapter
controller configuration file can be set to a higher number (for example 4) to allow multiple messages
to be processed at the same time to achieve higher throughput. Because these messages are
independent, several of them can be processed at the same time.
To enable use of parallel load of the SynOn messages the following procedure needs to be followed.
3 If any change was made to the configuration file, stop the batch controllers by executing
stopbatchcontrollers.sh and then restart the batch controllers by executing
startbatchcontrollers.sh.
2 Clear the LOV cache from the Siebel CRM List Of Values Administration Screen.
The first time a record in Siebel CRM is assigned to an organization representing Oracle CRM On
Demand, an update message is generated in addition to the SyncOn message. You can suppress
generation of the update message by setting the Sync To Ondemand flag on the records to be
synchronized. To do this, log in as an integration user prior to setting the Sync Status to
SYNC_ON. You can use Enterprise Integration Manager.
The messages are transferred to the corresponding batch file adapter controller queue in the
Oracle Service Oriented Architecture environment by the File Transfer service. The file transfer
service optimizes the transfer of these SynOn messages by combining up to 20 messages into a
single message. This combination allows use of a single Web service call to Oracle CRM On
Demand to create up to 20 records.
4 When the batch syn on messages are processed, restore the changes for
OPOD_TRANSACTION_LOG_FILE_PATH to use the runtime queues and clear the LOV cache.
The batch queues can be used any time a heavy load of syn on messages is expected. Any non
SynOn messages stay queued in the IDLAccount OR IDLContact Directory. These can be
processed by moving them over to the runtime Account or Contact queue.
5 Restore the values for OPOD_TRANSACTION_LOG_FILE_PATH and clear the LOV cache again.
In this mode, the event processor reads a set of events and deletes them from the Oracle CRM On
Demand integration events queue immediately to enable the next set of events to be read. If there
was a business logic error in processing any of the events, the failing records are marked as sync
failed in Oracle CRM On Demand. However, if there was a Web service outage in Siebel CRM, it is
possible that the batch is abandoned. Such a failed CRMIntegrationEvents processor workflow is
marked as cancelled and can be identified by searching for flows with a status of cancelled on the
BPEL console. The audit for the workflow indicates the records that were part of the batch.
4 If you need to restart the Oracle Service Oriented Architecture server, take the following actions:
%SOAHOME%/SiebelODOPPIP/fileAdapterControllerstopcontrollers.sh
$SOA_HOME/SiebelODOPPIP/FileXFerClient/stop_xfer_client.sh
c Using the BPEL console set the process lifecycle of the CRMIntegrationEventProcessor workflow
to Retired.
d Let outstanding transactions complete (there must not be any files in the File Adapter Controllers
internal application directories).
e Restart the Oracle Service Oriented Architecture Server.
f Using the BPEL console, set the process lifecycle of the CRMntegrationEventProcessor workflow
to Active.
g Make sure instances of CRMIntegrationEventProcessor workflow are being invoked.
workflow processes X
activating 23 XREF_DATA table 34
importing and deploying 21
workflows, configuring 61