eim training

Upload: angela-chapman

Post on 02-Jun-2018

331 views

Category:

Documents


2 download

TRANSCRIPT

  • 8/10/2019 EIM Training

    1/38

  • 8/10/2019 EIM Training

    2/38

    Objectives After completing this module you will be able to:- Describe the basic concepts of EIM

    - Understand Data Model- Write Configuration Files (IFB)- Execute EIM task and analyze the result

    Why you need to know- To successfully import external data into the Siebeldatabase

  • 8/10/2019 EIM Training

    3/38

    Enterprise Integration Manager (EIM) Server task that manages exchange of data between external data in

    interface tables and user data in base tables

    SiebelServer

    S_ORG_EXT

    S_ADDR_ORG

    EIM_ACCOUNT

    EIM

    Externaldata

  • 8/10/2019 EIM Training

    4/38

    Why EIM ?Import , Exports, Deletes and Merges large amounts ofdataSiebel Systems does not support using native SQL to

    load data directly into Siebel Base tables

    Maintains Referential Integrity, by resolving ROW_IDsfor base tables.

  • 8/10/2019 EIM Training

    5/38

  • 8/10/2019 EIM Training

    6/38

    Different Types of Tables Involved

    in EIMInterface Tables (EIM_ )Base Tables

    a). S_ tablesb). CX_ tables (Custom Extension Tables)

  • 8/10/2019 EIM Training

    7/38

    Interface Tables (EIM tables)Interface tables store external data inside the Siebel databaseStaging area for data to be imported, updated, or merged into base tables via EIMStaging area for data exported by EIMStaging area for data to be deleted in the base table using EIMs deletefunction

    EIM_ACCOUNT

    S_ORG_EXT

    S_ADDR_ORG

    Externaldata

    Interface Table

    Base Tables

  • 8/10/2019 EIM Training

    8/38

    EIM table Mandatory ColumnsROW_ID- Should be unique in one table.

    IF_ROW_STAT

    - Usually used status before EIM task is FOR_IMPORT. But technicallyit can be populated with anything (varchar, 30) before running the EIMtask. EIM identifies records to be processed based on Batch Numberand not based on status.- On starting EIM task, EIM sets it first to status IN_PROGRESS.- Based on the success or failure of the EIM process, EIM sets differentstatuses. More info about different statuses is available in SiebelbookshelfIF_ROW_BATCH_NUM- Each record should have a batch number based on which it is takenup for EIM processing.- Optimum number of records in one batch is 5000.

  • 8/10/2019 EIM Training

    9/38

    Mandatory Columns- continued. IF_ROW_STAT_NUM- can be populated with any number before EIM task

    - After EIM, if the record is successfully processed it will be set to 0. - If EIM fails, this column will be set to the EIM pass at which it failed.

  • 8/10/2019 EIM Training

    10/38

    Base Table ROW_ID, User Keys,

    Foreign KeysROW_ID of a record is unique in a base table.- Note :-a). A UI created records ROW_ID has format # - ### and an EIMcreated records ROW_ID has format # - ## - ###b). ROW_ID can be same for two records in two different tables. Forex:- S_USER and S_CONTACT.

    User Keys of a base table

    - One column or a combination of columns which should be unique forthe records of a particular base table.- Identifies records of a base table.- ROW_ID is not part of this

  • 8/10/2019 EIM Training

    11/38

    To find User key columns from

    Tools

    List of User Keys columnsfor a table S_CONTACT

    User Key

  • 8/10/2019 EIM Training

    12/38

    Base table - Foreign Key ColumnColumn in one base table which stores ROW_ID of arecord in another table.

    Foreign key column (stores theROW_ID of S_USER)

  • 8/10/2019 EIM Training

    13/38

    EIM Table MappingTo find EIM table for a Base table.

  • 8/10/2019 EIM Training

    14/38

  • 8/10/2019 EIM Training

    15/38

    To Create EIM table Mapping

  • 8/10/2019 EIM Training

    16/38

    EIM Column Mappings Attribute MappingEach Base Column can have corresponding EIM Columnexists in EIM Table (one-one mapping).

    Foreign Key MappingEach Base column should have a combination of EIMColumns exists in EIM Table.Each and every foreign key column should have a T_ columnsexists in EIM table. These T_ columns are required forinternal processing. After the EIM Process, these T_ columns will be populated with the ROW_ID of the Base table

    Explicit Primary Mapping We use this, when we require to map any one of the valuesfrom the list of values. We can use this incase of settingPrimary values. (like primary position)

  • 8/10/2019 EIM Training

    17/38

    Attribute MappingNon foreign key columnsOne to one mapping

    Attribute Mapping (one-one mapping

    Attribute Mapping

  • 8/10/2019 EIM Training

    18/38

    Attribute Mapping Continued ExampleLets consider EIM_CONTACT table with following valuesROW_ID CON_FST_NAME CON_LAST_NAME1000 SURAIZ AHAMED1001 JOSEPH THOMAS

    1002 PRAJITH PRAHASAN

    EIM (Attribute) mapping can exists asS_CONTACT.LAST_NAME = EIM_CONTACT.CON_LAST_NAMES_CONTACT.FST_NAME = EIM_CONTACT.CON_FST_NAME

    After EIM Process, values in S_CONTACT asROW_ID FST_NAME LAST_NAME

    1-RVS-01 SURAIZ AHAMED1-RVS-02 JOSEPH THOMAS1-RVS-03 PRAJITH PRAHASAN

    The values in the EIM columns gets populated into itscorresponding base column.

  • 8/10/2019 EIM Training

    19/38

  • 8/10/2019 EIM Training

    20/38

    Foreign Key Mapping Continued Base table column gets resolved from more than oneEIM table columns.

    Combination of EIM columns toresolve EMP_ID

  • 8/10/2019 EIM Training

    21/38

    Foreign Key Mapping Continued

    User Key attributes corresponding tothe EIM columns

  • 8/10/2019 EIM Training

    22/38

  • 8/10/2019 EIM Training

    23/38

    Foreign Key Mapping Continued Foreign key will not get resolved if the corresponding columns are not populatedcorrectly.But EIM process can show success status even if one foreign key column is not resolved.Depends on whether the column is defined as required at the table level or not.EIM record status will be PARTIALLY_IMPORTED or FOREIGN_KEY if a required

    foreign key column is not resolved.Example:In S_USER Table, let say we have two records with the following values

    ROW_ID LOGIN1-FXY-01 SURAIZ1-FXY-02 JOTHO

    In EIM_CONTACT table, we have two records with following valuesROW_ID CON_EMP_LOGIN T_CONTACT_EMP_ID1000 SURAIZA NULL

    1001 JOTHO NULLEMP_ID will resolve only for the second record since user key matches and will not resolve for the first record.S_USER.LOGIN = EIM_CONTACT.CON_EMP_LOGIN After EIM Process the T_ column T_CONTACT_EMP_ID will be populated as NULL and 1 -FXY-02 In S_CONTACT, EMP_ID will be populated as

    ROW_ID EMP_ID1-R8B-01 NULL1-R8b-02 1-FXY-02

  • 8/10/2019 EIM Training

    24/38

    Explicit Primary MappingPrimary foreign keys are used to point from a parentbase table to a child base table.

    Explicit Primary Mapping

    S_EVT_ACT.OWNER_PER_ID

    Explicitly mentioning theprimary (flag)

  • 8/10/2019 EIM Training

    25/38

    Explicit Primary Mapping

    Continued Example:Consider an Activity A1 exists in S_EVT_ACT. We need to populate thecolumn OWNER_PER_ID (Owner for an activity)

    ROW_ID ACTIVITY_UID OWNER_PER_ID1-S7V-01 1-10LEMY NULL

    Consider we have 3 employees associated to that Activity A1. We have the values in EIM Table asROW_ID EMP_EMP_LOGIN ACT_ACTIVITY_UID EMP_OWNER_PER1000 JOTHO 1-10LEMY Y 1001 PRAKOP 1-10LEMY N 1002 ANIL 1-10LEMY N

    Now S_ACT_EMP Table can have three records with values.ROW_ID EMP_ID ACTIVITY_ID

    1-D4V-01 1-FXY-02 1-S7V-011-D4V-02 1-FXY-03 1-S7V-011-D4V-03 1-FXY-04 1-S7V-01

    Now only one employee should be an owner for that activity. Value inS_EVT_ACT table is as follows:

    ROW_ID ACTIVITY_UID OWNER_PER_ID1-S7V-01 1-10LEMY 1-FXY-02

  • 8/10/2019 EIM Training

    26/38

  • 8/10/2019 EIM Training

    27/38

    Populating Data into EIM Table DTS Continued..

  • 8/10/2019 EIM Training

    28/38

    Ifb - Configuration File.EIM reads a configuration file that specifies the EIM Process to perform (Import, update, merge, delete or export)Parameters used in ifb:

    General header parameters

    General Process parametersSpecific process parameters Viz., Import, Export, Merge, Delete or Export

    General Header Parameters:CONNECT ODBC Source name to connectLOG TRANSACTIONS TO FILE TRUE (Default)

    PASSWORD Database password for the process to be runPROCESS Identifies the process which EIM invokes[Siebel Interface Manager] This name should be mentioned in the headerTABLEOWNER Database logon name that owns the tablesUSERNAME Database LOGON Name for the process to be run

  • 8/10/2019 EIM Training

    29/38

    Ifb - Configuration File

    Continued General Process parameters :BATCH Required. Specifies the Batch number for the process to be run.COMMIT EACH PASS Optional. Commit after each EIM Process. (TRUE)COMMIT EACH TABLE Optional. Commit after each base table. (TRUE)

    IGNORE BASE TABLES Optional. Do not process these tables.LOG TRANSACTIONS Optional. EIM Logs the changes when the mobile clientsynchronizes.TABLE Required. Specifies the name of the EIM Table.TYPE Required. This specifies the type of process being defined.

    Points to Remember:Lines that begin with a semicolon (;) are comment lines and are ignored.Multiple lines are distinguished by back slash (\). This denotes the continuation. When the back slash is followed by a space, EIM interprets the space character as

    escaped, and the new line character then terminates the parameter definition. This can generate an error message indicating the parameter definition is incomplete.

  • 8/10/2019 EIM Training

    30/38

  • 8/10/2019 EIM Training

    31/38

    Executing an EIM TaskSteps in running an EIM ProcessPreparing to Run an EIM ProcessRunning an EIM Process Viewing the EIM Log file

    Optimizing EIM PerformancePreparing to Run an EIM Process :

    Identified the data for EIM ProcessPrepared the related EIM TablesModified the EIM Configuration file accordingly

    Running an EIM Process :Running using Graphical User Interface (GUI)1. Navigate to Administration Server Management > Jobs > New Job2. Choose the Enterprise Integration Manager Component3. Mentioning Job Parameters List4. Start the EIM Process. First it will be in Queued state and then moved to Activeand then success upon successful completion.

  • 8/10/2019 EIM Training

    32/38

    Executing an EIM Task

    Continued Running an EIM Process using Command Line Interface (CLI)1. Start the Server Manager in the command line interface2. Execute a start task command

    Example :srvrmgr /e ent_db /g osl241 /u SADMIN /p SADMIN /s osl241 /c"run task for component EIM with config =

    'D:\sea78\siebsrvr\ADMIN\DM\0110_EIM_PROJ_ACTIVITY_UPD.ifb',sqlflags=8,errorflags=1,traceflags=1

    Point to Remember:EIM is a multi step process. Once the EIM process is running, do not

    stop or pause the task. Otherwise, some steps may not rollback correctly.

    Viewing a Log Folder :Results of the EIM tasks can be viewed by drilling down in an EIM server task that

    has completed. This is also provided in the EIM log file within the Siebelserver\log directory.

  • 8/10/2019 EIM Training

    33/38

    Executing an EIM Task

    Continued Sections in log file:Startup messages This section pertains to dictionary loading, parameter loading andthe .ifb file parsing.Run-time messages This shows the start time and end time for each process.

    Row-Count summary of each process This shows the number of rows updated in eachtable.Point to Remember:

    If error flags, SQL trace flags, or trace flags were included in the parameters, then EIMlog file will also contain the results of each flag.

    Optimizing an EIM Process :Limit base table and columns to be processed. Four parameters helps in optimizing theperformance are

    1. only base Tables2. ignore base tables3. only base Columns4. ignore base columns

  • 8/10/2019 EIM Training

    34/38

    Analyzing Log Folder All errors faced during EIM execution can be understoodby analyzing the log folder.EIM does the task of importing data step wise and each

    step has a specific number or pass number.If the EIM task fails due to any reason at a particular step,then this pass number is saved in columnIF_ROW_STAT_NUM during EIM task .By searching for this number in the log folder, the reasonfor failure can be identified.Log file gives a clear explanation of the failure at this passnumber, when the job parameters are set tosqlflags=8,errorflags=1,traceflags=1.

  • 8/10/2019 EIM Training

    35/38

    Analyzing log folder Continued..On navigating to the pass which caused the issue, you would findexplicit messages like the following (an example) :-- Failed to resolve foreign key value. (severity 7)

    It also mentions which column did not get resolved :-S_ACCNT_POSTN (Position for Account)-------------POSITION_ID (Position)

    On scrolling down further in the log file, it gives you the values which were populated in the EIM table columns, which did not resolve theproper ROW_IDROW_ID POSTN_BI POSTN_DIVN POSTN_LOC POSTN_NAME------- -------- ---------------------- --------- ---------------------584297 0-R9NH Siebel Administration NULL Siebel Administrator

    On Analyzing and cross checking these values with the correspondingbase table, the wrongly populated value can be found

  • 8/10/2019 EIM Training

    36/38

    Common Errors in EIM TasksSome of the common errors during EIM Process are- Invalid Configuration (ifb) file Ifb path or ifb name would be wrong- ignore base table/columns invalid column / table names mentioned in the ifb- All the rows in the given batch is failed invalid batch number mentioned

    Some of the common errors after EIM Process are- PICK LIST VALUE The corresponding Pick list value will not exists in S_LST_OF_VAL- IN PROGRESS There are more than one record with same foreign key reference- NOT ALLOWED

    1. If there is not reference exists in the Parent table when populating child value.

    2. Trying to update a column, but in ifb UPDATE is set as FALSE - PARTIALLY IMPORTED Failed to resolve the foreign key value (which are mandatory)- DUPLICATE RECORD EXISTS It tries to update the already existing record of same values.

  • 8/10/2019 EIM Training

    37/38

    ReferenceSiebel Enterprise Integration Manager Administration Guide Version 7.7 Rev.A

  • 8/10/2019 EIM Training

    38/38