EIM Handbook

download EIM Handbook

of 47

Transcript of EIM Handbook

  • 8/13/2019 EIM Handbook

    1/47

    EIM HANDBOOK FOR SIEBEL INDUSTRY APPLICATIONS

  • 8/13/2019 EIM Handbook

    2/47

    Oracle

    CONTENTS

    1 INTRODUCTION................................................................................................................................................3

    2 OBJECTIVE.........................................................................................................................................................3

    3 ABOUT EIM.........................................................................................................................................................3

    4 ABOUT IFB..........................................................................................................................................................4

    5 IFB FILE STRUCTURE......................................................................................................................................5

    5.1 H EADER SECTION .............................................................................................................................................65.2 P ROCESS SECTION ............................................................................................................................................6

    5.2.1 IMPORT...................................................................................................................................................7

    5.2.2 EXPORT...................................................................................................................................................9

    5.2.3 DELETE.................................................................................................................................................105.2.4 MERGE..................................................................................................................................................13

    6 RUNNING EIM..................................................................................................................................................14

    6.1 U SING THE GRAPHICAL USER I NTERFACE (GUI)..........................................................................................156.2 U SING THE COMMAND -LINE I NTERFACE .......................................................................................................186.3 I MPORT ORDER OF E NTITIES ..........................................................................................................................19

    7 CHOOSING THE CORRECT INTERFACE TABLE...................................................................................20

    7.1 D RIVING FACTORS HILE CHOOSING EIM TA!LE .........................................................................................2"7.2 H ANDLING ! ASE TA!LES ITH NO USER #E$S ............................................................................................227.3 U SER # E$ UPDATE USING EIM ....................................................................................................................227.% POPULATION OF USER # E$ AND R E&UIRED COLUMNS .................................................................................22

    7.5 S IE!EL RO 'ID C REATION THROUGH EIM.................................................................................................238 TRACKING AND HANDLING ERRORS......................................................................................................25

    8.1 C OMMON ERRORS AND R ESOLUTION .............................................................................................................258.2 E RROR TRAC#ING PROCESS ...........................................................................................................................298.3 EIM E RROR AND TRACE FLAGS ....................................................................................................................31

    DATA DE!ENDENCIES IN IFB FILES.........................................................................................................34

    10 ISSUES "HILE MIGRATING ORGANI#ATION DATA.........................................................................35

    1".1 P OPULATING THE '!U COLUMN ..................................................................................................................351".2 C HOOSE !ET EEN DEFAULT ORGANI ATION AND OTHER ORGANI ATIONS ..............................................371".3 L OADING OF S$NDICATED DATA .................................................................................................................37

    11 EIM !ERFORMANCE TUNING...................................................................................................................38

    12 REFERENCE....................................................................................................................................................41

    13 A!!ENDI$ A....................................................................................................................................................42

    14 A!!ENDI$ B....................................................................................................................................................45

    EIM Handbook Page: 2 of 47

  • 8/13/2019 EIM Handbook

    3/47

    Oracle

    1 Introduction

    This document serves as a reference or handbook that would provide guidelines for writingConfiguration files in order to migrate data to or from Siebel 7 base tables using EIM, in an optimalfashion.

    AUDIENCEThe uide is intended for the following users.

    Siebel Application !eople responsible for planning, setting up, and maintaining SiebelAdministrators applications

    Siebel Application !eople responsible for planning, implementing, and configuringDevelopers Siebel applications

    Siebel System !eople responsible for implementation of the entire application,Administrators including installing, maintaining, and upgrading Siebel products

    PRE-REQUISITEThe user should have prior functional knowledge of Enterprise Integration Manager "EIM# includingrunning EIM batch for IM!$%T&E'!$%T and&or (E)ETE&ME% E process. *dditionall+, the usershould have working knowledge of the Siebel "both version and 7# data models.

    2 Objective

    The ob-ective of this document is to serve as a guide that could be referred to, when migrating data toor from Siebel ase tables, using the Enterprise Integration Manager. It provides the reader withinformation as to how the EIM Configuration /ile "I/ # should be written so as to optimi0e theperformance of the EIM process and minimi0e the occurrence of errors. The document la+s a lot ofemphasis on the Error handling and !erformance tuning aspects of a t+pical EIM process, whichwould prove beneficial to individuals involved in (ata Migration using EIM.

    3 bout EIM

    The Siebel Enterprise Integration anager "EIM# manages the bi1directional e2change of databetween the Siebel databases and other corporate databases. This e2change of information isaccomplished through intermediar+ tables called EIM tables. The EIM tables act as a staging areabetween the Siebel application database and other databases. In order to perform import, e2port,update or delete of data in Siebel base tables, Siebel S+stems recommends the use of EIM. SiebelS+stems does not support the use of native S3) for loading data into the base tables.

    EIM reads a special configuration file that specifies the EIM process to perform import, merge, delete,or e2port with the appropriate parameters. The EIM configuration file "the default file is default.ifb# isan *SCII te2t file of e2tension t+pe .ifb that resides in the admin subdirector+ under the Siebel server

    EIM Handbook Page: 3 of 47

  • 8/13/2019 EIM Handbook

    4/47

    Oracle

    director+. efore running an EIM process, the EIM configuration file must be edited to define theprocesses that EIM will perform.

    The following diagram illustrates the flow of data between Siebel databases and other corporatedatabases4

    Siebel Ancillary SiebelProgram Utility EI

    EI tables is a staging area bet!een t"e Siebel database and ot"er databases

    Siebel recommends #se o$ EI

    Siebel does not s#pport native SQ% to load data into t"e base tables

    ! bout I"#5hat is I/ file6

    *n I/ file is nothing but a EIM configuration file which is an *SCII or nicode " inar+# te2t file ofe2tension t+pe .ifb. I/ stands for Interface atch. It resides in the *dmin director+ of Siebel Serverand allows the database administrator to define the t+pe of EIM process like Import, E2port, Mergeand (elete to be performed.

    5h+ I/ is needed6

    *n I/ file contains specifications for batch -obs for the data element to be operated based on the

    process t+pe mentioned in it.

    EIM Handbook Page: 4 of 47

    Non$Siebel%ataba&e

    SIE#E' Inter(aceTable& Siebel %ataba&e

  • 8/13/2019 EIM Handbook

    5/47

    Oracle

    ) I"# "ile Structure

    *n I/ file consists of two main sections namel+4

    &eader Section' The .ifb file begins with a header section to specif+ global parameters that appl+ toall process sections.

    Process Section' /ollowing the header section, there must be at least one process section with itsassociated parameters. Some process section parameters are generic for all EIM processes 8T+pe9,8!rocess :ame9, 8 atch :umber9, 8EIM Table Selection9 etc.

    EIM Handbook Page: 5 of 47

    Proce&& SectionProce&& Section

    Header SectionHeader Section

  • 8/13/2019 EIM Handbook

    6/47

    Oracle

    )*1 Header Section

    The first nonblank, uncommented line of the header section of an+ .ifb file must contain the e2actinformation4 ;Siebel Interface Managerowever, +ou can specif+ this inthe .ifb file if +ou are running EIM from the Siebel application "not the command line# and if +ou havenot alread+ set this value in the EIM Server Component parameters.

    !*SS5$%( and SE%:*ME values are not used for access authentication oras a securit+ measure? EIM ac@uires this value from the component parameters

    !*SS5$%( and SE%:*ME are used onl+ if the parameters are not set at theenterprise or component level

    )*2 Proce&& Section

    EIM Handbook Page: 6 of 47

  • 8/13/2019 EIM Handbook

    7/47

    Oracle

    nlike header section parameters, the process section parameters are not generic for all the processes"Import, E2port, (elete = Merge#. ut some parameters are common for all.

    The first nonblank, uncommented line of each process section is a bracketed string ";E))#. * shell process uses the I:C) (E statement to invoke a se@uence of processesin a single run.

    +ATC&' Specifies a re@uired batch number for this process. This number is predefined as the usersets this number at the time of EIM table load. It is used to identif+ the set of rows to load from theinterface tables for this specific process. It corresponds to the value in the interface table columnI/A%$5A *TC>A: M and must be a positive integer between B and "up to Ddigits, no commas#. To specif+ multiple batches, use a range or list of batch numbers.*TC>FDBB1DGB

    To list batches, use the comma1delimited format as shown in this e2ample4*TC>FDBB,DBH,DB

    It is recommended to use batch ranges " *TC> F 2J+#. This allows the user to run with smaller batchsi0es and avoid the startup overhead on each batch. The ma2imum number of batches that one can runin an EIM process is D,BBB.

    TA+%E' Specifies the name of an EIM table used in this process. /rom performance aspect the

    selection of EIM table is vital. The things that should be kept in mind while selecting the EIM table arediscussed earlier.

    TYPE = IMPORTBATCH = 10000-10100TABLE = EIM_ACCOUNT

    (N%* +ASE TA+%E' Specifies and restricts selected base tables for the import process. secommas to separate table names. Target table for interface tables must be included. This parameter isused to improve performance when loading some specific base tables. /or e2ample4

    ONLY BASE TABLES = S_PARTY,S_ORG_EXT,S_ACCNT_POSTN,S_ORG_BU

    I,N(RE +ASE TA+%ES' Specifies base tables to be ignored b+ the import process. se commas toseparate table names. Target tables for interface tables cannot be ignored. The default is to not ignorean+ base tables. se this parameter to improve performance when loading all but a few tables.

    (N%* +ASE C(%U NS' Specifies and restricts base table columns for the import process. secommas to separate column names, which can be @ualified with base table names. Include all user ke+

    EIM Handbook Page: 7 of 47

  • 8/13/2019 EIM Handbook

    8/47

    Oracle

    columns and re@uired columns. se this parameter to improve performance when updating man+ rowsbut few columns. The default is to process all interface columns mapped to the base table.

    ONLY BASE COLUMNS= S_ORG_EXT.NAME, S_ORG_EXT.LOC, S_ORG_EXT.BU_ID

    I,N(RE +ASE C(%U NS' Specifies base table columns to be ignored b+ the import process. Thisis also written with the same manner as $:)K *SE C$) M:. %e@uired columns and user ke+columns cannot be ignored. se this parameter to improve performance when loading all but a fewcolumns. The default is to not ignore an+ interface columns.

    IGNORE BASE COLUMNS = S_PROD_INT_BU.PR_FULFL_INVLOC_ID,S_PROD_INT_BU.PR_PROD_LN_ID

    DE AU%T C(%U N' Specifies a default value for an interface table column. The s+nta2 isC$) M: :*ME, L*) E, as in the following e2ample4

    DEFAULT COLUMN = CURCY_CD, "USD"

    The given value will be used onl+ if the column is : )) in the interface table.

    I.ED C(%U N' Specifies the value for a column from the interface table. The s+nta2 is the sameas for (E/* )T C$) M:. The given value will be loaded into the Siebel base table, overriding thevalue in the interface table column.

    FIXED COLUMN = PARTY_TYPE_CD, "Organization"

    INSERT R()S' Specif+ing I:SE%T %$5S as /*)SE indicates that rows from EIM table are notto be inserted into the specified Siebel base table. The default is I:SE%T %$5S F T% E. To change

    this for all tables, use this s+nta24

    INSERT ROWS = FALSE

    /or a Siebel base table, the setting is applied when data is imported from an+ interface table as in thefollowing e2ample4

    INSERT ROWS = S_ORG_BU, FALSEINSERT ROWS = S_ACCNT_POSTN, FALSE

    If the named table is an interface table, as in the e2ample below, the setting applies to all Siebel basetables imported from this interface table.

    INSERT ROWS = EIM_ACCOUNT, FALSE

    UPDATE R()S' This parameter specifies if foreign ke+ references can be updated. The defaultvalue is !(*TE %$5S F T% E which affects all tables. To change onl+ for specific table"s#,specif+ the table name as follows4

    UPDATE ROWS = S_CONTACT, FALSE

    EIM Handbook Page: 8 of 47

  • 8/13/2019 EIM Handbook

    9/47

    Oracle

    If it is re@uired to set the parameter as /*)SE for most tables, and T% E for onl+ a few, use thismethod4

    UPDATE ROWS = FALSEUPDATE ROWS = S_CONTACT, TRUEUPDATE ROWS = S_ADD_ORG, TRUE

    + default, when importing information, EIM performs both inserts and updates based on the contentof the batch set.

    If the named table is an interface table, as in the e2ample below, the setting applies to all Siebel basetables imported from this interface table.

    UPDATE ROWS = EIM_ACCOUNT, FALSE

    +y de$a#lt/ INSERT R()S and UPDATE R()S are TRUE

    Note 4 If neither I:SE%T %$5S nor !(*TE %$5S are set to /*)SE, EIM has to performadditional processing "via S3) statements# to determine whether to update or insert. asicall+ whenimporting data via EIM, EIM will first look up user ke+ columns in a base table. If it finds thematching user ke+s, EIM will continue to compare all non1user ke+ columns in order to determinewhether it needs to update the record or re-ect it as duplicate. 0

    ISC SQ%' This parameter is used to set specific e2plicit or implicit primaries. E2plicitN is when itis re@uired to set specific values as primaries. ImplicitN is when an+ of a group of values isacceptable. /or e2ample, +ou are importing one account with nine addresses. If an+ of the addresses isacceptable as being the primar+, then set primar+ to implicit. EIM then selects one of the addresses as

    primar+. If a specific address should be the primar+, then set primar+ to e2plicit and indicate theprimar+ account b+ setting its flag column./or e2ample, set EIMA*CC$ :T.*CCA!%A*((% to KN for e2plicit !rimar+. /or e2ample,

    MISC SQL = EXPR_S_ORG_EXT_PR_ADDR_ID

    MISC S3) is intended for initial data loading onl+ "with ($COI: T%*:S*CTI$:S F /*)SE#.Sometimes the intention is to appl+ e2plicit primar+ when specified and implicit primar+ otherwise. Inthat case, we mention the following in the ifb file4

    MISC SQL = EXPR_S_ORG_EXT_PR_ADDR_ID, IMPR_ S_ORG_EXT_PR_ADDR_ID

    USE INDE. &INTS' The default value for this parameter is T% E. If it is set to T% E, EIMgenerates hints during processing which helps in achieving performance gain. It is recommended forEIM processes to be tested with both T% E and /*)SE settings in order to determine which providesthe better performance for each of the respective EIM -ob.

    5.2.2 EXPORT

    EIM Handbook Page: 9 of 47

  • 8/13/2019 EIM Handbook

    10/47

  • 8/13/2019 EIM Handbook

    11/47

    Oracle

    BATCH = 200TABLE = EIM_ACCOUNTDELETE ALL ROWS = TRUE

    C%EAR INTER ACE TA+%E' Lalid values are T% E and /*)SE. If it is set to T% E, the

    e2isting rows in the interface table for a given batch number will be deleted. The default setting of thisparameter depends on the (E)ETE E'*CT parameter setting. The C)E*% I:TE%/*CE T* )Edefault is T% E if (E)ETE E'*CT is set to /*)SE and vice versa.

    CASCADE DE%ETE (N%*' "(efault F /*)SE#. Set this parameter to T% E to delete childrecords with nullable foreign ke+s when the parent record is deleted. If /*)SE, then when EIMdeletes a parent record, it sets the foreign ke+s of the child records to : )).

    Sometimes cascade delete takes place during delete process even if it is not mentioned specificall+ inthe .ifb file. 5hen a foreign ke+ column that references the deleted record is a re@uired one, the recordwith the foreign ke+ is deleted. $therwise, the foreign ke+ column is cleared.

    EIM deletion of a parent row causes cascade deletion of child rows onl+ if the foreign ke+ column inthe child table is a mandator+ column. $therwise a cascade clear is performed.

    DE%ETE E.ACT' This parameter specifies the base table rows to delete b+ using user ke+ valuesspecified in the interface table. It is recommended to use the (E)ETE E'*CT parameter to deletenon1target base tables that contain user ke+s onl+. + default, (E)ETE E'*CT F /*)SE. If(E)ETE E'*CT is set to T% E, the $:)K *SE T* )ES parameter in con-unction with thisparameter needs to be mentioned to identif+ the base tables. It should be ensured that an+ columns thatare not part of the user ke+ are : )) in the interface table.

    TYPE = DELETE

    BATCH NUMBER = 100TABLE = EIM_ACCOUNTONLY BASE TABLES = S_ORG_PRODDELETE EXACT=TRUE

    DE%ETE ATC&ES' This parameter is used for filtering or more precisel+ to choose selective basetable rows to be deleted. The value is in two parts4 the Siebel interface table name and the filtere2pression that goes against the target base table. *n e2ample would be4

    DELETE MATCHES = S_ORG_EXT, (LAST_UPD > 2004-07-15 AND LAST_UPD < 2004-07-17)

    + default, (E)ETE M*TC>ES e2pressions are not used.

    DE%ETES1IPPRI AR*' This is a special parameter that has been included Siebel 7.2 onwards,and is set to either T% E or /*)SE, with T% E being the default value. The default value results inEIM not performing a cascade update on the primar+ child column. Setting the parameter to /*)SEindicates that EIM will perform the cascade update. Setting DeleteS2ipPrimary to /*)SE ma+ affectperformance, as additional @ueries will be generated b+ EIM.

    /or e2ample,

    EIM Handbook Page: 11 of 47

  • 8/13/2019 EIM Handbook

    12/47

    Oracle

    TYPE = DELETE BATCH = 20 TABLE = EIM_FN_ASSET1 ONLY BASE TABLES = S_ASSET_POSTN DELETE EXACT = TRUE

    In the above process, EIM will delete records from SA*SSETA!$ST: but the !%A!$ST:AI(column in SA*SSET will not be ad-usted to reflect the changed relationship. That is, !%A!$ST:AI(ma+ still contain the %$5AI( of the old SA!$ST: record rather than 8:o Match %ow Id9 as isdesired.

    The !%A!$ST:AI( field in SA*SSET can be reset to reflect the change, b+ adding the following linein the process4

    DELETESKIPPRIMARY = FALSE 3

    EIM Handbook Page: 12 of 47

  • 8/13/2019 EIM Handbook

    13/47

    Oracle

    5.2.4 MERGE

    * merge process deletes one or more e2isting rows from the base table and ensure that intersectingtable rows are ad-usted to refer to the remaining rows. Some process parameters like TK!E, *TC>and T* )E are similar to that in case of the above mentioned processes. pon completion of themerge process, the some row survives and the remaining rows are deleted.

    /or surviving records, the I/A%$5AME% EAI( column in the EIM table is set to : )). /or rows tobe merged "and subse@uentl+ deleted#, this column is set to the value of the base table %$5AI( wherethis row will be merged. *ll child and intersection table rows that previousl+ pointed to %$5AI(s ofthe deleted record now point to the merged "survivor# record.

    /or deleted rows, EIM sets TAME% E(A%$5AI( to the %$5AI( of the row that was merged into"the surviving row# and TA(E)ETE(A%$5AI( to the %$5AI( of the deleted base table row.

    UPDATE R()S 4 This parameter is necessaril+ to be set to T% E in case of Merge process. Itspecifies whether the foreign ke+ "or ke+s#, which references the merged rows, in the named tableneed to be ad-usted. Lalid values are T% E "the default# and /*)SE.

    [Merge Accounts]TYPE = MERGEBATCH = 1TABLE = EIM_ACCOUNTUPDATE ROWS = TRUE

    To set the value to /*)SE, the table name on which the parameter setting will act should bementioned.

    [Merge Accounts]TYPE = MERGEBATCH = 1TABLE = EIM_ACCOUNTUPDATE ROWS = S_ADDR_PER, FALSE

    EI can only be #sed to merge ro!s $rom target base tables and not secondarybase tables4 or e5ample/ EI 6ASSET can only be #sed to merge ro!s in targetbase table S6ASSET and not secondary base table S6ASSET6C(N4

    Note 4 /or more information, please refer Siebel ookshelf

    EIM Handbook Page: 13 of 47

  • 8/13/2019 EIM Handbook

    14/47

    Oracle

    + ,unning EIM

    The EIM !rocess consists of e2ecuting the following se@uence of steps4

    R#nning t"e EI ' The EIM !rocess can be run once the EIM Tables have been prepared, i.e. suitabl+populated, and the EIM configuration file has been accordingl+ written. The EIM process can beinitiated b+ running a server task for the Enterprise Integration Manager component. $n each pass,EIM processes one interface table and performs a particular action "IM!$%T, (E)ETE, E'!$%T,ME% E# on all rows in that table for that batch.

    There are two methods for running an EIM process4

    ( ) %unning an EIM !rocess sing the raphical ser Interface " I#( ) %unning an EIM !rocess sing the Command1)ine Interface

    Note 4 Transaction will be logged during EIM to s+nchroni0e mobile clients. (uring initial data loadsthe Transaction )ogging parameter should be set to /*)SE in the S+stem !references settings under*pplication *dministration, in order reduce transaction activit+ to the Siebel docking tables. $nce theinitial loads are complete it can be set back to T% E if there are Siebel Mobile 5eb Clients.

    EIM Handbook Page: 14 of 47

    Populate the column !n theInte"#ace$ EIM ta%le that a"e

    "e&u!"e' to loa' the S!e%el %a e ta%le

    ("!te$E'!t the EIM Con#!)u"at!on*IFB+ F!le to 'e#!ne the EIM P"oce

    to pe"#o"m

    RUN the EIM ,Su%m!t the EIM a aS!e%el Se"-e" Batch component ta .

  • 8/13/2019 EIM Handbook

    15/47

    Oracle

    +*1 -&ing t.e /ra0.ical -&er Inter(ace /-I

    The following screens shows how EIM can be run from I4

    EIM Handbook Page: 15 of 47

    Sta"t SIEBEL Cl!ent

    Na-!)ate to Ente"p"! eOpe"at!on /!e0 !n the Se"-e"

    A'm!n! t"at!on c"een

    Cl!c. the ComponentRe&uet -!e0 ta%

    In the ComponentRe&ue t #o"m1 a'' a

    ne0 "eco"'2

    In the Component$3 o% #!el'1 cl!c. theell!p ! %utton2 The Component$3 o%

    '!alo) %o4 appea" 2

    In the Component$3 o%'!alo) %o41 elect the

    Ente"p"! e Inte)"at!on M)"component an' cl!c. OK2

    Complete the "e to# the #!el' an'

    comm!t

    In the Component Re&ue tPa"amete" l! t1 a'' o" chan)e an5

    component pa"amete" #o" theEIM p"oce

    In the Component Re&uet #o"m1 cl!c. the menu %utton1an' then cl!c. Su%m!t "e&ue t

    EIM ta"te'

  • 8/13/2019 EIM Handbook

    16/47

  • 8/13/2019 EIM Handbook

    17/47

    Oracle

    3. -,, $ * ''a+ #a+a" t +' i$ !o"#o$ $t R %& 't Pa+a" t +' -##/ t.

    4. & "it t + %& 't f+o" !o"#o$ $t R %& 't fo+" " $&

    EIM Handbook Page: 17 of 47

  • 8/13/2019 EIM Handbook

    18/47

    Oracle

    The component re@uest parameters for running an EIM process are

    1. +atc" N#mber 4 This parameter is used for identif+ing the rows to be processed b+ the EIMprocess. Lalue B specifies the EIM process to use the batch number as specified in the EIMconfiguration file.

    2. Con$ig#ration $ile 4 This parameter names the configuration file to be used b+ the EIM process.This file should be placed in the *(MI: subdirector+ of the Siebel server.

    3. Error lags/ SQ% Trace lags and Trace lags 4 These parameters are used to specif+ whetherlogging of Error, S3) Statements and other EIM operations would be done in detail or in brief. *detailed discussion on the settings of these flags, and their effect on EIM performance can befound in the Error >andling Section of this guide.

    +*2 -&ing t.e Co and$'ine Inter(ace

    1. Start the srvrmgr program in the command1line interface.

    To start the srvrmgr program

    /or 5indows servers onl+4 at the ($S prompt, change to the Pbin subdirector+ within the Siebel Server root director+4

    cd \ siebel_server_root \bin

    Start the svrmgr program along with the parameters mentioned below4

    Para eter 4.at it &0eci(ie& S5nta6 (or

    4indo7&

    S5nta6 (or

    -NI8,e9uired

    gateway_server

    Net!or2 address o$ t"eSiebel

    ,ate!ay mac"ine g $g ;e&

    entrpr_server Siebel Enterprise Servername e $e ;e&

    siebel_server Siebel Server name 7t"ede$a#lt is all servers8 & $& No

    usernameSiebel Serveradministrator

    #sername u $u ;e&

    password Siebel Serveradministrator pass!ord 0 $0 ;e&

    EIM Handbook Page: 18 of 47

  • 8/13/2019 EIM Handbook

    19/47

    Oracle

    Sample synta5 $or r#nning t"e svrmgr !o#ld be'

    srvrmgr g g!"#$!%1 # #&"#r'r(s#1 s s#rv#r1 ) s!*m(& ' s!*m(&

    G. E2ecute a start task command or a run task command on the EnterpriseIntegrationMgr component.The Configuration file name needs to be specified here using the C(N I, parameter. The default

    path for the Configuration file would be in the *(MI: sub1director+ within the Siebel Server rootdirector+. If the Configuration /ile is paced in some other director+, the entire path of the .ifb fileneeds to be specified when starting the EIM component. If the .ifb file is not specified at all, then thede$a#lt4i$b configuration file will be used.Sample synta5 $or speci$ying t"e R#n Tas2 command'

    r)& "!s+ ,-r .-m'-&" #(m $("/ .-&,(g=(m'-r" (,

    EI is a m#lti-step process4 When the EIM process is running, the task should notbe interrupted 9 ot"er!ise/ some steps may not roll bac2 correctly

    :eri$y t"at Siebel ; database/ Siebel server7s8 are #p and r#nning and t"e ServerComponents li2e Server anager/ Server Re

  • 8/13/2019 EIM Handbook

    20/47

    Oracle

    This import order reflects most import processes. In some cases, the import order ma+ var+ slightl+depending on the re@uirements. * sample recommended order of importing could be found in theSiebel provided default ifb file.

    N(TE 4 *n e2ample of administrative data would be a )ist of Lalues for Currenc+ or Qip Code.

    < C.oo&ing t.e correct inter(ace table

    5hen migrating data to or from Siebel ase tables, one of the main tasks is to identif+ the Interfacetable that would be used in the EIM process. There are cases in which a base table can be loaded frommore than one EIM Interface tables. In such cases, the choice of interface table could optimi0e theEIM performance significantl+. %$5AI( and I/A%$5A *TC>A: M are mandator+ columns forEIM processing.

  • 8/13/2019 EIM Handbook

    21/47

    Oracle

    3HERE T1 TAR8ET_TBL_ID = T2 RO3_IDAND T1 NAME =44g(v# EIM T! 5# N!m# /#r#66ORDER BY T1 NAME:

    EI Table Selection to load ma5im#m base tables 1 5hen more than one related ase

    tables need to be populated, instead of selecting different EIM tables for each ase table, theoptimal choice would be an EIM table that would contain mapping to all the related asetables that need to be populated. The following @uer+ determines the ase tables that can beloaded from a particular EIM table4

    SELECT T1 NAME EIMT2 NAME BASE

    FROM S_TABLE T1S_TABLE T2S_EIM_TBL_MAP MAP

    3HERE T1 RO3_ID=MAP IF_TBL_IDAND T2 RO3_ID=MAP DEST_TBL_IDAND T1 INACTI7E_FL8=9N9

    AND T2 INACTI7E_FL8=9N9AND MAP INACTI7E_FL8=9N9AND T1 NAME =44g(v# EIM T! 5# N!m# /#r#66ORDER BY T1 NAME:

    /or e2ample, consider a situation where both the tables SA!*%TKA!E% andSA!$ST:AC$: need to be populated for storing relationships between an Emplo+ee and aposition. Since emplo+ee related data are usuall+ migrated using EIMAEM!)$KEE, thisinterface table would seem like an obvious choice. ut EIMAEM!)$KEE does not havemapping with SA!$ST:AC$:. So in this case we could

    i. )oad SA!*%TKA!E% using EIMAEM!)$KEE and SA!$ST:AC$: usingEIMAC$:T*CT.

    ii. *lternativel+, we could use onl+ EIMAC$:T*CT, since this interface table loadsboth SA!$ST:AC$: as well as SA!*%TKA!E%.

    The choice ii would be optimal since our purpose is getting solved using a single EIM table.

    EI Table Selection to load ma5im#m col#mns 1 *mong these Interface tables, select theInterface table that contains mappings to the ma2imum number of ase table columns. Theideal choice would be the interface table that would have mapping to all the base tablecolumns that have been identified for population.

    /or e2ample, the base table SAC$:T*CT can be loaded using both EIMAEM!)$KEE aswell as EIMAC$:T*CT. ut if our re@uirement indicates that a specific column, sa+,!%A>E)(A!$ST:AI( of SAC$:T*CT needs to be populated then we would have to chooseEIMAEM!)$KEE because EIMAC$:T*CT does not have mapping to!%A>E)(A!$ST:AI( column of SAC$:T*CT.>owever, if our re@uirement were to populate !%A!$ST:AI( of SAC$:T*CT, then wewould have to choose EIMAC$:T*CT and not EIMAEM!)$KEE becauseEIMAEM!)$KEE does not have mapping to !%A!$ST:AI( column of SAC$:T*CT.

    EIM Handbook Page: 21 of 47

  • 8/13/2019 EIM Handbook

    22/47

    Oracle

    owever, Siebel 7. .2 versions have made deletion of data from :otes tables, using a special EIM,EI 6N(TE6DE% . The EIMA:$TEA(E) interface table should onl+ be used to delete notes fromthe SA:$TEAR tables. To use it, users need to populate %$5AI(s of records to be deleted intocorresponding columns in the interface table and then use (E)ETE E'*CT to delete them.

    /or further details, please refer the Ot.er I&&ue& ,elevant to Note& Migration ' *tio$ of tNot 'DataMig+atio$G&i, .

    ed colu n&* "or e6a 0le? u0dating S@O,/@E8T*'OC 7ill notu0date S@ CCNT@POSTN* CCT@'OC N% S@O,/@#-*O,/@'OC*

  • 8/13/2019 EIM Handbook

    23/47

    Oracle

    SELECT *(s"(&." TBL NAME COL NAME

    FROM S_COLUMN COL S_TABLE TBL

    3HERE COL TBL_ID=TBL RO3_IDAND TBL NAME = 44g(v# B!s# T! 5# N!m# /#r#66AND COL USR_KEY_SE;UENCE IS NOT NULL:

    If the above @uer+ does not return an+ row, then that implies that the corresponding base table does nothave an+ user ke+.

  • 8/13/2019 EIM Handbook

    24/47

    Oracle

    database. %emote sers are assigned a uni@ue prefi2 when the+ are db1e2tracted. This value is alsostored in the SASS*AI( table on the local database.

    Suffi2 is generated using an internal algorithm handled b+ the source code. 5hen a new record iscreated through the user interface, the Siebel application reads the value of the current :S columnfrom SASS*AI( table and increments this value b+ a value more than D J for performance reasons,generall+ B. The client caches these fift+ potential %$5AI(s for future inserts. * new record enteredfrom the user interface ma+ result in man+ inserts to the underl+ing tables, depending on the businesscomponents used. 5hen the client disconnects, cached %$5AI(s are lost.

    The combination of the prefi2 and suffi2 generates a uni@ue rowAid.

    Since Siebel does not e2pose the algorithm behind generation of row ids, the %$5AI( generation isinternal to the EIM process. Therefore Siebel provides user ke+s to map to a uni@ue record in the basetable.

    (uring EIM, the EIM table columns, which map to the user ke+s of the base table, are populated withvalues so as to map to a uni@ue record. If that record is to be updated b+ EIM later, the same user ke+values have to be populated in the corresponding EIM table columns. $therwise, it will not resolveinto the correct base table record.

    /or e2ample, !E%S$:AI( and AI( constitute the user ke+s for SAC$:T*CT. The correspondingEIMAC$:T*CT columns are C$:A!E%S$:A I( and C$:A . 5hen a new record is imported inSAC$:T*CT using EIMAC$:T*CT, the C$:A!E%S$:A I( and C$:A should uni@uel+identif+ a Contact record. :ow, for updating some fields for this Contact using EIMAC$:T*CT,C$:A!E%S$:A I( and C$:A have to be populated with the same set of values that were usedduring the initial load in order to map to the same Contact record in the base table.

    Similarl+ while loading a child table, which references the row id of the master table, the EIM tablecolumns that map to the foreign1ke+ column of the child table must be populated in the same wa+ the

    user ke+s of the master table were populated.

    /or e2ample, SAC$:T*CTA'M is a child table of SAC$:T*CT. The column !*%A%$5AI( ofSAC$:T*CTA'M references the %$5AI( of SAC$:T*CT. SAC$:T*CTA'M is loaded b+EIMAC$:A(T). The columns of EIMAC$:A(T) that need to be populated to generate the!*%A%$5AI( of SAC$:T*CTA'M are C$:A , C$:A!E%S$:A I( and C$:A!%ILA/) .These EIM columns should be populated with the same set of values that were used to populate itsparent SAC$:T*CT record through EIMAC$:T*CT. :ote that though !%ILA/) is not a part ofthe user ke+ of SAC$:T*CT, but it is a re@uired column and is part of the foreign1ke+ mapping of itschild table.

    EIM Handbook Page: 24 of 47

  • 8/13/2019 EIM Handbook

    25/47

  • 8/13/2019 EIM Handbook

    26/47

    Oracle

    I 6R()6STAT Indicates Resol#tion

    IM!$%TA%E ECTE( * user1specified filter@uer+ failed for this row.

    The @uer+ specifiedusing the /I)TE%3 E%K parameterneeds to be anal+0ed andcorrected. The @uer+e2pression should be aself1contained 5>E%Eclause e2pression"without the 5>E%Eke+word# and should useonl+ un@ualified columnnames from the interfacetable or literal values"such as :*ME IS :$T: ))#.

    /$%EI :AOEK * re@uired foreign ke+column in the target tablecould not be resolved.

    $ne reason could be thatall the columns in theEIM table that map tothe foreign ke+ in thebase table have not beenpopulated.*nother reason could bethat the EIM tablecolumns mapping to theforeign ke+ column,resolve into a %$5AI(that is non1e2istent in the/oreign Oe+ table.

    !ICO)ISTAL*) ES * re@uired picklist value inthe target table could not beresolved. This error occursfor : )) or invalidbounded picklist values.

    The error could beresolved b+ ensuring thata picklist e2ists for thecolumn that is )$Lbounded. The valuebeing imported for thiscolumn corresponds toone of the values in thepicklist.

    EIM Handbook Page: 26 of 47

  • 8/13/2019 EIM Handbook

    27/47

  • 8/13/2019 EIM Handbook

    28/47

    Oracle

    I 6R()6STAT Indicates Resol#tion

    ( !A%EC$%(AI:AEIMAT ) Indicates that there are Gor more interface recordshaving the same user ke+values.

    To avoid this situation,anal+0e the input recordsbefore beginning theEIM task. If +ou findduplicate records, +oucan either combine theminto one record, orspecif+ a different batchnumber for the duplicaterecord. >

    :$:A :I3EA OEKS This error occurs if thereis more than oneSE%OEK, sa+UU asetable nameA DVV,UU asetable nameA GVV,etc. defined on a basetable. The particular EIMtable being used topopulate the base tableuses the secondSE%OEK but the userhas populated EIMcolumns corresponding tothe columns of the firstSE%OEK

    It is necessar+ to identif+the particular SE%OEKthat the EIM table usesand populate columnsmapping to thatSE%OEK uni@uel+. ?

    *M I $ S This error is usuall+encountered when thereare some columns in thease table, other than theuni@ue ke+ columns,which also need to beuni@uel+ populated foreach record. This isbecause of uni@ue inde2database constraintdefined on these columns.This error is alsoencountered whenattempting to run(E)ETE or ME% Eprocesses on records in thebase table with sameuni@ue ke+s but differentconflictAids.

    The workaround is toidentif+ all the columncombinations in the basetable, which participatein the different uni@ueinde2 constraints definedon it, and populate eachcombination uni@uel+. @

    EIM Handbook Page: 28 of 47

  • 8/13/2019 EIM Handbook

    29/47

    Oracle

    A*2 Error tracking 0roce&&

    Kes

    :o

    EIM Handbook Page: 29 of 47

    1. Query the appropriate interface tables forrows whose IF_ROW_BATC _!"#e$uals the batch nu%ber for the i%port.

    &. Chec' the (alue in IF_ROW_)TATcolu%n for all these rows

    Imported/Deleted/Exported

    /Merged

    *. +I# ,rocess issuccessful

    -. Chec' the (alue in theIF_ROW_)TAT colu%n

    . "sin/ the chart of possibleIF_ROW_)TAT (alues0 analye the

    possible cause of error

    2. Chec' the (alue of

    IF_ROW_)TAT_!"# colu%nin the +I# table

    3. )earch for the (alue in the +I#lo/ file for the current run

    4. This (alue correspon5s to a particularpass nu%ber in the +I# process0 an5 is

    lo//e5 in the +I# lo/ file in case of +rror

    6. "sin/ the 5escription in the +I# lo/ filecorrespon5in/ to the

    IF_ROW_)TAT_!"# (alue0 5e5uce thecause of the error

    En'

    Sta"t

  • 8/13/2019 EIM Handbook

    30/47

    Oracle

    The Step in the above illustration needs to be modified in case the particular EIM table is being usedto migrate data to more than one base table./or each base table, SA'KQ that the EIM table maps to there is a special temporar+ column in the EIMtable, called TA'KQAAST*. If the migration from the EIM table to the base table is successful then theTA'KQAAST* column is populated with B. $therwise, this column is populated with the pass numberin which the error occurred. So, if an EIM table maps to multiple base tables, in a particular batch, it isadvisable to check the individual TARAAST* column for each base table, instead of theI/A%$5AST*TA: M column which contains the result of the last migration "i.e. migration to thelast ase table mentioned in the I/ file for that EIM table for that particular batch#.

    /or e2ample, the table EIMA%ES! loads the base tables namel+ SA%ES!, SA*!!ALIE5A%ES!,SA!E%A%ES! and SA%ES!A . The four corresponding temporar+ columns in EIMA%ES! areTA%ES!AAST*, TA*!!LIE5%EAAST*, TA!E%A%ES!AAST* and TA%ES!A AAST*respectivel+. *fter running EIM to load an+ or all of these base tables, the temporar+ columns ma+assume an+ of the following values4"i# B4 The corresponding base table is successfull+ loaded"ii# : ))4 )oading of the corresponding base table was not desired"iii# :umerical Lalue4 Error occurred while loading the corresponding base table

    /or e2ample, as the screenshot below suggests, while loading SA%ES!, SA*!!ALIE5A%ES! andSA!E%A%ES! "SA%ES!A is not being loaded# through EIMA%ES!, the status of TA%ES!AAST*and TA*!!LIE5%EAAST* are 8B9 that is SA%ES! and SA*!!ALIE5A%ES! tables have beensuccessfull+ loaded. Since SA%ES!A is not loaded, the corresponding EIM columnTA%ES!A AAST* is : )). *n error "!*%TI*))KAIM!$%TE(# has occurred while loadingSA!E%A%ES! and the corresponding EIM column TA!E%A%ES!AAST* contains the particular passnumber at which the error occurred.

    Note 4 The numerical value corresponds to a particular pass number in the EIM process. The EIM logcan then be scanned to check what went wrong in that particular pass while loading the correspondingbase table.

    The )$ file "referenced in Step 7# for the current run can be found under the log sub director+ of theroot director+ of the Siebel Server. The detail1level of the description found in the )og /ile, depends

    EIM Handbook Page: 30 of 47

  • 8/13/2019 EIM Handbook

    31/47

    Oracle

    on the parameters set for Trace /lags, and Error /lags, when running the EIM task. The settings for thevarious flags will be discussed in details in the following section.

    The log can also be viewed from the I b+ following these steps4 :avigate to the Tasks screen. Click Task Info )og view tab. In the Tasks list, select the task for the EIM process.

    The log is displa+ed in the Task Info )og list.

    A*3 EIM Error and Trace "lag&

    The settings for the T%*CE /)* S, S3) T%*CE /)* S and E%%$% /)* S can be specifiedeither from the I or from the Command !rompt when starting an EIM task.

    If the EIM process is being run from the I, then the flags can be set in the C$M!$:E:T%E3 EST !*%*METE%S list in the C$M!$:E:T %E3 ESTS Liew of the Enterprise $perations

    Screen.

    EIM Handbook Page: 31 of 47

  • 8/13/2019 EIM Handbook

    32/47

    Oracle

    If the EIM !rocess is being run from the command prompt, then the flags can be set within thecommand for running the EIM task, as shown in the sample below4

    srvrmgr /g siebelserver /e AspireEnt7 ! /s "IE#E$"E%&E% /u sadmin /p sadmin /c 'run task (orcomponent eim with con(ig)**(ilename+i(b ,Error(lags)-,".l(lags) ,0race(lags)!'

    Note 4 Task parameters can override component1level event logging to create additional information inthe log. In Siebel, parameters can be set, from highest to lowest, at Enterprise, Server, Component(efinition, :amed Subs+stem, Sever Component and Task level. * parameter set at a lower level canoverride the same parameter set at a higher level.

    Error lags'+ setting the Error /lags to appropriate levels, a detailed e2planation of rows that were notsuccessfull+ processed, can be obtained.Setting the task parameter WError /lagsW F D can be used to write a detailed description of the cause ofeach error to the task log during processing.

    SQ% Trace lags'The S3) Trace flags parameter is used for logging S3) statements that make up the EIM task.Setting the S3) Trace /lags parameter to X creates a log of the summar+ S3) statements that make upthe EIM task. Since it dramaticall+ impedes EIM performance and created a large log file, hence thisoption is recommended onl+ for test environments. The lower values for S3) (ebug /lags "D, G, and# are used for logging at the $( C level.

    EIM Handbook Page: 32 of 47

  • 8/13/2019 EIM Handbook

    33/47

    Oracle

    Trace lags'Trace flags contain logs of various EIM processing steps. Siebel 7.2 onwards / Event %ogging needs tobe set for the EIM component, in order to activate Trace /lags.

    /or setting Event %ogging/ the following se@uence needs to be followed4

    Click the Server *dministration screen tab. /rom the Show drop1down list, select Component. Select Enterprise Integration Manager as the component. Click Component Event Configuration. !erform a @uer+ and enter the )og )evel values for the following4

    E:ENT T*PE %(, %E:E% :A%UES3) TracingS3) Summar+Task Configuration

    Component Tracing H

    Trace /lags are bit1based. *vailable Trace /lags include D, G, , X, and HG. To activate multiple traceflags, the Trace /lags parameter has to be set to the sum of individual trace flag numbers. /or e2ample,to log trace flags G and , the Trace /lags parameter needs to be set to .

    Setting Trace lags to 0'Setting the Trace /lags parameter to D creates a step1oriented log of the task. This can be used todetermine the amount of time EIM spends on each step of the EIM task, or for each interface tableprocessed.

    Setting Trace lags to 3'

    Setting the Trace /lags parameter to G creates a file log that traces all substitutions of user parameters.

    Setting Trace lags to >'Setting the Trace /lags parameter to creates a file log that traces all user1ke+ overrides.

    Setting Trace lags to 'Setting the Trace /lags parameter to X creates a file log that traces all Interface Mapping warnings.

    Setting Trace lags to =3'Setting the Trace /lags parameter to HG creates a file log that traces all file attachment status. The tracefile contains four labels, three of which are used to trace file attachment processes as described.

    %A+E% DESCRIPTI(N*ttachment Imported Indicates whether the file attachment was encoded, compressed, and

    copied to the Siebel file server with the new name

    *ttachment "$ld# (eleted This label applies onl+ to updates and indicates whether an e2isting filewas replaced and deleted

    *ttachment :ot /ound Indicates that the file attachment cannot be found in the input director+

    EIM Handbook Page: 33 of 47

  • 8/13/2019 EIM Handbook

    34/47

    Oracle

    Activating $lags !ill "ave a direct negative e$$ect on per$ormance since/ sincea lot o$ in$ormation !ill be recorded in t"e log $ile4

    Typically/ activating $lags s"o#ld only be done !"en testing EI processes/ ands"o#ld be avoided in a prod#ction environment #nless absol#tely necessary4

    B %ata %e0endencie& in I"# "ile&

    In a t+pical data migration application using EIM, the I/ file contains a large number of sub1processes, which are called from the main process "S>E))#. $ften while running the EIM process,there are situations, when we would like to run onl+ a sub set of these processes. Such situationsnormall+ arise in testing environments, when we prefer running onl+ those processes for which testingneeds to be performed.

    /or e2ample consider a section of a t+pical I/ /ile, which includes the following processes.

    ;Import !osition F DDDBBBBB1DDDBBBBT* )E F EIMA!$SITI$:$:)K *SE T* )ES F SA!*%TK, SA!$ST:

    ;Import !osition $rgani0ation F DDGBBBBB1DDGBBBBT* )E F EIMA!$SITI$:$:)K *SE T* )ES F SA!*%TK, SA*CC:TA!$ST:

    SE I:(E' >I:TS F T% EI:SE%T %$5S F SA!*%TK, /*)SE!(*TE %$5S F SA!*%TK, /*)SE

    ?RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR? IM!$%T?RRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRR

    ;Import Ever+thingE))

    I:C) (E F WImport $rgani0ationWI:C) (E F WImport $rgani0ation *ddressWI:C) (E F WImport $rg1*ddress %elationshipW

    I:C) (E F WImport !ositionW

    EIM Handbook Page: 34 of 47

  • 8/13/2019 EIM Handbook

    35/47

    Oracle

    I:C) (E F WImport !osition $rgani0ationWI:C) (E F WEmplo+ee !osition %elW

    Suppose, the logic for migrating !osition $rgani0ation relationship has undergone some change.>ence the Import !osition $rgani0ationN !rocess needs to be tested. So, in the I/ file we commentout all other processes and keep onl+ INC%UDE B Import Position (rgani ation uncommented.5e delete the records in the SA*CC:TA!$ST: table, which stores the !osition $rgani0ation%elationship, and then run the EIM process. This works fine.>owever, suppose the logic for migrating !osition data has undergone some change, which is wh+ theImport !ositionN !rocess needs to be tested. ut in this case, if we comment out all other processesand run the EIM onl+ for Import PositionF , after deleting records from SA!*%TK and SA!$ST:,then the !osition $rgani0ation relationship data records would become orphans. Similarl+, records inall other tables, which have a foreign ke+ relationship with SA!$ST:, would become orphan records.This is because ever+ time we delete a ase table "either manuall+ or through EIM#, and then run theEIM process to migrate records into it, SIE E) generates new %$5AI(s for each of these records.>ence the foreign ke+ reference that other tables have with this record would be lost.

    >ence the thumb rule that should be followed is4

    5hen testing data migration for a Master table "which has foreign ke+ relationship with one ormore child tables#, run the EIM process not onl+ to import the Master table records, but also toimport records to all tables that have foreign ke+ relationship with the !arent table.

    In our e2ample, therefore if we need to test the migration of !osition Master records intoSA!$ST:, we would need to run the EIM process for Import PositionF , WImport Position(rgani ation and Employee Position Rel to ensure that foreign ke+ references are not lost.

    1 I&&ue& 4.ile Migrating Organi>ation %ata

    1 *1 Po0ulating t.e @#- colu n

    T&E SCENARI('

    *s alread+ known, $rgani0ation data are stored in the Siebel ase Table SA . %ecords in otherentities maintain their relationship with $rgani0ation, through the foreign ke+ column AI( whichreferences the %$5AI( of SA .In order to migrate the relationship of different ase Tables with SA , using EIM, there are twocolumns in the EIM table which need to be populated4 A Column and A I column. /or e2ample, in

    SAC$:T*CT table, the column AI( maps to the C$:A and C$:A I columns in the EIM tableEIMAC$:T*CT. $f these two columns / it is necessary to pop#late only t"e 6+U col#mn !it" t"e(rgani ation name , before running the EIM process. This is because the 6+I col#mns !ill bea#tomatically pop#lated by t"e EI process based on the value in A columns.>ence in the previous e2ample, it is necessar+ to populate onl+ the C$:A column inEIMAC$:T*CT, with the $rgani0ation corresponding to each contact. The C$:A I column will beupdated automaticall+ with the %$5AI( of the particular $rgani0ation in SA , as part of the EIMprocess.

    EIM Handbook Page: 35 of 47

  • 8/13/2019 EIM Handbook

    36/47

    Oracle

    T&E ISSUE'

    *lthough the above scenario generall+ holds true, however it has been noticed that the $rgani0ationfields in some of the EIM tables are mapped directl+ to the relevant RA I column rather than therelevant RA column. In such cases, the $rgani0ation columns in the Siebel ase tables cannot beresolved b+ populating the RA columns onl+. /or some columns, the RA column e2ists but is notused. Instead, EIM erroneousl+ maps directl+ the RA I column. This means that for relevant RAcolumns, the appropriate organi0ation is not set.Appendi5 A contains a list of all EIM tables, which contain the above1mentioned erroneous mapping.

    T&E )(R1AR(UND'

    To work around the issue the following steps need to be followed. ;

    1. Manuall+ populate the relevant RA I column within the EIM Interface Table with correctvalue using the following S3) @uer+4

    %& +TE SIE'EL

  • 8/13/2019 EIM Handbook

    37/47

    Oracle

    2. $nce the RA I column has been populated, the EIM process can be run as usual.

    1 *2 C.oo&e bet7een %e(ault Organi>ation and ot.er Organi>ation&

    (epending on the re@uirement, there ma+ be one or more organi0ations in a Siebel application. /ormultiple organi0ation setups, one of the organi0ations is designated as the primar+ organi0ation.

    I$ i / -##/i*atio$' v +'io$ 6. O+ga$i:atio$' a$, Divi'io$' a+ 'to+ , i$ ORG INT Ta / . T; ID !o/&"$ i$ ORG INT Ta / + f +' to t O+ga$i:atio$ to ( i* a Divi'io$ /o$g'.

    I$ i / -##/i*atio$' < +'io$ 7 ORG INT ta / *o" ' o 'o/ t . To#=/ v / O+ga$i:atio$' av$ "ov , to a $ ( Ta / ; a$, t ORG EXT ta / *o$tai$' +o(' fo+ a**o&$t' ,ivi'io$'

    a$, o+ga$i:atio$'. Nat&+a// o$ (o&/, t i$ t at ; ID !o/&"$ i$ ORG EXT ta / (o&/, 'to+t O+ga$i:atio$ to ( i* a Divi'io$ /o$g'. o( v + P-R ; ID !o/&"$ of ORG EXT Ta /'to+ ' t O+ga$i:atio$ to ( i* a Divi'io$ /o$g' to a$, ; ID !o/&"$ i' fo+ O+ga$i:atio$a/vi'i i/it ( i* + f +' to D fa&/t O+ga$i:atio$ &$/ '' it + f +' to a$ot + to# / v / O+ga$i:atio$ #+ ' $ti$ ; .

    >o+ a$ -**o&$t it' o+ga$i:atio$ i' 'to+ , i$ t ORG EXT.; ID *o/&"$.

    >o+ a Divi'io$ o+ O+ga$i:atio$ it' ;&'i$ '' $it i' 'to+ , i$ t ORG EXT.P-R ; ID *o/&"$? it$ v + &' t ORG EXT.; ID *o/&"$ t &' t ORG EXT.; ID *o/&"$ i' , fa&/t , to @0=R9N @ A( i* + f + $* ' D fa&/t O+ga$i:atio$B.

    C i/ i"#o+ti$g Po'itio$' t +o&g EIM PO TN Ta / a/'o a' a ; ID !o/&"$. T i' *o/&"$'to+ ' t O+ga$i:atio$ i$fo+"atio$ to ( i* t Po'itio$@' Divi'io$ /o$g'. I$ ot + (o+,' i$ i /

    -##/i*atio$ < +'io$ 7 PO TN.; ID + f +' to t 'a" O+ga$i:atio$ a'ORG EXT.P-R ; ID A$ot ; IDB of t Divi'io$.

    1 *3 'oading o( S5ndicated %ata

    $,i*at , Data fi/ ' a+ t +$a/ fi/ ' ( i* a+ /oa, , t +o&g EIM. It (i// atta* " $t' a$, ->fi/ ' i$ t fi/ ' 't "'.

    In Siebel 7. .2, if we have .S*/ files in /ile S+stem of Siebel Installation Environment, we can runEIM e2port and the original attachment files will be available in the $ T! T folder of Siebel Server.ut for Siebel .2, this does not happen. *nd this is a Siebel !roduct defect.

    /or Siebel .2, we have to uncompress the .S*/ files with the help of one utilit+ program, calledSSE :QI!.E'E, which resides in I: director+ of Siebel Server.

    /or migration of attachment record and to generate new S*/ files, we need to keep all the files "with

    actual e2tension# in I:! T folder of the Siebel 7 Server. Then we have to load EIM table with propersets of values.

    $nce EIM is loaded, we have to run EIM batch. 5hen the EIM batch is run for loading base tables, theEIM process itself will search for the attachment files in the I:! T director+ and create one S*/ foreach attachment file in the /ile Server *ttachment director+ PPsea7 GPsiebfile7 HPatt.

    /or further details, please refer to the *ttachmentMigration uide.

    EIM Handbook Page: 37 of 47

  • 8/13/2019 EIM Handbook

    38/47

    Oracle

    11 EIM Per(or ance Tuning

    The performance of EIM depends on a number of factors. The database considerations and businessrules&constraints are out of the scope of this document. The focus is more on providing a guideline,based on practical e2perience, which can effectivel+ improve the performance of the EIM process.

    $nce the interface tables are loaded with data "e2cept for E2port#, the EIM process is invoked. EIMmakes multiple passes through the tables to complete the specified process.

    $ne wa+ of optimi0ing the EIM process is to organi0e the ifb file in an optimum mode and specif+correct parameters in the ifb file. This can be discussed under the following broad headings4

    (N%* +ASE TA+%ES or I,N(RE +ASE TA+%ES parameters

    * single EIM table is mapped to multiple base tables. It is highl+ recommended to alwa+s includethese parameters in ever+ section of the I/ file, and list onl+ those tables and columns that arerelevant for a particular EIM task.

    (N%* +ASE C(%U NS or I,N(RE +ASE C(%U NS parameters

    Since the default is to process all base columns for each base table providing these parameters willensure that EIM is onl+ processing the desired columns in the table. !erformance gain will beperceptible if the foreign ke+s columns are omitted out J since EIM will not need to perform theinterim processing "via S3) statements# to resolve the values for these foreign ke+s.

    Separating INSERT and UPDATE (perations

    If possible, it is alwa+s better to separate the Inserts and pdates in separate batches. EIM has toperform additional processing "via S3) statements# to determine whether to update or insert. *lso,since the number of columns processed during update is lesser, it also acts as a performance boosterduring EIM.

    USE INDE. &INTS parameter #sage

    If this parameter is /*)SE, EIM will not generate hints during processing. !erformance gains can bereali0ed if there are hints being generated that direct the database optimi0er to use less than optimalinde2es. This parameter is onl+ applicable for $racle and S3) Server databases.

    EIM processing should be tested with both settings to determine which provides better performancefor each of the respective EIM -obs.

    Additional inde5es on EI tables

    EIM Handbook Page: 38 of 47

  • 8/13/2019 EIM Handbook

    39/47

  • 8/13/2019 EIM Handbook

    40/47

    Oracle

    function for the new or updated data. *lso the triggers should be reapplied after completing the EIMload.

    Parallel E5ec#tion o$ EI

    *fter appl+ing all the possible optimi0ation strategies, if the EIM throughput is to be increased,running EIM concurrentl+ can be considered. It should be ensured that the concurrentl+ running EIMprocesses should be mutuall+ e2clusive. The Ma2imum Tasks parameter should be checked beforerunning parallel EIM processes.

    (ptimi ing SQ%

    %unning an EIM -ob with the following flag settings4 Error flag F D, S3) flag F X, and Trace flag F Hwill produce a log file containing S3) statements and how long it took for each statement. The S3)statements that are taking too long "on a run of BBB rows in a batch, look for statements that tooklonger than one minute#, tuning measures can be taken to optimi0e the @ueries.

    UPDATE PRI AR* 1E*S and PRI AR* 1E*S (N%* parameter #sage

    The !%IM*%K OEKS $:)K parameter should be eliminated and !(*TE !%IM*%K OEKSparameter should be avoided in the I/ configuration file.

    Reg#lar Table aintenance

    /re@uent insert or delete operations on interface tables can cause fragmentation in the table. %egulartable maintenance b+ the database administrator on the interface tables will correct fragmentation

    problems in the EIM interface tables. *lso, if the data dictionar+, metadata information and statisticsare updated for the database, EIM takes shorter time to e2ecute. /or e2ample,

    ANALY

  • 8/13/2019 EIM Handbook

    41/47

    Oracle

    *s a starting point, it is recommended to set the Error /lagFD, the S3) flag FD, and the Trace/lagFD. This setting will show errors and unused foreign ke+s. Setting the Trace /lagsFD willprovide a summar+ "after each batch# of the elapsed time in step numbers DB and DD.

    Set Error flag F D, the S3) flag F X, and the Trace flag F H. These settings will produce a logfile with S3) statements that include how long each statement took, which is ver+ useful foroptimi0ing S3) performance.

    Set the Error flag F B, the S3) flag F B, and the Trace flag F D. These settings will produce alog file showing how long each EIM step took, which is useful when figuring out the optimalbatch si0e as well as monitoring for deterioration of performance in a particular step.

    *ctivating flags will have a direct negative effect on performance since, depending on the amount ofdata, a lot of information will be recorded in the log file. T+picall+, activating flags should onl+ bedone when testing EIM processes. *ctivating flags in a production environment should be avoidedunless absolutel+ necessar+.

    %efer Appendi5 + for a sample performance metrics chart of a tuned and optimi0ed EIM process.

    12 ,e(erence

    *) Siebel 7 ookshelf +) EIM*dm.pdf,) IT%SI*.pdf) Siebel Support5eb "S% = /*3#

    0!lease refer to Service %e@uest Z4 12=12 6 F for further details.

    3

    !lease refer to Service %e@uest Z4 HX17 B D.=!lease refer to Service %e@uest Z4 12=19 X5N and /*3 D for further details.

    > The difference between ( !A%EC$%(AE'ISTS and ( !A%EC$%(AI:AEIMAT ) is following4( !A%EC$%(AE'ISTSN status indicates that the same record alread+ e2ists in the base table and( !A%EC$%(AI:AEIMAT )N status indicates that there are G or more interface records having thesame user ke+ values. /or reference see Service %e@uest Z4 HX1 B D

    ? !lease refer to Service %e@uest Z4 HX1DGD H X7 for more specific details.

    @ !lease refer to Service %e@uest Z4 HX17D XB X D for more specific details.

    ; !lease refer to Siebel *lert G 7 for further details.

    !lease refer to Service %e@uest Z4 HX1 BD 7 D, HX1 GBGG G D, HX1DG HBD D and HX17 XGB Dfor further details for further details.

    G!lease refer to /*3 Z4 DB 7 for further details.

    EIM Handbook Page: 41 of 47

  • 8/13/2019 EIM Handbook

    42/47

    Oracle

    13 00endi6

    EIM Table ((ected Colu n

    EIM >N -!!NT1 PO PROD ;I

    EIM >N - GNGRP TERR PROD ID

    EIM >N - ET - T PROD ;I

    P-R PROD ;I

    POLI! PROD ;I

    EIM >N - ET1 - T PROD ;I

    - T - T PROD ;I - T !ON ;I

    - T !ON EMP ;I

    - T PROD ;I

    REL PROD ;I

    EIM >N - ET 10 - T PROD ;I

    !

  • 8/13/2019 EIM Handbook

    43/47

    Oracle

    EIM >N - ET4 - T PROD ;I

    DO! - T PROD ;I

    DO! !ON ;I

    DO! !ON EMP ;I

    EIM >N - ET5 - T PROD ;I

    D - T PROD ;I

    D !ON ;I

    D !ON EMP ;I

    EIM >N - ET6 - T PROD ;I

    EIM >N - ET7 - T PROD ;I

    EIM >N - ET8 - T PROD ;I

    EIM >N - ET9 - T PROD ;I

    TX>R PROD ;I

    EIM >N !ONT-!T3 P! PROD ;I

    EIM >N LDNG - T PROD ;I

    LD PROD ;I

    EIM >N LT N!TR EN!TR PROD ;I

    EIM >N IN !LM1 !LM PROD ;I

    -!T PROD ;I

    EIM >N IN !LM5 !LM PROD ;I

    EIM >N IN ITM1 ITM PROD ;I

    EIM >N IN ITM2 ITM PROD ;I

    EIM >N IN ITM3 ITM PROD ;I

    PITM - T PROD ;I

    ITM !ON ;I

    PITM !ON EMP ;I

    EIM Handbook Page: 43 of 47

  • 8/13/2019 EIM Handbook

    44/47

    Oracle

    EIM >N OPT PRD1 -!!NT PROD ;I

    ! T PROD ;I

    EIM >N OPT PRD2 PROD PROD ;I

    EIM >N OPT PRD3 PROD PROD ;I

    EIM >N OPT PRD4 PROD PROD ;I

    EIM >N P- EE2 -!!NT PROD ;I

    EIM >N PRDINT1 P-R PROD ;I

    PROD ;I

    EIM >N REPL ITM PROD ;I

    P- PROD ;I

    EIM R

  • 8/13/2019 EIM Handbook

    45/47

    Oracle

    1! 00endi6 #

    Ti e E&ti ate (or Siebel Initial %ata 'oad (ro Siebel EIM Table& to Siebel #a&e Table&

    Ste0& Involved EIM Table #a&e Table & E&ti atedDolu e

    E&ti ated,ecord&

    Per Minute

    E&ti atedTi eMin

    E&ti atedTi e%a5&

    'ODLi't of

  • 8/13/2019 EIM Handbook

    46/47

    Oracle

    Ste0& Involved EIM Table #a&e Table & E&tDolu e

    E&t ,ecord&Per Minute

    E&tTi eMin

    E&t Ti e%a5&

    Practitioner

    P+a*titio$ +'Aa a i /P+ovi, +B

    EIM !ONT-!T P-RT!ONT-!TPO TN !ON!ONT-!T ;

    145 951 2 308 63.2 0.04

    P+a*titio$ + -,,+ '' ' Aa a

    i / P+ovi, +B

    EIM -DDR PER -DDR PER 291 902 14 038 20.8 0.01

    P+a*titio$ +# *ia/t Aa ai / P+ovi, +B

    EIM >N !ONT-!T2 !ONT-!T >NXM 21 964 750 29.3 0.02

    P+a*titio$ +Lo*atio$+vi* ' Aa ai / P+ovi, +B

    EIM >N !ONT-!T2 !ON LO!TN 161 727 2 733 59.2 0.04

    P+a*titio$ +!+ , $tia/' Aa ai / P+ovi, +B

    EIM !ONT-!T XM !ONT-!T XM 117 926 21 427 5.5 0.00

    !o""o$P+a*titio$ +'Aa a i /P+a*titio$ +B

    EIM !ONT-!T P-RT!ONT-!TPO TN !ON!ONT-!T ;

    112 297 1 070 105.0 0.07

    >a*i/it -ffi/iatio$'

    EIM >N -!!NT1 P-RT PER 22 092 5 165 4.3 0.00

    N t(o+ -ffi/iatio$'

    EIM >N -!!NT1 P-RT REL 3 388 9 376.4 0.26

    P+a*titio$ + -ffi/iatio$'

    EIM >N -!!NT1 P-RT PER 22 092 11 755 1.9 0.00

    Me ber&M " +' EIM >N !ONT-!T1 P-RT 1 716 523 2 322 739.2 0.51M " +' -'' t' EIM - ET - ET !ON 4 488 622 6 808 659.3 0.46M " +' D tai/' EIM !ONT-!T P-RT

    !ONT-!TPO TN !ON!ONT-!T ;

    1 716 523 1 898 904.4 0.63

    M " +H & '*+i+'

    EIM -!!O NT P-RT REL 969 500 1 164 832.9 0.58

    M " +P!PH t&, $tH a$,i*a#

    EIM !ONT-!T XM !ONT-!T XM 96 761 1 989 48.6 0.03

    M " +'=!O; EIM >N IN !O; >N IN !O; 14 = =M " +'=!O;!o$ta*t'

    EIM >N IN !O; >N IN !O; !ON 15 = =

    M " +' -,,+ '' '

    EIM -DDR PER -DDR PER 969 499 11 930 81.3 0.06

    Clai &!/ai"' EIM >N IN !LM1 IN !L-IM

    IN !LM PO TNIN !LM ;

    1 533 128 584 2 625.2 1.82

    !/ai"' P+ovi, + EIM >N IN !LM1 IN !L-IMIN !LM ORGIN !LM PO TNIN !LM ;

    3 066 256 1 200 2 555.2 1.77

    !/ai"' !o$ta*t' EIM >N IN !LM7 IN !LM !ON 3 066 256 2 274 1 348.4 0.94!/ai"' Pa " $t EIM >N R!P- R! P- MENT

    R!P- IN !LM1 161 230 2 059 564.0 0.39

    Clai %etail&!/ai"' Li$It "'

    EIM >N IN !LM3 IN !L-IM XM 4 134 315 1 800 2 296.8 1.60

    EIM Handbook Page: 46 of 47

  • 8/13/2019 EIM Handbook

    47/47