Story

Update user key Column for Product Entity, through EIM

Normally, User key updationare not possible through EIM except for few entities, of which Product is one. Here is a useful information to update one of the user key columns for Product (Product NAME for instance) through EIM.

 Solution:  

We can update Product name through EIM_PROD_INT_UK. EIM_PROD_INT_UK will enable us update a Product’s name from “Product 1” to “Product 2”.  

 1.  For a Product NAME, BU_ID, VENDR_OU_ID are part of user keys. However, while updating Product Name for instance, through EIM_PROD_INT_UK, we use another column called INTEGRATION_ID, which will be used as secondary user key to identify the record uniquely. 

2.  Normally the Integration_Id column will be null. Updating the Product user key will include a step which will include a step to update the INTEGRATION_ID column with a unique value that helps in identifying the record uniquely and enable UK updates. We can prepare the record for update by updating the integration_id with the record’s row_id and use it for the EIM updation.

3.  We need to populate the Integration id column value from base table to the EIM_PROD_INT_UK. INTEGRATION_ID along with other attributes required for the eim process to update the record in the Base table.  The new Name, for e.g, should be populated in the EIM_PROD_INT_UK.PROD_NAME column so that it will update the existing value in S_PROD_INT.NAME with the new value.

Here is a sample IFB file for such update which will change the Product Name both in S_PROD_INT and S_PROD_INT_BU

[Siebel Interface Manager]

                PROCESS              =UPDATE_PROD_INT
 
[UPDATE_PROD_INT]
                TYPE      = IMPORT
                TABLE    = EIM_PROD_INT_UK
                BATCH  = 55508
 
DEFAULT COLUMN = ACTIVE_FLG, "Y"
DEFAULT COLUMN = PROD_BU, "Default Organization"
                ONLY BASE TABLES = S_PROD_INT, S_PROD_INT_BU
                INSERT ROWS = S_PROD_INT, FALSE
                INSERT ROWS = S_PROD_INT_BU, FALSE