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 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="********"
	  PROCESS = IMPORT ACCOUNT 
[IMPORT ACCOUNT]
	  TYPE = IMPORT
	  BATCH = 1
	  TABLE = EIM_ACCOUNT
	  NET CHANGE = FALSE