Hi all -
We've run into an icky situation here in which someone in the Box Office scheduled a merge for a number of institutional records which should not have been merged. I need to know if there is a way of UNdoing this.
Any advice that other organizations have in terms of safeguards that they have put in place to prevent merges that shouldn't happen would also be appreciated.
Thanks!
-Lisa
In terms of unmerging there's not an elegant way to do that. I think a help ticket might be your best bet.
For the future, there are several options you can use to protect certain records against accidental merge. There is a Void Merge attribute which, if put on accounts, will keep them from being merged. We also developed a corresponding CSI which we ask people to add to any records they mark with this attribute explaining why the record shouldn't be merged. We've also put some rules in place so that only certain departments can merge certain accounts. For example Development wants to manage all Corporate records or Membership wants to manage all merges where both accounts have a membership constituency. We use CSI's to alert other departments if users identify potential dupes that they don't have the rights to merge.
We put a lot of though into our merge process so if you have more questions don't hesitate to ask! Best of luck getting your records untangled.
I have put together a string of queries for unmerging (had to use it twice so far) which I would be happy to share, with the proviso that you attempt this in Test first.
There was a helpdesk solution out there, I think, that I used the first time I did an unmerge, so that’s probably a good place to start.
As to the Void Merge attribute, there are companies out there that schedule jobs to add this to all accounts with certain values. Both customer type and constituency would work as a trigger for the application of this attribute.
Lucie
From: Tessitura Technical Forum [mailto:forums-technical@tessituranetwork.com] On Behalf Of Kjersten Schladetzky Sent: Friday, February 05, 2010 12:11 PM To: Lucie Spieler Subject: Re: [Tessitura Technical Forum] UNmerging records
From: Lisa McColgan <bounce-lisamccolgan5409@tessituranetwork.com> Sent: 2/5/2010 10:58:59 AM
This message was sent automatically to you by www.tessituranetwork.com because you subscribed to the Tessitura Technical Forum. You may reply to this message to post to the Technical forum or visit the site to search, read and post to the forums. In the interest of keeping the forum posts from becoming cluttered, we encourage you to delete previous message text from your reply before sending. Thank you!
Open a help ticket. The Tessitura consulting team wrote some code for us to do some unmerges.
Also LP_VALIDATE_CUST_MERGE is your best friend. I’ve added code to ours to make sure we’re only merging the same customer types (so someone can’t merge an individual into a foundation, etc), that there are no soft credits between the two accounts (that creates a mess!), and things like that. I’d be happy to share the code if you are interested.
-steve carlock
Santa Barbara Center for the Performing Arts/The Granada
From: Tessitura Technical Forum [mailto:forums-technical@tessituranetwork.com] On Behalf Of Lucie Spieler Sent: Friday, February 05, 2010 9:21 AM To: Steve Carlock Subject: RE: [Tessitura Technical Forum] UNmerging records
Quick update - I have posted the code we use for unmerges to my files section here. It's called lp_unmerge_customer-2.sql. We have been using it to clean up some issues here with no problems so far, but please try it in Test before you use it in Live to make sure it does what you expect.
http://www.tessituranetwork.com/COMMUNITY/forums/t/981.aspx may be of interest. It won't help undo what's already been done, but it's mighty handy for future unmerging.
I agree with Steve here; in terms of prevention of unfortunate merges, LP_VALIDATE_CUST_MERGE is your best friend.
Among other tests, our version gives each constituent in a proposed merge a priority ranking based on various factors (constituencies, certain attributes, activity history etc) Under some circumstances it will disallow a proposed merge and suggest that the merge should be tried the other way, but if both potential records are above a certain rating (both high-touch, basically), it will disallow the merge and tell the merger to refer it to admin. Our Tess administrators have a special user group which can bypass that check, and they will only schedule the merge after checking with all parties who have history with the constituents that it's ok.
We use the void-merge attribute too, but only in a very limited way.
Hi - this is from Footprints:
There is not a mechanism in Tessitura to reverse the effects of a merge. Below aresome suggestions that may be helpful in guiding you to manually separating thesecustomers.There are two procedures called when merging customer records and both proceduresare well commented. You can open these procedures and read step-by-step whichtables are merged. I have listed these tables, below, but please be aware that you canalways refer to the merge procedures to see exactly what is done during the mergeprocess.Also, I suggest that you look over the merge procedures to insure that I haven't leftanything out. The two procedures called are AP_MERGE_CUSTOMER andAP_MERGE_CUSTOMER2.These are the tables that get merged:tx_alias_custtx_const_custtx_cust_schoolt_cust_doct_special_activitytx_cust_assettx_cust_philt_cust_researchtx_cust_notestx_xreft_solicitationt_cust_activityt_issue_actiont_cust_premt_subscription_histtx_sol_taskt_crediteet_tck_histta_membership_dateta_audit_trailtx_event_guesttx_event_extractt_promotiont_cust_rankt_ordert_cust_subscription_summaryt_noticet_contributiont_paymentt_accounttx_cust_membershipt_opera_labelt_pledge_bill2t_addresst_eaddresst_cust_logint_phonetx_cust_salt_ack_extt_list_contentstx_cust_programt_special_reqtx_cust_tkwt_customerAfter those tables are merged, LP_CONST_MERGE is called. You should check the datain any tables updated in your local procedure, if any.Lastly, t_potential_dups is updated, setting the status = M for all completed delete IDs.You should check this table as well.To un-merge the customer record:1) Locate the T_ADDRESS row that was changed from the deleted customer_no to thekept customer_no and change it back to the original customer_no.2) Locate the TX_CUST_SAL row that was changed from the deleted customer_no tothe kept customer_no and change it back to the original customer_no.**If the salutation attached to the deleted record was identical to the salutation onthe kept record, the salutation on the deleted record would have been deleted. In thatcase, you need to rebuild the salutation row for the deleted record. Keep in mind thatyou will not be able to open a customer record through Tessitura if the record does nothave a record in T_CUSTOMER, T_ADDRESS and TX_CUST_SAL, so you will have torecreate the salutation record before you viewing the customer record.3) Once the T_ADDRESS and TX_CUST_SAL rows have been reinstated for thecustomer_no of the customer deleted in error, the T_CUSTOMER record for the deleteID can be changed to re-activate it. To do so, you would change the INACTIVE columnfrom its current value of '5' (signifying 'merged') to a '1' (signifying active) and theINACTIVE_REASON column should be changed to a NULL value.Here are some things that you would need to do to unmerge ticketing orders:Any orders, especially subscription orders, which can be determined to belong to thecustomer deleted in error can be changed to the correct customer_no by calling up theorder(s) within Tessitura and changing the constituent ID for the order(s). The systemwill warn you that you are changing the owner of the orders, which you can accept.When the order(s) you can identify have been reinstated, if the season to which theybelong is still being processed by the LP_UPDATE_SUBS_HIST andLP_UPDATE_TKT_HIST procedures, they should be tied to the correct customer withthe next run of the procedures. If these procedures no longer run for the seasonsinvolved, the ticket/subscription history records will need to be manually changed tothe correct customer_no.In the record of the kept customer, locate the 'Merged ID' attribute (which referencesthe delete ID in the Attribute Value) column and delete it.Other data that may belong to the customer merged in error must be separatedmanually. Your best resource is your Test Server. If the test server is kept up-to-date,then the deleted customer’s information can be reviewed there to determine any manualupdates required on the Live Server.A Word document which lists all of the tables where customer data is merged whichmay need to be reviewed to determine what data needs to be manually updated isposted on AIM in the downloads area under WebEx Training SessionMaterials/Frequently Asked Support Questions/Tables Merged During the ConstituentMerge Process.
Resurrecting this old thread as I look for solutions to some of our more tangled merge issues...
Ken, would you be willing to share your version of LP_VALIDATE_CUST_MERGE with me? That ranking routine sounds like a useful addition to our safeguards.
Stacey Voigt Consortium Services Manager Santa Barbara Center for the Performing Arts svoigt@granadasb.org
Hi Stace
The objects that support our merging solutions are stored in my files here.
When I looked at them, I realised that they were pretty old versions (pre-v11), so I've updated the major ones, including LP_VALIDATE_CUST_MERGE, but I don't guarantee that they're all current versions - although I don't think the others have changed - anyway, should give you the general idea.
The other notable protective device that we've added since this thread is an Association (UCSS Do Not Merge) which blocks a pair of constituents from being merged into each other, without blocking either of them from being merged with other constituent records.
Ken
Ken,
Thanks so much! I always forget to go prowling through the Files sections – you’ve got quite a lot of good resources there.
I like the idea behind the Association; this is something we could definitely use (I envision it being useful for father/son who share a name, for example). It would be great to have a less broad level of merge-blocking than the all-encompassing Void Merge.
Best,
Stacey
From: Tessitura Technical Forum [mailto:forums-technical@tessituranetwork.com] On Behalf Of Ken McSwain Sent: Tuesday, December 01, 2015 8:08 PM To: Stacey Voigt Subject: Re: [Tessitura Technical Forum] UNmerging records
From: Stacey Voigt <bounce-staceyvoigt1752@tessituranetwork.com> Sent: 12/1/2015 3:32:48 PM