Story

Siebel EIM Delete Process Parameter Reference

Some process parameters like TYPE, BATCH, and TABLE are similar to an Import process.

DELETE ROWS: For Delete process the TYPE parameter should be defined as TYPE = DELETE. As a result the DELETE ROWS parameter will be automatically set to TRUE. This parameter can prevent deletions from one table while allowing them in others. For example, the following parameter prevents deletion of rows from the S_ADDR_PER table:

DELETE ROWS = S_ADDR_PER, FALSE


UPDATE ROWS: This parameter specifies if foreign key references can be updated. The default is UPDATE ROWS = TRUE, which affects all tables.

The UPDATE ROWS parameter also prevents updates in one table while allowing them in others. If this parameter is set to FALSE, EIM does not update rows in the specified base table. If you need to specify multiple tables, use one UPDATE ROWS statement for each table.

UPDATE ROWS = S_CONTACT, FALSE
UPDATE ROWS = S_ADDR_PER, FALSE


DELETE ALL ROWS: It will delete all rows in the named base table including any seed data if it is set to TRUE. The default value is FALSE.

[Delete Accounts]
TYPE = DELETE
BATCH = 200
TABLE = EIM_ACCOUNT
DELETE ALL ROWS = TRUE


CLEAR INTERFACE TABLE: Valid values are TRUE and FALSE. If it is set to TRUE, the existing rows in the interface table for a given batch number will be deleted. The default setting of this parameter depends on the DELETE EXACT parameter setting. The CLEAR INTERFACE TABLE default is TRUE if DELETE EXACT is set to FALSE and vice versa. 


CASCADE DELETE ONLY: (Default = FALSE). Set this parameter to TRUE to delete child records with nullable foreign keys when the parent record is deleted. If FALSE, then when EIM deletes a parent record, it sets the foreign keys of the child records to NULL.

Sometimes cascade delete takes place during delete process even if it is not mentioned specifically in the .ifb file. When a foreign key column that references the deleted record is a required one, the record with the foreign key is deleted. Otherwise, the foreign key column is cleared.

EIM deletion of a parent row causes cascade deletion of child rows only if the foreign key column in the child table is a mandatory column. Otherwise a cascade clear is performed.


DELETE EXACT: This parameter specifies the base table rows to delete by using user key values specified in the interface table. It is recommended to use the DELETE EXACT parameter to delete non-target base tables that contain user keys only. By default, DELETE EXACT = FALSE. If DELETE EXACT is set to TRUE, the ONLY BASE TABLES parameter in conjunction with this parameter needs to be mentioned to identify the base tables. It should be ensured that any columns that are not part of the user key are NULL in the interface table.

TYPE = DELETE
BATCH NUMBER = 100
TABLE = EIM_ACCOUNT
ONLY BASE TABLES = S_ORG_PROD
DELETE EXACT=TRUE


DELETE MATCHES: This parameter is used for filtering or more precisely to choose selective base table rows to be deleted. The value is in two parts: the Siebel interface table name and the filter expression that goes against the target base table. An example would be:


DELETE MATCHES = S_ORG_EXT, (LAST_UPD > ‘2004-07-15’ AND LAST_UPD < ‘2004-07-17’)

By default, DELETE MATCHES expressions are not used.

DELETESKIPPRIMARY: This is a special parameter that has been included Siebel 7.x onwards, and is set to either TRUE or FALSE, with TRUE being the default value. The default value results in EIM not performing a cascade update on the primary child column. Setting the parameter to FALSE indicates that EIM will perform the cascade update. Setting DeleteSkipPrimary to FALSE may affect performance, as additional queries will be generated by EIM.

For example,

 TYPE = DELETE
 BATCH = 20
 TABLE = EIM_FN_ASSET1
 ONLY BASE TABLES = S_ASSET_POSTN
 DELETE EXACT = TRUE

In the above process, EIM will delete records from S_ASSET_POSTN but the PR_POSTN_ID column in S_ASSET will not be adjusted to reflect the changed relationship. That is, PR_POSTN_ID may still contain the ROW_ID of the old S_POSTN record rather than ‘No Match Row Id’ as is desired.


The PR_POSTN_ID field in S_ASSET can be reset to reflect the change, by adding the following line in the process:

DELETESKIPPRIMARY = FALSE