There are three types of keys present for Siebel interface tables. They are User Key, Required User Keys, and Non-Required User Keys. Before performing an Enterprise Integration Manager (EIM) process, it is very important to examine which columns are defined as User Key columns, which are Required User Keys. User keys cannot be updated using EIM. EIM can be used to update non-user key columns only based on user key columns.
User Key: These columns are used by EIM to identify a record in a table. In the Siebel Interface Table Reference Guide each of the tables has their User Keys defined under the User Key column. Typically a number of columns will be marked as being part of the userkey.
Required User Key: This column or columns is the minimum portion of the User Key that has to be populated during an IMPORT, in order for EIM to be able to successfully insert the record into the base table. For example, to import into S_ORG_EXT, the user would need to populate the EIM_ACCOUNT.name, EIM_ACCOUNT.ACCNT_BU user keys, EIM_ACCOUNT. DISA_CLEANSE_FLG, EIM_ACCOUNT.PROSPECT_FLG Prospect Flag and EIM_ACCOUNT.PRTNR_FLG .
EIM_ACCOUNT.LOC is the second User Key but it is not a required part of the account. Then EIM will not fail to insert the account if this column is set to null.
When reviewing the Interface Table, keep in mind that there might be other required columns in the base tables that should be populated as well. For example: On the S_CONTACT table the S_CONTACT.PRIV_FLG which is not part of the user key is a required column.
Non-Required User Key: This column or columns does not have to be populated for IMPORT but when updating, merging, deleting using delete exact, etc. users might need to populate this if the column is already populated in the base table. If this is the case then it should be populated in the interface table as well otherwise EIM will fail to identify the record.
For example: There is an account in the system, S_ORG_EXT.name = ACCOUNT1, S_ORG_EXT.loc= LOCATION1. If the user wants to import an address for this account via EIM_ADDR_ORG, they need to ensure that both EIM_ADDR_ORG.ACCNT_NAME and EIM_ADDR_ORG.ACCNT_LOC are populated with the correct values; otherwise EIM will fail to identify the account in S_ORG_EXT.
If the account in S_ORG_EXT does not have any location, S_ADDR_ORG_IF.ACCNT_LOC does not need to be populated when an address is imported and associated with this account.