|Bookshelf Home | Contents | Index | Search | PDF|
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 10 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 9 lists the parameters specific to an import process that appear in only the process section of the EIM configuration file.)
Table 10. Import Process Parameters for the EIM Configuration File - Header and Process Sections (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. 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. 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. (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 Docking Transaction Logging. (Import only.) Specifies the value for an EIM table column. The syntax is the same as for DEFAULT COLUMN. 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.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. 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.
(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.
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.
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
TYPE = IMPORT
BATCH = 1
TABLE = EIM_ACCOUNT
NET CHANGE = FALSE
MISC SQL Parameter
Table 11 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 11. Primaries Supported by the MISC SQL Parameter
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
|Bookshelf Home | Contents | Index | Search | PDF|
Siebel Enterprise Integration Manager Administration Guide
Published: 05 January 2004