SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know...

40
SIEBEL EIM SIEBEL EIM By Sukesh Tokshiya

Transcript of SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know...

Page 1: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

SIEBEL EIM SIEBEL EIM

By Sukesh Tokshiya

Page 2: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

ObjectivesObjectives After completing this module you will Know After completing this module you will Know

following things:following things:– SIEBEL 7 Data Model.SIEBEL 7 Data Model.– Different EIM Processes and their Use.Different EIM Processes and their Use.– Input to Base table Column Mappings.Input to Base table Column Mappings.– IFB creation and Optimizing the EIM process.IFB creation and Optimizing the EIM process.– Running EIM ProcessRunning EIM Process– Error Handling in EIMError Handling in EIM

Why you need to knowWhy you need to know– Enables you to design EIM solutions for Enables you to design EIM solutions for

Import,Export,Update, Delete and Merge data Import,Export,Update, Delete and Merge data into/from the SIEBEL databaseinto/from the SIEBEL database

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 3: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

SIEBEL DATA MODELSIEBEL DATA MODEL

By Sukesh TokshiyaBy Sukesh Tokshiya

Over 2000 tables in the databaseOver 2000 tables in the database Three major types: Data, Interface, and RepositoryThree major types: Data, Interface, and Repository

Data TablesData Tables Store the user dataStore the user data Business dataBusiness data Administrative dataAdministrative data Seed dataSeed data Transaction data for mobile usersTransaction data for mobile users Are populated and updated: Are populated and updated:

- By the users through the SIEBEL eBusiness applications - By the users through the SIEBEL eBusiness applications - By server processes such as - By server processes such as

Enterprise Integration Manager for bulk importing and Enterprise Integration Manager for bulk importing and exporting of dataexporting of data

Have names prefixed with S_ Have names prefixed with S_ Are documented in the SIEBEL Data Model ReferenceAre documented in the SIEBEL Data Model Reference

Page 4: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.
Page 5: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Prominent Data TablesProminent Data Tables

S_SRV_REQ

ROW_ID

SR_NUM

DESC_TEXT

RESOLUTION_CD

OWNER_EMP_ID

S_OPTY

ROW_ID

BDGT_AMT

NAME

STG_NAME

PROG_NAME

Prominent tables storing data for the major business entitiesProminent tables storing data for the major business entities

Service Request

Opportunity

S_PROD_INT

ROW_ID

NAME

PART_NUM

UOM_CD

Internal Product

S_CONTACT

ROW_ID

LAST_NAME

FST_NAME

MID_NAME

Contact

SIEBEL DATA MODELSIEBEL DATA MODEL

Page 6: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Contain the object definitions that specify one or more Siebel applicationsContain the object definitions that specify one or more Siebel applications– Client application configurationClient application configuration– UI, business, and object definitionsUI, business, and object definitions– Mappings used for importing and exporting dataMappings used for importing and exporting data– Rules for transferring data to mobile clientsRules for transferring data to mobile clients

Each table has multiple columns to store user and system dataEach table has multiple columns to store user and system data - Defined by the Column child object definitions - Defined by the Column child object definitions

Columns determine the data that can be stored in that tableColumns determine the data that can be stored in that table

By Sukesh TokshiyaBy Sukesh Tokshiya

SIEBEL DATA MODELSIEBEL DATA MODELInterface TablesInterface Tables

Are a staging area for importing and exporting dataAre a staging area for importing and exporting data Are used only by the Enterprise Integration Manager server componentAre used only by the Enterprise Integration Manager server component Are named with prefix EIM_Are named with prefix EIM_ Are documented in the Interface Tables ReferenceAre documented in the Interface Tables Reference One EIM Table Can target Many Base Tables.One EIM Table Can target Many Base Tables.

Repository TablesRepository Tables

ColumnColumn

Page 7: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

User KeyUser Key

Specifies columns that must contain a unique set of valuesSpecifies columns that must contain a unique set of values Prevents users from entering duplicate recordsPrevents users from entering duplicate records Is used to determine the uniqueness of records during data import Is used to determine the uniqueness of records during data import

operationsoperations Cannot be edited ( Exception in specific cases)Cannot be edited ( Exception in specific cases)

INDEXINDEX

Is a separate data structure that stores a data value for a column Is a separate data structure that stores a data value for a column and a pointer to the corresponding rowand a pointer to the corresponding row- Are used to retrieve and sort data rapidly- Are used to retrieve and sort data rapidly

Can be created by configurators (to produce a custom index)Can be created by configurators (to produce a custom index) Should be inspected to assess performance issues for query and Should be inspected to assess performance issues for query and

sort operationssort operations

SIEBEL DATA MODELSIEBEL DATA MODEL

Page 8: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

SIEBEL DATA MODELSIEBEL DATA MODEL1:M 1:M RelationshipsRelationships

Are captured using foreign key table columns in the table on the many Are captured using foreign key table columns in the table on the many side of the relationshipside of the relationship

M:M M:M RelationshipsRelationships

Are captured using foreign key table columns in a third table called the Are captured using foreign key table columns in a third table called the intersection tableintersection table

1:1 Extension Table1:1 Extension Table

Is a special table that has a 1:1 relationship with a base table Foreign key Is a special table that has a 1:1 relationship with a base table Foreign key for the relationship:Is located in the extension table Is named PAR_ROW_ID.for the relationship:Is located in the extension table Is named PAR_ROW_ID.

Provides additional columns for business components referencing the base Provides additional columns for business components referencing the base tabletable– A base and extension table can be considered as a single logical tableA base and extension table can be considered as a single logical table

Are used: Are used:– To provide flexibility for both SIEBEL engineering and customer useTo provide flexibility for both SIEBEL engineering and customer use

Known as standard 1:1 extension tablesKnown as standard 1:1 extension tables– To support multiple business components referencing the S_PARTY To support multiple business components referencing the S_PARTY

tabletable

Page 9: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Party EntityParty Entity

Refers to instances of entities that have access to recordsRefers to instances of entities that have access to records– Person-related entitiesPerson-related entities– Organization-related entitiesOrganization-related entities– Groupings created for access to master dataGroupings created for access to master data

Allows for grouping of instances of different types of entitiesAllows for grouping of instances of different types of entities

Contact

Employee

User

Partner

Person-related entities

Account

Position

Division

Organization

Organization-related entities

User List

Access Group

Grouping for access control

SIEBEL DATA MODELSIEBEL DATA MODEL

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 10: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

• Server task that manages exchange of data between external data in interface tables and user data in base tables

• EIM reads a configuration file to determine: - Whether data should be imported, merged, deleted,or exported. - Which interface table(s) and base table(s) are used and affected.

• User key column mappings in interface tables are used to resolve ROW_IDs for base tables, maintaining referential integrity

•You cannot use SQL to populate user data in base tables

Enterprise Integration Manager (EIM)Enterprise Integration Manager (EIM)

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 11: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Import

Export

Merge

Delete

Enterprise Enterprise IntegrationIntegration Manager (EIM) Processes Manager (EIM) Processes

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 12: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Import Process• Import Process is basically used to Insert or Update the data from external system.• Identify and validate the data to be imported.• Identify the column mappings and user key columns of the data to be imported.

Recommended Import Order

1 AdministrativeNOTE: An example of administrative data would be a List of Values for Currencyor Zip Code.2 Business Unit3 Positions4 Accounts5 Contacts6 Employees7 Products8 Opportunities9 Personal Accounts10 Quotes11 Documents12 Forecasts

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 13: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Import Process Continued……….

Recommended Import Order Continued….13 Fulfillment14 Marketing Campaigns15 CPG Promotion Management16 CPG Product Movement17 Service Requests18 Product Defects19 Activities and Appointments20 Notes21 File Attachments

Required Initial Values for Special Columns

Each row to be imported must contain the data you want to import and theappropriate values in the following columns:

ROW_ID. This value, in combination with the nonempty contents of IF_ROW_BATCH_NUM, must yield a unique value.

IF_ROW_BATCH_NUM. Set this value to an identifying number for all rows to beprocessed as a batch.

IF_ROW_STAT. In each row to be imported, set this column to FOR_IMPORT toindicate that the row has not been imported.

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 14: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Import Process Continued……….

•Updating record Using EIM process.

•EIM table should be populated with proper User keys to Update Base table records.

•EIM table column is having value in it which is different from base table then and then only the base table value will be Updated.

•If EIM table column is having NULL value it will not affect the Base Table column.

•If we want to update base table with NULL value we have to use NET Change parameter

•User Key Values in Base table Column cannot be Updated ( Exception with some base table as new EIM table Introduced Specifically for updating User Keys).

•Insert and Update of Base table can be achieved by Specifying the proper Parameters in configuration file (IFB).

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 15: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Export Process• Export Process is basically meant for exporting the data from base table into and populating the EIM tables.

• Exported data can be copied into Other data bases

• Preserved Column Values - The values for the LAST_UPD and CREATED columns in the interface tables will always contain the values for the LAST_UPD and CREATED columns from the targetbase table.

You can verify export results by checking IF_ROW_BATCH_NUMequals to the batch number for the export.

The value of IF_ROW_STAT should be EXPORTED.

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 16: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Delete Process•To delete any record from SIEBEL we will delete the record by using SIEBEL DELETE process.

•EIM initializes the interface tables for deletion.

•It applies filter logic to select rows for deleting, insert interface tables rows that correspond to matching base table rows, or select rows with matching user keys in the interface tables.

•EIM updates other tables with rows containing foreign keys that point to newly deleted rows.

•Deletion process will delete/Update the corresponding record/s from tables where the row_id of record is referred as foreign Key

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 17: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Deletion Methods Supported

EIM uses a combination of interface table row contents and configuration file parameter values to determine the method for selecting rows to be deleted. The following methods are supported:

Delete rows in a SIEBEL base table with user key values specified in thecorresponding interface table.

Delete rows in the base table where the contents of a named column match those specified by a WHERE clause expression in the configuration file.

Delete all rows in the base table regardless of interface table row contents or configuration file WHERE clause expressions.

Caution: Do not use EIM to delete organizations. Using EIM to delete data from the Products base tables is also not recommended and can lead to inadvertent data integrity loss.

Delete Process Continued……….

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 18: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Merge Process•Merge process is basically meant for Merging two records.

•During Merge Process Identity the Parent record and Child records.

•All the references (row_id) of Child records will be replaced by parent record and Child records will be deleted.

While Populating the EIM ,IF_ROW_MERGE_ID is used to distinguish between parent and child records by EIM process.

•For Parent Record IF_ROW_MERGE_ID is kept NULL and for Child record the row_id (EIM tables) of parent is populated.

•Can be used only two merge data from primary base table and not the secondary tables.

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 19: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

EIM Column Mappings EIM Column Mappings

•Column Mapping is very Important process for designing EIM Solution.

•Determine the Entity which it is going to affect.

•Identify the INPUT column , corresponding EIM and Base Table and column it is going to affect.

•Identify the Intersection table ( if needed) for incoming data to be loaded.

•Identify the User key Values from INPUT file required to populate the EIM tables.

•Determine the column required for visibility of records and populate the values in it.

•Prepare a EXCEL document once you have identified the Mappings.

Page 20: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

EIM Configuration FileEIM Configuration FileEIM reads a configuration file that Specifies the EIM process to perform.

There are two sections in IFB file Header and Process Section.

IFB general Parameters

Header Section.

CONNECT ODBC System Data Source

LOG TRANSACTIONS TO FILE Log transactions to file or table; TRUE/FALSE

toggle;default is TRUE

PASSWORD Database password

PROCESS Initial/main process section to run

[Siebel Interface Manager] Header section must use this reserved name

TABLEOWNER Database tableowner, defined

during installation

USERNAME Database/Employee logon

Page 21: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Process Section.General Process Parameters for the EIM Configuration FileCommand Description

TYPE IMPORT, EXPORT, DELETE, MERGE, SHELL

BATCH IF_ROW_BATCH_NUMValue to run against

TABLE Name of EIM table.COMMIT EACH PASS Commit after each EIM

pass; default is TRUECOMMIT EACH TABLE Commit after each base

table; default is TRUEIGNORE BASE COLUMNS Do not process these

columnsIGNORE BASE TABLES Do not process these

tablesINCLUDE Subprocess to executeLOG TRANSACTIONS Default value depends on

system preferenceONLY BASE TABLES Process only these tables

EIM Configuration FileEIM Configuration File

Page 22: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

TRANSACTION SQL Post-commit SQL statement

USE SYNONYMS TRUE/FALSE toggle; default is TRUE

ROLLBACK ON ERROR Error rollback behavior; default is FALSE

[Siebel Interface Manager] LOG TRANSACTIONS TO FILE = FALSE USE INDEX HINTS = FALSE USE ESSENTIAL INDEX HINTS = FALSE

[Import_Address]TYPE = IMPORTTABLE = EIM_ADDR_PERBATCH = $BatchRangeONLY BASE TABLES = S_ADDR_PERUPDATE ROWS = S_ADDR_PER, FALSEONLY BASE COLUMNS = S_ADDR_PER.ADDR_TYPE_CD,\

S_ADDR_PER.DISA_CLEANSE_FLG,\ S_ADDR_PER.ACTIVE_FLG,\ S_ADDR_PER.ADDR_NAME

EIM Configuration FileEIM Configuration File

Page 23: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Import Process Specific Parameters. COMMIT OPERATIONS Docking Log row commit

frequency; default is 0DEFAULT COLUMN Default for IF column; DEFAULT

COLUMN=ORG_CD, “Federal”FILTER QUERY SQL pre-process filter query fragment;

FILTER QUERY=(ACCNT_NUM“1500”)FIXED COLUMN Set IF column to this literal; FIXED

COLUMN=ORG_CD,“Commercial”INSERT ROWS Optional base table, TRUE/FALSE

toggle; default is TRUE.MISC SQL Set primaries in import processNET CHANGE Do not update with NULL values;

default is TRUEONLY BASE COLUMNS Process only these columnsPRIMARY KEYS ONLY Refresh only primary foreign keys

for base tables; does not work In set-based mode; default is FALSE

SET BASED LOGGING Specifies whether set based logging is enabled; default is TRUE

TRIM SPACES Toggles space trimming; default is TRUE

UPDATE ROWS Optional base table, TRUE/FALSE toggle; default is TRUE.

EIM Configuration FileEIM Configuration File

Page 24: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Export Process Specific Parameters. Command Description

EXPORT ALL ROWS Export all rows in tables; default is FALSE

EXPORT MATCHES WHERE Clause fragment; EXPORT MATCHES=(NAME LIKE “GEN%”)

CLEAR INTERFACE TABLE. Specifies whether existing rows in the interface table for the given batch number should be deleted. Valid values are TRUE (the default) and FALSE.

[

EIM Configuration FileEIM Configuration File

Page 25: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Delete Process Specific Parameters.

Command Description

DELETE ALL ROWS Used for deleting all rows in table; use with caution; default is FALSE

DELETE EXACT Delete using user key matching algorithm with rows in IF table;default is FALSE

DELETE MATCHES SQL WHERE fragment deletion criteria; DELETE MATCHES =

EIM_ACCOUNT, (NAME LIKE “TST_ACCT%”)

DELETE ROWS Prevents deletion of rows; DELETE ROWS=S_ADDR_ORG, FALSE

DELETESKIPPRIMARY Nullifies the foreign Key reference in the base table

EIM Configuration FileEIM Configuration File

Page 26: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

SAMPLE IFB file for DELETE Process.[Siebel Interface Manager] LOG TRANSACTIONS TO FILE = FALSE USE INDEX HINTS = FALSE USE ESSENTIAL INDEX HINTS = FALSE

[Delete_Address]TYPE = DELETETABLE = EIM_ADDR_PERBATCH = $BatchRangeDELETE EXACT = TRUE

ROLLBACK ON ERROR = TRUEDELETE SKIP PRIMARY = FALSEONLY BASE TABLES = S_ADDR_PERCOMMIT EACH TABLE = FALSECOMMIT EACH PASS = FALSE

EIM Configuration FileEIM Configuration File

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 27: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Optimizing EIM Process Optimizing EIM Process • EIM process can be optimized to get Maximum performance.

•Populate 2000 records for one batch records.

•Set specific base table name in IFB file if you want process that base table only.If possible set specific columns also.•Use batch range for each process.

•Start parallel EIM jobs ( you can start 5 instances of EIM on one SIEBEL server).

•ONLY BASE TABLES or IGNORE BASE TABLES parameters

•ONLY BASE COLUMNS or IGNORE BASE COLUMNS parameters

•Separating INSERT and UPDATE Operations

•USE INDEX HINTS parameter usage

•USING SYNONYMS parameter usage

•Transaction Logging

•Disable Triggers By Sukesh TokshiyaBy Sukesh Tokshiya

Page 28: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Running EIM Process Running EIM Process

Populate the columns in the Interface/ EIM table that are required to load

the Siebel

Write/Edit the EIM Configuration (IFB) File to define the EIM Process to

perform

RUN the EIM Submit the EIM as a Siebel Server Batch

component task

Steps Involved in running EIMSteps Involved in running EIM

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 29: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Running EIM Process Running EIM Process

Start SIEBEL Client

Navigate to Enterprise Operations View in the Server Administration

screen

Click the Component

Requests view tab

In the Component

Requests form, add a new

record.

In the Component/Job field, click the ellipsis button. The Component/Jobs dialog box

appears.

In the Component/Jobs

dialog box, select the Enterprise

Integration Mgr component and click

OK.

Complete the rest of the fields

and commit

In the Component Request Parameters list, add or change

any component parameters for the

EIM process

In the Component Requests form, click the menu

button, and then click Submit

request

EIM started

Page 30: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Running EIM Process Running EIM Process Using the Command-Line Interface

1.Start the srvrmgr program in the command-line interface.To start the srvrmgr programFor Windows servers only: at the DOS prompt, change to the \bin subdirectory within the Siebel Server root directory:cd \siebel_server_root\binStart the svrmgr program along with the parameters mentioned below:

Parameter What it specifiesSyntax for Windows

Syntax for UNIX

Required

gateway_serverNetwork address of the SiebelGateway machine

/g -g Yes

entrpr_serverSiebel Enterprise Server name

/e -e Yes

siebel_serverSiebel Server name (the default is all servers)

/s -s No

usernameSiebel Server administratorusername

/u -u Yes

passwordSiebel Server administrator password

/p -p Yes

Page 31: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Running EIM Process Running EIM Process Sample syntax for running the svrmgr would be:

srvrmgr /g gateway1 /e enterprise1 /s server1 /u sadmin /p sadmin

Sample syntax for specifying the Run Task command:

run task for component eim with config=import.ifb

srvrmgr /g siebelserver /e AspireEnt753 /s SIEBELSERVER /u sadmin /p sadmin /c "run task for component eim with config=<<filename.ifb>>,Errorflags=1,Sqlflags=8,Traceflags=3"

Page 32: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

Error Handling in EIMError Handling in EIM

Common Errors and Resolution

IF_ROW_STAT Indicates Resolution

IN_PROGRESS Integration Manager sets IF_ROW_STAT to this initial value for all rows in the batch. If rows still have this status value after Integration Manager exits, a failure occurred that aborted processing for this table.

One possible reason may be that an extension column in the Base table that the EIM table maps to does not exist.Another reason may be that there is insufficient space in the Siebel Server for the generation of LOG files.

SQL_ERROR A SQL error occurred during an attempt to import this row. This error occurs for rows processed when transaction logging isTRUE.

In this case, the SQL statement that failed execution is logged in the EIM log file. This statement can be analyzed to deduce the specific error.

Page 33: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Error Handling in EIMError Handling in EIMCommon Errors and Resolution continued …

IF_ROW_STAT Indicates Resolution

IMPORT_REJECTED A user-specified filter query failed for this row.

The query specified using the FILTER QUERY parameter needs to be analyzed and corrected. The query expression should be a self-contained WHERE clause expression (without the WHERE keyword) and should use only unqualified column names from the interface table or literal values (such as NAME IS NOT NULL).

FOREIGN_KEY A required foreign key column in the target table could not be resolved.

One reason could be that all the columns in the EIM table that map to the foreign key in the base table have not been populated. Another reason could be that the EIM table columns mapping to the foreign key column, resolve into a ROW_ID that is non-existent in the Foreign Key table.

PICKLIST_VALUES A required pick list value in the target table could not be resolved. This error occurs for NULL or invalid bounded pick list values.

The error could be resolved by ensuring that a pick list exists for the column that is LOV bounded. The value being imported for this column corresponds to one of the values in the pick list.

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 34: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Error Handling in EIMError Handling in EIMIF_ROW_STAT Indicates Resolution

REQUIRED_COLS One or more required columns for the target table were NULL.

Before running the EIM, it should be ensured that the required columns in the base table(s)are being populated. Even if these columns are not specified in the EIM table, they could be defaulted to specific values using the DEFAULT or FIXED COLUMN parameters in the IFB file.

DUP_RECORD_EXISTS The row exactly matches rows that already exist in the destination tables.This error can also occur when the same record (same user key) exists with the same EIM batch number with a lower ROW_ID. In this case, MIN (ROW_ID) is the record processed, and the other records with the same user key are marked as DUP_RECORD_EXISTS.

It should be ensured that in the EIM table, records with the same batch number have distinct unique key combinations.

PARTIALLY_IMPORTED The row did not fail for the target table (although it may have been a duplicate), but did fail during processing of a secondary base table. This status is set after the import has completed.

In case, a parent-child relationship exists between the target table and the secondary base table, the user keys mapping to the Foreign Key column in the Child table referencing the Parent table must be populated in the EIM table in exactly the same way in which the user key columns resolving to ROW_ID of the parent table are populated.

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 35: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

IF_ROW_STAT Indicates Resolution

DUP_RECORD_IN_EIM_TBL Indicates that there are 2 or more interface records having the same user key values.

To avoid this situation, analyze the input records before beginning the EIM task. If you find duplicate records, you can either combine them into one record, or specify a different batch number for the duplicate record. 4

NON_UNIQE_UKEYS This error occurs if there is more than one USERKEY, say <<Basetable name_U1>>, <<Basetable name_U2>>, etc. defined on a base table. The particular EIM table being used to populate the base table uses the second USERKEY but the user has populated EIM columns corresponding to the columns of the first USERKEY

It is necessary to identify the particular USERKEY that the EIM table uses and populate columns mapping to that USERKEY uniquely.5

AMBIGUOUS This error is usually encountered when there are some columns in the Base table, other than the unique key columns, which also need to be uniquely populated for each record. This is because of unique index database constraint defined on these columns. This error is also encountered when attempting to run DELETE or MERGE processes on records in the base table with same unique keys but different conflict_ids.

The workaround is to identify all the column combinations in the base table, which participate in the different unique index constraints defined on it, and populate each combination uniquely. 6

Error Handling in EIMError Handling in EIM

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 36: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

1. Query the appropriate interface tables for rows whose IF_ROW_BATCH_NUM

equals the batch number for the import.

2. Check the value in IF_ROW_STAT column for all these

rows

Imported/

Deleted /

Exported/Merg

ed

3. EIM Process is successful

4. Check the value in the IF_ROW_STAT column

5. Using the chart of possible IF_ROW_STAT values, analyze

the possible cause of error

6. Check the value of IF_ROW_STAT_NUM

column in the EIM table

7. Search for the value in the EIM log file for the current run

8. This value corresponds to a particular pass number in the

EIM process, and is logged in the EIM log file in case of Error

9. Using the description in the EIM log file corresponding to the IF_ROW_STAT_NUM value, deduce

the cause of the error

End

Start

Yes

No

Error tracking process

By Sukesh TokshiyaBy Sukesh Tokshiya

Page 37: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

•S_PARTY Table. S_PARTY table has been introduced into SIEBEL Data Model inSIEBEL 7. The S_PARTY table is the target base table, while S_ORG_EXT.S_CONTACT, S_USER, and S_POSTN now become extension tables of theS_PARTY table. The S_EMPLOYEE table is obsolete in version SIEBEL 7. Theseschema changes have a direct effect on EIM behavior.

•MISC SQL Parameter. SIEBEL 7 introduces a new parameter, MISC SQL. This isused to set certain Primary Child Foreign Keys, such asS_CONTACT.PR_OU_ADDR_ID and S_POSTN.PR_EMP_ID. When using MISCSQL in SIEBEL 7 to set Primary Child Foreign Keys, EIM does NOT log anytransactions for mobile users. This parameter should only be used for initial dataloading. For more information, see “Header and Process Parameters”.

•utleimdiff.exe Utility. The Siebel data model changes from release to release.Schema changes have an effect on EIM behavior. Use the utleimdiff utility to finddifferences in all interface tables between two repositories. It also generates aselective report of the EIM tables. The results can be used to help you prepareinterface tables for EIM data loading.

New Features in SIEBEL 7.5 New Features in SIEBEL 7.5

By Sukesh TokshiyaBy Sukesh Tokshiya

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 38: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

• Previously you could not delete from the S_NOTE* and S_*_SKILL_IT tables because they did not have a primary user key. Now you can delete records from S_NOTE* and S_*_SKILL_IT tables without deleting records from the parent tables using EIM_NOTE_DEL and EIM_SKLI_DEL, respectively.

•Delete and Merge performance is improved if you create some specifictemporary indexes first.

•Oracle INSERT APPEND MODE. This new parameter helps avoid deadlockswhen running parallel EIM processes.

•ATTACHMENT DIRECTORY. Specifies the directory to be used for importingattachments.

•CASCADE DELETE ONLY. This new parameter determines how child records arehandled when the parent record is deleted.

•EIM SCHEMA CACHE. This caches the column relations.

New Features Continued…..New Features Continued…..

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 39: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

By Sukesh TokshiyaBy Sukesh Tokshiya

•EIM Table Mapping Wizard. SIEBEL Tools includes an EIM Table Mapping wizardto assist in adding extensions to the Data Model:

• Add new customer columns to existing SIEBEL tables.• Add new extension tables.• Add new intersection tables.

•EIM_PROD_INT_UK. EIM_PROD_INT_UK in SIEBEL 7 can be used to update userkey columns in S_PROD_INT, such as NAME and VENDR_OU_ID.INTEGRATION_ID is an alternative user key in S_PROD_INT. The EIM engineuses this new user key to update traditional user key columns.

•LOG TRANSACTIONS TO FILE. SIEBEL 7 introduces a new parameter, LOGTRANSACTIONS TO FILE. EIM now logs transactions into DX files stored in theFile_System\EIM directory. A marker transaction is created in theS_DOCK_TXN_LOG table. For more information, see “Header Parameters”

•DELETE MATCHES and EXPORT MATCHES Behavior Changed. The behavior of theseparameters has changed as part of the new S_PARTY model. These parameterscan now affect extension tables. These parameters also have a new argument.

New Features Continued…..New Features Continued…..

Enterprise Integration Manager (EIMEnterprise Integration Manager (EIM))

Page 40: SIEBEL EIM By Sukesh Tokshiya. Objectives Objectives After completing this module you will Know following things: After completing this module you will.

Thank youThank you

By Sukesh TokshiyaBy Sukesh Tokshiya