The Microsoft Dynamics CRM Team Blog
News and views from the Microsoft Dynamics CRM Team
Today guest blogger and CRM MVP Frank lee shares his insight with us based on advising his customers and partners. He blogs at http://www.workopia.com/Links.htm.
I would like to talk about an important Microsoft Dynamics CRM design setting: Cascade Relationship Behavior.
Scenario: What happens to the Account's child records (Contacts, Opportunities, Activities, History, etc.) ownership if we reassigned the Account to another owner? If I have a CRM account record "ABC, Inc." with an initial ownership of "Owner2" and I then reassigned the "ABC, Inc." account record to "Owner3", What effect does this have on the ABC, Inc.'s child records ownership?
Answer: Under the default behaviors in both Microsoft CRM 4.0 (OnPremise) and Online setting, they will all be reassigned to "Owner3".
Reassigned to Owner3:
All ABC, Inc.'s child contacts are reassigned to "Owner3":
Same for all of ABC, Inc.'s child activities - they are all reassigned to "Owner3":
Same for all of ABC, Inc.'s child history - reassigned to "Owner3" and so on for all other ABC, Inc. child records
An important note is that for CRM History records (activities that are completed) or any other "completed" record types such as CRM Opportunities, Leads, Cases, etc. - we should keep the data intact and not change the Owner info since it should be considered "historical" data.
So, if this is not the desirable initial setting, how do we change it?
Answer: This setting can be updated under the "Relationship Behavior" section in the Account customization (CRM Client >> Settings >> Customization >> Account >> select the child record type under "Related Entity"):
Under the "Relationship Behavior" section, change the "Type of Behavior" from "Parental" to "Configurable Cascade", select a different action for the "Assign" cascade behavior. The default is "Cascade All".
There are four actions to select from: "Cascade All", "Cascade None", "Cascade Active", and "Cascade User-Owned". "Cascade None" is the most conservative.
Review the Assign Cascade Relationship Behavior for other child record types and select the desired behavior setting. Be sure to save and then publish your customization afterwards. Repeat this for other CRM entities such as Contact, Lead, Opportunity, Case, etc.
I think you will find this post helpful as it was very interesting to many of my customers.
Thanks for the post, Frank. I just started following you on Twitter, actually, as well.
So, if I read you correctly, in this example we should select "Cascade Active"? What does that do the parent-child relationships?
I think I need to read up some more about this myself.
If MS could add Cascade Active User Owned I would be very happy
This info is what I'm looking for: I got a request of an Internal Sales agent who's logging her activities on accounts. She uses a view with all activities owned by her to report her workload. When the account is reassigned to another External Sales rep, we find out that the ownership of the activity was also changed, even for the completed activities :-(
Now this behaviour is more clear to us.
"Cascade Active" - reassign all the Active child records to the new assigned parent owner. It will NOT reassign any InActive/Completed/Cancelled/etc. child records.
"Cascade None" is the most conservative. I'd suggest that if you are unsure - default to "Cascade None" to begin with.
Agreed Julian - "Cascade Active User Owned" would be a good option.
Remarkable doc. It really covers a ton of the needed stuff.
Can you do this to bulk accounts