Tuesday, August 30, 2016

NO_MERGE_ROW error in EIM Merge process

NO_MERGE_ROW error means the surviving record cannot be found in the EIM table with the same batch number as that of that deleted record. When EIM is unable to find the IF_ROW_MERGE_ID (which is the EIM table ROW_ID of the surviving record) value in the EIM table and with the same batch number (IF_ROW_BATCH_NUM), it throws NO_MERGE_ROW error.

But there might be another reason for this error. Consider a situation where the surviving record's user keys are not unique in base tables due to data inconsistencies. In this case when merge runs, it throws AMBIGUOUS error for the surviving records and NO_MERGE_ROW error for all child (deleted) records that corresponds to these parent AMBIGUOUS records though the batch numbers for both are same.

So, to summarize below 2 reasons result in NO_MERGE_ROW error:

  1. Batch numbers for parent (surviving) and child (deleted) EIM records are different.
  2. Surviving record is errored-out due to data inconsistencies or for any other reason.

Resolution is to either correct the batch numbers of the parent and child record or resolve the error (e.g. AMBIGUOUS) for surviving record depending on the situation explained above.

Note: NO_MERGE_ROW error throws only for child records i.e. for which IF_ROW_MERGE_ID is not null.

Keep Reading...

Mohammed Arif