Professional Documents
Culture Documents
On
Data Migration and EIM Tables into Siebel
Application
Page 2 of 6
Introduction
Siebel is an e-Business solutions provider and a market-leading provider of Customer
Relationship Management (CRM) software. Siebel's main product line includes its Call
Center, Field Services and Sales, and Marketing applications, which allow employees
located in different parts of a company to have access to the information they need to
assist, service and make additional sales to customers.
ETL is Extraction Loading and Transformation of data. There are different tools like
DataStage and Informatica which can be used for the ETL purpose. These tools give a
facility to read the data from different databases or systems and ETL data to other
databases or systems. These tools are used for data cleansing, transformation and data
validations.
This white paper talks about the data migration from external data sources to Siebel
database. Any ETL tool can be used for this purpose.
The data from external data sources needs a lot of data cleansing, data transformation,
data validations and data massaging before loaded into the Siebel applications.
What is EIM
Siebel Enterprise Integration Manager (EIM) is a server component in the Siebel EAI
component group that transfers data between the Siebel database and other corporate
data sources. This exchange of information is accomplished through intermediary tables
called EIM tables. The EIM tables (or Interface Tables) act as a staging area between the
Siebel application database and other data sources.
EIM is the primary method of loading mass quantities of data into the Siebel database.
EIM should be used to perform bulk imports, updates, merges, and deletes of data.
Page 3 of 6
Data Flow Architecture
External Data Sources
Siebel Application
ETL Processing
Base
EIM Tables
Tables
EIM Processing
Siebel GUI
End Users
1. Mandatory Columns
ROW_ID
For an EIM table row to be eligible for processing, you must initialize its ROW_ID.
The ROW_ID, in combination with the value of IF_ROW_BATCH_NUM, must yield
a unique value. The ROW_ID values in the EIM tables are not the ROW_ID values
that are assigned to the row when it is loaded into the base table. Generally the
running sequence number can be assigned to this column.
IF_ROW_BATCH_NUM
You must set the values in this column to the same integer, greater than or equal to
0, as an identifying number for all rows to be processed as a batch. The maximum
value is 2147483647. Use this column as the first key of any new indexes created
on an EIM table.
IF_ROW_STAT
EIM updates this column after processing the row to indicate the status of the
record. The IF_ROW_STAT column is not used by EIM when determining which rows
to process. When populating the EIM tables, you can set this column to any value
Page 4 of 6
except NULL. You can initially set this value to FOR_IMPORT to indicate that the
row has not been imported.
4. Data Columns
These are the columns which hold the data coming from the source systems.
5. Extended Columns
EIM tables can be extended for your specific need. If there is a need to store some source
data which do not have any place holder, the EIM table can be extended with new
columns and those columns are known as extended columns.
To resolve this issue, data can be retrieved in to the XML format. Siebel gives the facility
to export data into the XML format. ETL tool can read these XML files and create the
required lookup files. These look up files can be used for the lookup purpose.
EIM Process
This is the second part of the data migration. After data is loaded into the EIM table using
ETL tools, EIM process is used to load the data into base tables. These processes read the
data from the EIM tables and load it in to the appropriate base tables. Generally not
much transformation is done into EIM process.
EIM process can be run either navigating through Administration - Server Management >
Jobs in the GUI or from the command line interface.
Page 5 of 6
Data is always inserted into the EIM tables. To avoid the unique key constraint with the
existing (previous load) data the existing IF_ROW_BATCH_NUM is updated with the
SYSDATE+IF_ROW_BATCH_NUM (concatenation). This way the previous data is retained
and new data is also inserted. This approach is taken to enable the possibility of any
finding/debugging on the previous data. This data can be retained for few days.
Page 6 of 6