Separating Siebel EIM Processes by Operation
This topic is part of Recommended Sequence for Implementing Siebel EIM Processes.
Wherever possible, divide the Siebel EIM batches into insert-only transactions and update-only transactions. For example, assume that you are loading 50,000 records into an EIM table as part of a weekly process. 10,000 records represent new data and 40,000 records represent updates to existing data.
By default, Siebel EIM can determine which records are to be added and which records are to be updated in the base tables, however, Siebel EIM will need to perform additional processing (through SQL statements) to make these determinations. If you were able to divide the 50,000 records into different batch numbers based on the type of transaction, then you could avoid this additional processing.
In addition, the columns being processed as part of the update activity might be fewer than those for the insert activity (resulting in an additional performance increase). To illustrate this, the IFBs in the example can be coded with the following sections:
IFB for mixed transactions:
[Weekly Accounts] TYPE = IMPORT BATCH = 1-10 TABLE = EIM_ACCOUNT ONLY BASE TABLES = S_ORG_EXT IGNORE BASE COLUMNS = S_ORG_EXT.?
IFB for separate insert or update transactions:
[Weekly Accounts – New] TYPE = IMPORT BATCH = 1-2 TABLE = EIM_ACCOUNT ONLY BASE TABLES = S_ORG_EXT IGNORE BASE COLUMNS = S_ORG_EXT.? INSERT ROWS = TRUE UPDATE ROWS = FALSE [Weekly Accounts – Existing] TYPE = IMPORT BATCH = 3-10 TABLE = EIM_ACCOUNT ONLY BASE TABLES = S_ORG_EXT ONLY BASE COLUMNS = S_ORG_EXT.NAME, S_ORG_EXT.LOC, S_ORG_EXT.? INSERT ROWS = FALSE UPDATE ROWS = TRUE