Why Use EIM?
A very common question may arise in our minds, "Why do we use EIM to load (insert, update, delete etc.) data in Siebel database?"
A very common answer which people give to this "simple" question is that "Siebel doesn't allow inserts and updates, deletes etc directly into siebel database." or some may say this is what Siebel has recommended and so on..
Though direct inserts and updates in the siebel tables is highly not recommended, we can still do that if we are able to identify the direct tables and related tables in which data is to be inserted or updated. The primary reason why we shouldn't be doing operation on siebel tables directly is for following reasons:
1. Table relationships in Siebel are highly complex. One table may be related to too many other tables, the foreign keys and the primaries are difficult to resolve if we perform the operations manually like through simple SQL statements.
2. Many organizations use mobile clients for siebel application. These mobile clients have to be synchronized after each data loads so that the data is up-to-date for mobile clients as well. Improper synchronization will cause data integrity issue between siebel server database and mobile user local database.
3. While updating data directly in siebel tables, system columns such as LAST_UPD, LAST_UPD_BY etc are not updated. This may mislead the actual record information and integrity will be lost. These updated data may not be synchronized properly in other parallel running servers as well like report DB server, Siebel Analytics etc.
Hence, Siebel has recommended that the in-built EIM technique be used for any type of data operations in the siebel tables.
Abu Maryam Mohammed Arif