eim process

13
Enterprise Integration Manager (EIM) EIM is used to export the bulk data from External Data Loads like SAP, Main Frames etc to Siebel base tables. Steps to follow to run the EIM Job: 1. Data will come from any third party database either from Main Frames or SAP or Excel etc is usually sent in the form of excel (XL) sheet and it is called as Flat file. The below mentioned excel sheet is of contact data that need to import into the Siebel base tables. 2. Create a folder in C Drive 3. Place XL Sheet in C Drive and rename it as data.csv (Comma Delimited) as shown in picture. Data..csv file in which data is separated in a specified format. 1

Upload: kittusiebel

Post on 28-Nov-2014

366 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: EIM Process

Enterprise Integration Manager (EIM)

EIM is used to export the bulk data from External Data Loads like SAP, Main Frames etc to Siebel base tables.

Steps to follow to run the EIM Job:

1. Data will come from any third party database either from Main Frames or SAP or Excel etc is usually sent in the form of excel (XL) sheet and it is called as Flat file. The below mentioned excel sheet is of contact data that need to import into the Siebel base tables.

2. Create a folder in C Drive 3. Place XL Sheet in C Drive and rename it as data.csv (Comma Delimited) as shown in picture.

Data..csv file in which data is separated in a specified format.

1

Page 2: EIM Process

4. Create a staging table for e.g.: TEMP_CONTACT E.g.: create table kalyani (name varchar2 (20), empno number);

To find out the schema with the below Query E.g.: desc kalyani; If any update require for the table Kalyani you can do with the below query.

To update: Alter table tablename modify column datatype.

5. Create a control file with .ctl extension (e.g.: xyz.ctl) to load data into staging table. In this file, data.csv and bad files names is passed as an inputs .Place it in the Folder which you have created in the C Drive E.g.: EIM

6. Go to Command Prompt and mention the path where you have created your folder as EIM i.e., Go to C DriveEIM in command prompt

2

Page 3: EIM Process

7. Type command as: sqlldr username/password@database control= xyz.ctl (name of ctrl file) log= xyz.log (name of log file) skip=1;

E.g.: sqlldr scott/tiger@WIM_01HW113843.TCSBOA.COM control=Load_Contact.ctl log=Load_Contact.log skip=1; Skip is used to delete the first row in the flat file as that describes the name of the columns in the XL sheet eg: column names in the first row. Log file gives the detailed explanation of rows that were not successfully processed and the reason.

8. To transfer the data from staging table to EIM Table. Data mapping sheet is required Procedure has to be complied and executed.

Steps to follow for preparing data mapping sheet:

Go to flat file i.e., external data as they have mention as contact data then Login to Siebel tools Go to Contact Business Component field Copy the column names

in the flat file query with that column names in the tools find out from which base table the column is coming from. For the above mention data, all the columns are from S_CONTACT

Then find out which EIM table is mapped to S_CONTACT and which EIM Column is mapped to the corresponding Siebel base Column.

The following steps is find out which base table is mapped to which EIM table

Login to Siebel tools Object ExplorerFLAT EIM Table mapping e.g.: Query with S_CONTACT in Name column for the given case study.

From above query you will find out many tables that are mapped to S_CONTACT .First Prefer EIM_CONTACT .If you do not find any of the columns specified in the flat file then go to EIM_CONTACT1, EIM_CONTACT2, EIM_CONTACT3……………….

3

Page 4: EIM Process

Login to Siebel tools Object ExplorerTypesEIM Interface Table Query for EIM_CONTACT table which you have selected earlier EIM Table Mapping

4

Page 5: EIM Process

Query for the required Columns of the base table in the Base Table Attribute Column and get the corresponding EIM Columns of the Interface Table. Now you know that your base table is S_CONTACT .But for populating this base table you need to populate the corresponding base tables S_CONTACT_BU and S_POSTN_CON also.(Ref Doc : ITR.pdf)

Ref Doc: ITR.pdf: Query with Interface table (EIM_) and there you can find the mandatory table which has to be populated. All user key and required columns for S_PARTY, S_CONTACT and also populate the column which are been sent through the flat file.

Assign Default values for the user key and required columns.

User Key which is not required is not necessary to populate into the EIM Columns and Siebel base Columns.

Map all Siebel required columns to the corresponding EIM Columns as shown in doc

In Case of joins, go to foreign key table and populate that column and the required columns for the joined table Eg:

5

Page 6: EIM Process

In Case of Multivalued Fields, Go to Siebel base column search for the MVL link and destination field name Go to the MVL find the Destination BC Drill down to that BC query with the destination field and get the column name

Find the table from which the column is coming from and populate all the required columns for that table and map the columns to the corresponding columns in the EIM table.

Steps to follow for preparing Procedure:

Procedure is to transfer data from staging table into EIM tables.

While inserting a record into the EIM table through procedure these three columns are mandatory.

I. ROW_ID: This column will be any sequence that should be the unique.(in procedure you can create any sequence ).

II. IF_ROW_BATCH_NUM: For 5000 records a single batch number is preferable III IF_ROW_STAT: When populating the interface tables, you can set this column to any value

except NULL. You can initially set this value to FOR_IMPORT to indicate that the row has to be imported. After processing, if certain rows were not imported due to a data error, you should change the values.

Write a procedure in a PL/SQL developer and execute

Now data has been transfer into EIM Tables. Use the below query to verify the data has loaded into the EIM tables correctly or not

Select ROW_ID, IF_ROW_BATCH_NUM, IF_ROW_STAT from SIEBEL. EIM_CONTACT.

If necessary, update values using SQL.

Now we have to Transfer Data from EIM tables to Siebel Tables:

We have to run server task to populate data from EIM tables to Siebel base tables using Configuration file with extension as .ifb.

This configuration file .ifb file which basically tells which column from the Siebel interface table is mapped to which corresponding column in the base table.

6

Page 7: EIM Process

Prepared IFB file:

Steps for writing the ifb file:

Can give any Process name. Specify the type whether it is import, export, delete, or merge. Specify the batch numbers what you have given in the procedure. Specify the Interface table from which you want to import or update or delete. Specify the all the Siebel base tables Specify the statement as INSERT ROWS = true for inserting and UPDATE ROWS = true for

updating. And mention all the base columns

Ensure that configuration file should be placed in server/admin folder in server. If configuration file is not found in the above path, Server Manager will take the default ifb file.

Steps to run Server Task:

Login to the Siebel Application Go to Site mapGo to Server ManagementJobs

7

Page 8: EIM Process

8

Page 9: EIM Process

9

Page 10: EIM Process

Create a new record with name as Enterprise Integration Manager in the Applet name ‘Job’ then scroll the screen.

Then you will see one more applet with name as ‘Job Parameters’ and fill the parameters as mention in the above picture.

If there is more than one process in your ifb file then mention the process name that you want to run and mention the ifb file as shown in the above picture.

Setting the Error Flags, SQL Trace Flag and Trace Flag parameters which create a log file in the severe \admin\log which gives the detailed explanation of rows that were not successfully processed.

Use the below Query to check whether all the records are imported correctly or not into the Siebel database. Select * from Siebel.s_contact;

If data is not imported then use below query to check the IF_ROW_STAT (status) of the EIM Table

Select ROW_ID, IF_ROW_BATCH_NUM, IF_ROW_STAT from SIEBEL. EIM_CONTACT where IF_ROW_BATCH_NUM between 20000 and 20050

10

Page 11: EIM Process

If the column IF_ROW_STAT is IMPORTED then yours records are loaded successfully.

If the column IF_ROW_STAT is PARTIALLY IMPORTED then only the base table records are loaded successfully not the extension columns.

If the column IF_ROW_STAT is NOT IMPORTED then yours records are not loaded successfully as some user key and required column are not populated.

So check your default values once again and make sure that all the user key and required columns should be populated

That finishes the EIM process

11