Monday, July 23, 2012

EIM Mandatory Columns

For an EIM process to be successful , we must populate values in a certain set of columns.
The Mandatory Columns in an EIM Process are :
  • ROW_ID
  • IF_ROW_BATCH_NUM
  • IF_ROW_STAT
  • IF_ROW_MERGE_ID

In this set of four columns, IF_ROW_MERGE_ID is only mandatory when we are carrying out EIM Merge process. So we can look on to these columns in detail and what data to be populated on these.


ROW_ID

This is the unique value assigned to each row in an EIM table. Each row in the EIM table will have a unique id. The important point to be noted is that ROW_ID values in EIM tables are not the ROW_ID values that will be assigned to a row when it is loaded in to the base table. ie, ROW_ID values in EIM and Base table for a corresponding record will not be same.
While loading data into the EIM table, we usually assign this column with values from a sequence.


IF_ROW_BATCH_NUM

You must set the values in this column to the same integer, greater than or equal to 0, as an identifying number for all rows to be processed as a batch. The maximum value that can be assigned is 2147483647.
For faster loading and easier debugging, we will split the data to be loaded into batches (generally we load with 5000 records in a batch) and we will populate IF_ROW_BATCH_NUM with corresponding batch number for a row to be loaded.


IF_ROW_STAT

EIM updates this column after processing the rows to indicate the status of the record. The IF_ROW_STAT column is not used by EIM to determine which rows to process but to help us to track the status of the row processed. When populating the EIM tables, you can set this column to any value except NULL.
In IMPORT process, if a row gets successfully imported, this will be stamped with value 'IMPORTED'. Like wise for DELETE process, it will be stamped with value 'DELETED' and for EXPORT process with value EXPORTED and so on.If the process fails, we can track the failure with error codes likes 'PICKLIST VALUE','FOREIGN KEY' stamped in IF_ROW_STAT column.
During an EIM process is carried out on a row, this column will be stamped with '' which will be later on changed with status after process completion.


IF_ROW_MERGE_ID

You need to populate this column only when you are carrying out an EIM Merge process. You can set this column with one of the two values
  • NULL :- This value identifies the surviving or merged-into-row. ie, the row stamped with                 IF_ROW_MERGE_ID as NULL value will be the parent record to which its child records are to be merged.
  • ROW_ID :- This value identifies the ROW_ID of the parent record in the EIM table where the rows will be merged. This value is the ROW_ID of the records in the EIM table, not the base tables.

No comments:

Post a Comment