Siebel Enterprise Integration Manager Administration Guide > Importing Data >

EIM Import Process


To import tables of data, EIM performs a sequence of tasks. Each task involves multiple passes; at least one pass is required for each EIM table included in the process. Depending on the type of import process, EIM may repeat several tasks.

This section describes the general tasks that EIM performs to import data into the Siebel database using EIM. To see the general steps that you take when using EIM to import data, see Import Data Process Flow.

To import data from EIM tables, EIM performs the following steps:

  1. EIM initializes any temporary columns:
    • It compares values in IF_ROW_BATCH_NUM with the batch number provided by the Component task that initiated this import process. For information on IF_ROW_BATCH_NUM, see Mandatory Columns for EIM Processing.
    • It sets all temporary columns to NULL and counts the rows to be processed.

      NOTE:  If there are rows where required columns contain only blanks, the complete EIM process will fail at this step. Rows will not be imported or updated.

  2. EIM applies any DEFAULT_COLUMN and FIXED_COLUMN values defined for this import process. For information on DEFAULT_COLUMN and FIXED_COLUMN, see Parameters Used for Imports in Both the Header and Process Sections.
  3. EIM applies any filter queries defined for this import process. If a row fails the filter query, EIM eliminates the row from further processing.
  4. EIM generates foreign key references for rows with corresponding existing rows in the Siebel base tables. It writes these foreign key values into EIM table temporary columns.

    If foreign keys fail for required columns, EIM eliminates these rows from further processing. It also validates bounded picklist values against the List of Values table (S_LST_OF_VAL). For this validation to occur, the List of Values must be specified at the table level, and not just at the business component level. For more information on bounded and unbounded picklists, see Siebel Tools Reference.

  5. EIM writes the appropriate ROW_ID values in the EIM table rows' temporary columns, for rows with corresponding base table rows. For information on ROW_ID, see Mandatory Columns for EIM Processing.
  6. EIM creates a ROW_ID with a unique value in the base table for each EIM table row without a corresponding row in the base tables.
  7. EIM eliminates rows with invalid values for user keys from further processing.

    NOTE:  You can use EIM to update only non-user key columns; EIM does not support modification of existing user key columns. To update user key columns in S_ORG_EXT and S_PROD_INT tables use EIM_ORG_EXT_UK and EIM_PROD_INT_UK. For more information, see Updating System Fields.

    It then generates foreign key references for rows without corresponding rows in the Siebel database tables, and writes these foreign key values into EIM table temporary columns:

    • If foreign keys fail for required columns, EIM eliminates these rows from further processing.
    • For EIM table rows with data that will reside in multiple destination tables, EIM fails rows with foreign keys that cannot be generated.
  8. EIM updates contents of existing base table rows with contents from corresponding EIM table rows that have successfully passed all earlier steps:
    • If any rows contain content that differs from the existing base table row, EIM writes these rows to the Master Transaction Log (if Docking Transaction Logging is enabled).
    • If multiple EIM table rows have the same user primary key for a base table, EIM uses only the first EIM table row to update the base table, and ignores the data in other rows.
  9. EIM inserts any new EIM table rows that have successfully passed all earlier steps in the Siebel database tables:
    • It writes new rows to the Master Transaction Log (if Docking Transaction Logging is enabled).
    • If multiple EIM table rows use the same user primary key for a base table, EIM uses only the first EIM table row to update the base table, and ignores the data in other rows.
  10. EIM updates primary child relationships in the Siebel database tables as necessary. EIM populates all primary child columns with Primary Child Col property set to TRUE. For information on primary child relationships, see About Explicit Primary Mappings.

    CAUTION:  You may want to use the UPDATE ROWS = FALSE statement to preserve existing information. Suppressing updates prevents updating primaries in this step of the import process, so this setting should be used with caution. For more information, see Suppressing Updates.

  11. Finally, EIM runs optional miscellaneous SQL statements. For more information, see the section on the MISC SQL parameter in Parameters Used for Imports in Both the Header and Process Sections.

 Siebel Enterprise Integration Manager Administration Guide 
 Published: 05 January 2004