Siebel Enterprise Integration Manager Administration Guide > Importing Data > Editing the Configuration File for Import Processing >

Parameters Used for Imports in Both the Header and Process Sections


Table 9 describes the parameters that can appear in either the header section or a process section, and are specific to an import process. For generic parameters that can be used in all EIM processes, see Process Section Parameters Generic to All EIM Processes. (Table 8 lists the parameters specific to an import process that appear in only the process section of the EIM configuration file.)

Table 9. Import Process Parameters for the EIM Configuration File - Header and Process Sections
Parameter
Description

ATTACHMENT DIRECTORY

(Default = SIEBEL_HOME\INPUT) Specifies the directory to be used for importing attachments. Before specifying a directory, make sure the directory exists on a Siebel Server machine and you have read and write access to the directory.

Example: ATTACHMENT DIRECTORY = SIEBEL_HOME\INPUT

COMMIT EACH PASS

Specifies whether a separate transaction should be used for each EIM pass through each EIM table. The default value is TRUE, which invokes commits after each pass. This setting helps to reduce the database resources required for the import process and provides a checkpoint to which you can return in the event of unexpected results.

NOTE:  COMMIT EACH PASS works cumulatively with COMMIT EACH TABLE. If you set both commit each pass and commit each Table to true, a commit will occur at the end of each pass and at the end of each table.

COMMIT EACH TABLE

Specifies whether a separate transaction should be used for each EIM table. The default value is TRUE, which invokes commits after each table. This setting helps to reduce the database resources required for the import process.

NOTE:  COMMIT EACH TABLE works cumulatively with COMMIT EACH PASS. If you set both commit each pass and commit each Table to true, a commit will occur at the end of each pass and at the end of each table.

COMMIT OPERATIONS

(Import only.) Specifies the number of insert and update operations to be performed before a commit is invoked. The value for this parameter, an integer greater than zero, prevents the transaction rollback space from overflowing when large data sets are imported. The default for COMMIT OPERATIONS is not set; a commit is thus invoked only at the end of the import by default. This setting is ignored if you have turned off Enable Transaction Logging.

NOTE:  This parameter is useful only for row-by-row processing (with transaction logging on). It is not used for set-based processing operations.

DEFAULT COLUMN

(Import only) Specifies a default value for an EIM table column. The syntax is column name, value.

Example: DEFAULT COLUMN = CURCY_CD , "USD"

The given value will be used only if the column is null in the EIM table.

FIXED COLUMN

(Import only.) Specifies the value for an EIM table column. The syntax is the same as for DEFAULT COLUMN.

Example: FIXED COLUMN=ORG_CD, "Commercial"

The given value will be loaded into the Siebel base table, overriding the value in the EIM table column.

INSERT ROWS

Specifies that nonexistent rows in the EIM table be inserted into the Siebel base table. The default value is TRUE. A table name can be specified with insert rows as the first value, separated by a comma.

Example: INSERT ROWS = EIM_ACCOUNT, FALSE

If the named table is an EIM table, as in the example, the setting applies to all Siebel base tables imported from this EIM table. If the named table is a Siebel base table, the setting is applied when data is imported from any EIM table.

NOTE:  The INSERT ROWS parameter must be set to FALSE for any table with an EIM table that does not have mappings to all its required columns, such as S_ORDER for EIM_ORDER_DTL. In this example, when EIM is not able to resolve the EIM_ORDER_DTL row to an existing S_ORDER record, it attempts to insert it as a new S_ORDER record. Since EIM_ORDER_DTL does not have mappings to all the S_ORDER required columns, the process fails with a "Cannot insert null" error.

For more information on the INSERT ROWS parameter, see INSERT ROWS and UPDATE ROWS Parameters.

MISC SQL

 

Sets specific explicit or implicit primaries, as mentioned in Step 11 of the import process. Explicit is when you have specific values to set as primaries. Implicit is when any of a group of values is acceptable. For example, you are importing one account with nine addresses. If any of the addresses is acceptable as being the primary, then set primary to implicit. EIM then selects one of the addresses as primary. If a specific address should be the primary, then set primary to explicit and indicate the primary account by setting its flag column (EIM_ACCOUNT.ACC_PR_ADDR) to Y.

NOTE:  MISC SQL is intended for initial data loading only (with DOCKING TRANSACTIONS = FALSE), because when using MISC SQL to set primary child foreign keys, NO transactions are logged for mobile users.

For a list of fields that can be set using the MISC SQL parameter, see MISC SQL Parameter.

NET CHANGE

(Import only.) Specifies the handling of null (non-user key) column values when importing a row that already exists in the Siebel database table.

If NET CHANGE = TRUE, the null value will be ignored; otherwise, the column in the base table will be updated with NULL. This parameter is ignored if UPDATE ROWS = FALSE. The default value is TRUE; null attribute values will thus be ignored for existing rows by default.

For more information on this parameter, see NET CHANGE Parameter.

ROLLBACK ON ERROR

Specifies whether the current transaction should be rolled back (aborted) when an error, such as an SQL database failure, is encountered. The default value is FALSE. If you set this parameter to TRUE, you should also set COMMIT EACH PASS and COMMIT EACH TABLE to FALSE, and make sure that the database transaction space is large.

TRIM SPACES

(Import only.) Specifies whether the character columns in the EIM tables should have trailing spaces removed before importing. The default value is TRUE.

NET CHANGE Parameter

By default, EIM does not update non-user key columns—that is, columns with a null value. The NET CHANGE parameter specifies the handling of null (non-user key) column values when importing a row that already exists in the Siebel database table. If NET CHANGE = TRUE, the null value will be ignored. If NET CHANGE = FALSE, the column in the base table will be updated with NULL.

NOTE:  NET CHANGE = TRUE does not work for long columns. If you want to update a long column, you must use NET CHANGE = FALSE.

Effect of NET CHANGE = FALSE on IF_ROW_STAT

When NET CHANGE = FALSE, there are three possible outcomes:

  • For a null value, EIM updates the base table column to NULL and sets the EIM table's IF_ROW_STAT to IMPORTED.
  • For a non-null value that is a duplicate, nothing is done to the base table column and the EIM table's IF_ROW_STAT is set to DUP_RECORD_EXISTS.
  • For a non-null value that is not a duplicate, EIM updates the base table column with the value in the EIM table and sets IF_ROW_STAT to IMPORTED.

EIM only updates the non-user key columns with NULL if you set the NET CHANGE parameter to FALSE. Also note that when EIM updates non-user key columns with NULL for the columns that had a non-null value beforehand, then the status of IF_ROW_STAT becomes IMPORTED. This is because EIM has performed the update transaction for this table.

The second case mentioned above shows, however, that if a column had a null value beforehand, and EIM has performed the update with all the same records (including this NULL column), then in effect, EIM has ignored this null value and has not performed an update transaction for this NULL column (regardless of whether NET CHANGE is set to FALSE). So in this case, EIM populates IF_ROW_STAT with DUP_RECORD_EXISTS.

If in cases like this you want to update certain columns with NULL, then you can specify the ONLY BASE COLUMNS parameter in the .IFB file.

Example of Using the NET CHANGE Parameter

The following example is part of a sample .IFB file that uses the NET CHANGE parameter:

[Siebel Interface Manager]

USER NAME = "SADMIN"

PASSWORD = "SADMIN"

PROCESS = IMPORT ACCOUNT

[IMPORT ACCOUNT]

TYPE = IMPORT

BATCH = 1

TABLE = EIM_ACCOUNT

NET CHANGE = FALSE

MISC SQL Parameter

Table 10 lists the EIM tables that can be used with the MISC SQL parameter, as well as the values that can be set. The table lists the values of the MISC SQL parameter when you want to set a field explicitly. If you want to set the field implicitly, replace the letters EXPR (EXplicit PRimary) with IMPR (IMplicit PRimary). Note that all separators for values are underscores. Tables and values marked "SIA-specific" are only applicable to Siebel Industry Applications.

Table 10. Primaries Supported by the MISC SQL Parameter
Table and Primary Child Foreign Key
MISC SQL Parameter Value for Explicit Primary
Corresponding EIM Table
Comments

S_PROJ.PR_OU_ADDR_ID

EXPR_S_PROJ_PR_OU_ADDR_ID

EIM_PROJECT

No implicit primary

S_OPTY.PR_OU_ADDR_ID

EXPR_S_OPTY_PR_OU_ADDR_ID

EIM_OPTY

No implicit primary

S_OPTY.PR_OU_INDUST_ID

EXPR_S_OPTY_PR_OU_INDUST_ID

EIM_OPTY

None

S_CONTACT.PR_HELD_POSTN_ID

EXPR_S_CONTACT_PR_HELD_POSTN_ID

EIM_EMPLOYEE

None

S_CONTACT.PR_USERROLE_ID

EXPR_S_CONTACT_PR_USERROLE_ID

EIM_USER

None

S_CONTACT.PR_OU_ADDR_ID

EXPR_S_CONTACT_PR_OU_ADDR_ID

EIM_CONTACT

None

S_POSTN.PR_POSTN_ADDR_ID

EXPR_S_POSTN_PR_POSTN_ADDR_ID

EIM_POSITION

None

S_POSTN.PR_EMP_ID

EXPR_S_POSTN_PR_EMP_ID

EIM_POSITION

None

S_ORG_EXT.PR_BL_PER_ID

EXPR_S_ORG_EXT_PR_BL_PER_ID

EIM_ACCOUNT

None

S_ORG_EXT.PR_SHIP_PER_ID

EXPR_S_ORG_EXT_PR_SHIP_PER_ID

EIM_ACCOUNT

None

S_CONTACT.PR_AFFL_ID

EXPR_S_CONTACT_PR_AFFL_ID

EIM_CONTACT

SIA-specific

S_ORG_EXT.PR_BL_PER_ID

EXPR_SIS_S_ORG_EXT_PR_BL_PER_ID

EIM_ACCNT_CUT

SIA-specific

S_ORG_EXT.PR_SHIP_PER_ID

EXPR_SIS_S_ORG_EXT_PR_SHIP_PER_ID

EIM_ACCNT_CUT

SIA-specific

S_ORG_EXT.PR_CON_ID

EXPR_S_ORG_EXT_PR_CON_ID

EIM_ACCNT_CUT

SIA-specific

S_POSTN_CON.PR_ADDR_ID

EXPR_S_POSTN_CON_PR_ADDR_ID

EIM_CONTACT1

SIA-specific

S_ORG_EXT.PR_BL_PER_ID

EXPR_FINS_S_ORG_EXT_PR_BL_PER_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_SHIP_PER_ID

EXPR_FINS_S_ORG_EXT_PR_SHIP_PER_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_CON_ID

EXPR_FINS_S_ORG_EXT_PR_CON_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_BL_OU_ID

EXPR_S_ORG_EXT_PR_BL_OU_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_SHIP_OU_ID

EXPR_S_ORG_EXT_PR_SHIP_OU_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_PAY_OU_ID

EXPR_S_ORG_EXT_PR_PAY_OU_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_COMPETITOR_ID

EXPR_S_ORG_EXT_PR_COMPETITOR_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_PRTNR_OU_ID

EXPR_S_ORG_EXT_PR_PRTNR_OU_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_EXT.PR_EMP_REL_ID

EXPR_FINS_S_ORG_EXT_PR_EMP_REL_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_BU.PR_BL_PER_ID

EXPR_S_ORG_BU_PR_BL_PER_ID

EIM_FN_ACCNT1

SIA-specific

S_ORG_BU.PR_SHIP_PER_ID

EXPR_S_ORG_BU_PR_SHIP_PER_ID

EIM_FN_ACCNT1

SIA-specific

S_CONTACT.PR_HELD_POSTN_ID

EXPR_FINS_S_CONTACT_PR_HELD_POSTN_ID

EIM_FN_CONTACT1

SIA-specific

S_ASSET.PR_ASSET_ID

EXPR_S_ASSET_PR_ASSET_ID

EIM_FN_ASSET1

SIA-specific

S_ORG_GROUP.PR_ADDR_PER_ID

EXPR_S_ORG_GROUP_PR_ADDR_PER_ID

EIM_FN_ORGGRP

SIA-specific

S_PROD_INT_TNTX.PR_CATEGORY_ID

EXPR_S_PROD_INT_TNTX_PR_CATEGORY_ID

EIM_PRDINT_TNT

SIA-specific

S_QUOTE_TNTX.PR_ORDER_ID

EXPR_S_QUOTE_TNTX_PR_ORDER_ID

EIM_QUOTE_TNT

SIA-specific

If you always want to use explicit primaries, follow this syntax:

MISC SQL = EXPR_S_CONTACT_PR_OU_ADDR_ID

If you always want to use implicit primaries, follow this syntax:

MISC SQL = IMPR_S_CONTACT_PR_OU_ADDR_ID

The most flexible method is to use explicit primaries on the records for which you have specified a primary, and to automatically use implicit primaries on the records where you have not specified a primary. The following example shows this syntax:

MISC SQL = EXPR_S_CONTACT_PR_OU_ADDR_ID, IMPR_S_CONTACT_PR_OU_ADDR_ID

For more information on how to use the MISC SQL parameter, see the sample default.ifb file located in the Siebel Server/admin directory.

INSERT ROWS and UPDATE ROWS Parameters

The INSERT ROWS and UPDATE ROWS parameters have optional elements of their syntax. For both parameters, the default value is TRUE. To change this for all tables, use this syntax:

INSERT ROWS = FALSE

To change only one table, specify the table name as follows:

UPDATE ROWS = S_CONTACT, FALSE

To change multiple tables, specify each table in a separate line, as follows:

INSERT ROWS = S_CONTACT, FALSE
INSERT ROWS = S_ADDR_ORG, FALSE

If you need the parameter to be FALSE for most tables, and TRUE for only a few, use this method:

UPDATE ROWS = FALSE
UPDATE ROWS = S_CONTACT, TRUE
UPDATE ROWS = S_ADDR_ORG, TRUE

Siebel Enterprise Integration Manager Administration Guide Copyright © 2013, Oracle and/or its affiliates. All rights reserved. Legal Notices.