You are on page 1of 6

White Paper

On
Data Migration and EIM Tables into Siebel
Application

Author: Vinay Kumar


Table of Contents
Introduction............................................................................................................................................3
Data Sources for Data Migration .....................................................................................................3
What is EIM...........................................................................................................................................3
Need of EIM Tables.............................................................................................................................3
Data Flow Architecture .......................................................................................................................4
Columns in EIM Table ..........................................................................................................................4
Lookup on Siebel Base Tables...........................................................................................................5
EIM Process............................................................................................................................................5
Data Load Strategy in EIM Tables ...................................................................................................5

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.

Data Sources for Data Migration


Data sources for the Siebel applications can be the data from Legacy system, other OLTP
systems, EDW (Enterprise Datawarehouse), or independent systems for different
departments of the company.

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.

Need of EIM Tables


In the Siebel application database, there are application tables (known as base tables),
which Siebel applications use. For data to come from other corporate data sources
(external databases) into Siebel application tables, the data must go through EIM tables.
So the data exchanges between the Siebel database and external databases occur in
two parts:
1. Load data into EIM tables.
2. Run Siebel EIM to import the data from the EIM tables into the Siebel base
tables.

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

Columns in EIM Table


EIM tables are used as the staging tables for the data to be loaded from the external
databases. EIM uses several columns common to every EIM table. Several columns are
mandatory. Others are conditionally mandatory, depending on the conditions of your
import. To determine mandatory columns, use Siebel Tools to view each column in an EIM
table and the EIM table’s target base table columns.

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.

2. User Key Columns


These are the columns which are mapped with the user key column into the base tables.

3. Default Value Columns


These columns are the ones which are required for the visibility on UI. These columns are
assigned with some hard coded values as identified by the EIM person required for
further processing. The values are generally like ‘Y’, ‘N’, ‘Siebel Administrator’, ‘Default
Organization’ etc…

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.

Lookup on Siebel Base Tables


As mentioned earlier, Siebel doesn’t recommend accessing the base tables directly. So if
there is a need of doing a lookup against any base table, what to be done?

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.

EIM Configuration file (.IFB) is used to define the EIM process.

Data Load Strategy in EIM Tables


As mentioned earlier EIM tables are like the staging tables. Generally the data load
strategy used for the staging area is truncate and load. A similar approach with a little
different strategy is taken for EIM tables.

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

You might also like