Rob's TIMSS Blog

My discoveries and ramblings of TIMSS/Personify.

Wednesday, March 12, 2008

CUS_DUP_MERGE_TABLE

When merging 2 customer records, TIMSS 6 & Personify use a lookup table to see which columns in which tables should be moved to the retained customer: CUS_DUP_MERGE_TABLE & CUS_DUP_MERGE_COLUMN.

There have been a couple postings on the Yahoo Group about tables not being merged. For them to be merged the table and associated column must be in these tables with the appropriate action (MERGE/DELETE).

To see what tables are missing, I wrote the following query:

select c.table_name, c.column_name
from INFORMATION_SCHEMA.COLUMNS c, INFORMATION_SCHEMA.TABLES t
where c.DOMAIN_NAME='CUSTOMER_ID' -- user defined data type
and c.table_name=t.table_name
and t.table_type='BASE TABLE'
and not exists (select 1 from dbo.CUS_DUP_MERGE_TABLE d
where d.table_name=c.table_name)
order by c.table_name, c.column_name

This looks for tables in the database schema that have a column with a type of CUSTOMER_ID that are not in the CUS_DUP_MERGE_TABLE table.

If the table (and column) is missing, then the table will not be merged. If it's a table added by you, or one that was added by TMAR but was not added for some reason in an upgrade, it needs to be added for the merge to work correctly.

This will return a lot of temporary tables. Including all those tables will impact performance of the merge process, so I would only add the ones that you really need to be there. For example, if you use the ORD660_Processed table to generate a letter using a Crystal Report and need that data to remain consistent after records are merged, add it.

Applies to: TIMSS6 & Personify

0 Comments:

Post a Comment

<< Home