Siebel EIM Tutorial
Siebel EIM Tutorial
by SiebelGuide.com
EIM stands for Enterprise Integration Manager. To explain EIM in one line: it is a
process that helps in importing data from other databases into Siebel database in a
manner Siebel requires.
Below is the pictorial representation of Siebel EIM process. Data is first read from the
legacy database tables and processed in a way suitable for Siebel. This processed
data is inserted into Siebel EIM Tables appropriately and from there an EIM process
is run to insert/update the Siebel base tables.
Siebel expects data in a certain way so that it makes sense to the application. 99%
of the times the data available in the Legacy application is not suitable for direct
insert/update into the EIM tables. For example reference Id, user keys, business
logic etc. So we process them using appropriate technique like PL/SQL procedure and
insert into the EIM tables. Look at the Example section to get an idea about the
PL/SQL procedure and how it is loaded on EIM tables.
Now the question that might strike you is why we need EIM process to
import data and why not directly insert data into Siebel base tables. Following are
the reasons.
Siebel Database is complex and EIM reduces the error and guarantees
data integrity
All base tables have a primary key column called ROW_ID and the
value under this column should be a unique Siebel generated value and
shouldn’t be tampered to help referential integrity.
EIM resolves user keys which keeps referential integrity intact.
Avoids Duplicates.
It validates data
Inserting or modifying data directly into the base tables violates Siebel
license terms.
EIM process could be tedious but it is robust and can handle loading millions of
records with guaranteed performance.
Let us get into more details about the Siebel EIM process.
Not everybody today uses Siebel but when they decide to use Siebel they just
cannot leave data in their legacy system as such. They would like to retain that in
their new improved Siebel CRM system. But how do you import that terabytes of
data probably existing in CSV or a DAT file. This is where EIM comes into picture.
a) Insert
b) Update
c) Merge
d) Delete
Once the data is manipulation and scrubbing is complete we can import that data
in base tables and Siebel EIM component takes care of things like Foreign Key,
Composite Keys, User Keys and also issues related with data integrity.
The source of data can be dat files ( CSV files for SQL Loader). So as the process, we
need to push data to these interface tables using third party tool like SQL Loader,
DTS etc and then migrate data to Siebel base tables using EIM component.
EIM is a Siebel provided utility for performing bulk import export merge
and delete of data. Though updates can also be performed through the import
function of EIM.
Siebel does not support direct loading of data into base tables.
2. Invoking the EIM server process with the correct ifb file.
All SQL operations such as update insert delete etc can be performed on
EIM tables.
1. If the base table into which you need to import the data is newly created
one first you have to do an interface table mapping using wizard available in
the Siebel tools.
3. Determine the parent or child tables you need to populate and its
corresponding EIM tables.
7. Execute the EIM Server process from a batch file or shell script or through
UI.
8. Check the IF_ROW_STAT column of the EIM Table for any errors.
9. If no errors then check if the data you are trying to import is there in the
UI.