You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: powerapps-docs/developer/data-platform/configure-entity-relationship-cascading-behavior.md
+32-31Lines changed: 32 additions & 31 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,7 +27,7 @@ More information: [Create a One-to-Many relationship using Web API](webapi/creat
27
27
28
28
## Using Organization Service to configure cascading behavior
29
29
30
-
When you use <xref:Microsoft.Xrm.Sdk.Messages.CreateOneToManyRequest> or <xref:Microsoft.Xrm.Sdk.Messages.UpdateRelationshipRequest> you include an instance of a <xref:Microsoft.Xrm.Sdk.Metadata.OneToManyRelationshipMetadata> class in the body of the request. In the <xref:Microsoft.Xrm.Sdk.Metadata.OneToManyRelationshipMetadata.CascadeConfiguration> property of that class you use the <xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguration> class.
30
+
When you use <xref:Microsoft.Xrm.Sdk.Messages.CreateOneToManyRequest> or <xref:Microsoft.Xrm.Sdk.Messages.UpdateRelationshipRequest>, you include an instance of a <xref:Microsoft.Xrm.Sdk.Metadata.OneToManyRelationshipMetadata> class in the body of the request. In the <xref:Microsoft.Xrm.Sdk.Metadata.OneToManyRelationshipMetadata.CascadeConfiguration> property of that class you use the <xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguration> class.
31
31
32
32
The `CascadeConfiguration` (<xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguration> class or <xref:Microsoft.Dynamics.CRM.CascadeConfiguration?text=CascadeConfiguration ComplexType>) contains the properties representing actions that may be performed on the referenced table in the one-to-many relationship. Each property can be assigned one of the values of the <xref:Microsoft.Dynamics.CRM.CascadeType?text=CascadeType EnumType>.
33
33
@@ -42,7 +42,7 @@ The `CascadeConfiguration` (<xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguratio
42
42
43
43
**Active Records considered for Cascading action**
44
44
45
-
Cascading actions on active records will only include records that have a state code of "Active". The following State Codes for these tables, are considered Active for Cascade actions. Different labels (other than Active) may be used for this state code in different tables. Any custom state or status code with values other than below will not be processed as an active record for cascading purposes.
45
+
Cascading actions on active records only include records that have a state code of "Active". The following State Codes for these tables, are considered Active for Cascade actions. Different labels (other than Active) may be used for this state code in different tables. Any custom state or status code with values other than below won't be processed as an active record for cascading purposes.
46
46
47
47
| Table Name | State Code 0 | State Code 1 | State Code 2 | State Code 3 |
|Assign|The referenced table record owner and/or business unit is changed.|Active<br />Cascade<br />NoCascade<br />UserOwned|
81
81
|Delete|The referenced table record is deleted. **Note:** The options for this action are limited.|Cascade<br />RemoveLink<br />Restrict|
82
-
|Merge|The record is merged with another record. **Note:** For referenced tables that can be merged, Cascade is the only valid option. In other cases use NoCascade.|Cascade<br />NoCascade|
82
+
|Merge|The record is merged with another record. **Note:** For referenced tables that can be merged, Cascade is the only valid option. In other cases, use NoCascade.|Cascade<br />NoCascade|
83
83
|Reparent|See [About the reparent action](#about-the-reparent-action) later.|Active<br />Cascade<br />NoCascade<br />UserOwned|
84
84
|Share|When the referenced table record is shared with another user.|Active<br />Cascade<br />NoCascade<br />UserOwned|
85
85
|Unshare|When sharing is removed for the referenced table record.|Active<br />Cascade<br />NoCascade<br />UserOwned|
@@ -97,10 +97,11 @@ The `CascadeConfiguration` (<xref:Microsoft.Xrm.Sdk.Metadata.CascadeConfiguratio
97
97
> if they want to continue using it.
98
98
99
99
### About the assign action
100
-
The assign action allows the owner, the Owning Business Unit or both owner and business unit updates to be cascaded down to all child records when the parent record is updated.
100
+
101
+
The assign action allows the owner, the Owning Business Unit, or both owner and business unit updates to be cascaded down to all child records when the parent record is updated.
101
102
102
103
#### Allowed record ownership across business units not enabled
103
-
When the [allow record ownership across business units](/power-platform/admin/wp-security-cds#to-enable-this-matrix-data-access-structure-preview)is not enabled, the Owning Business Unit column can't be explicitly updated when changing the record's owner. The following lists the cascading behaviors when the parent's record owner is updated.
104
+
When the [allow record ownership across business units](/power-platform/admin/wp-security-cds#to-enable-this-matrix-data-access-structure-preview)isn't enabled, the Owning Business Unit column can't be explicitly updated when changing the record's owner. The following lists the cascading behaviors when the parent's record owner is updated.
104
105
105
106
If you update the owner:
106
107
@@ -112,8 +113,8 @@ If you update the owner:
112
113
- Cascade assign set to None
113
114
- Record owner is updated to the new owner
114
115
- Record business unit is updated to new owner's business unit
115
-
- Child records' owner is not updated (no cascade)
116
-
- Child records' business unit is not updated (no cascade)
116
+
- Child records' owner isn't updated (no cascade)
117
+
- Child records' business unit isn't updated (no cascade)
117
118
118
119
#### Allowed record ownership across business units is enabled
119
120
@@ -134,23 +135,23 @@ the Owning Business Unit column can be explicitly updated when changing the reco
134
135
- Cascade assign set to None
135
136
- Record owner is updated to the new owner
136
137
- Record business unit is updated to new owner's business unit
137
-
- Child records' owner is not updated (no cascade)
138
-
- Child records' business unit is not updated (no cascade)
138
+
- Child records' owner isn't updated (no cascade)
139
+
- Child records' business unit isn't updated (no cascade)
- Record business unit is updated to new business unit
147
-
- Child records' owner is not updated
148
+
- Child records' owner isn't updated
148
149
- Child records' business unit is updated to new business unit
149
150
- Cascade assign set to None
150
-
- Record owner is not updated
151
+
- Record owner isn't updated
151
152
- Record business unit is updated to new business unit
152
-
- Child records' owner is not updated
153
-
- Child records' business unit is not updated
153
+
- Child records' owner isn't updated
154
+
- Child records' business unit isn't updated
154
155
155
156
3. If you update the owner and business unit:
156
157
@@ -164,12 +165,12 @@ the Owning Business Unit column can be explicitly updated when changing the reco
164
165
- Cascade assign set to None
165
166
- Record owner is updated to the new owner
166
167
- Record business unit is updated to new business unit
167
-
- Child records' owner is not updated
168
-
- Child records' business unit is not updated
168
+
- Child records' owner isn't updated
169
+
- Child records' business unit isn't updated
169
170
170
171
#### Change the cascade behaviors with the OrgDBSettings AlwaysMoveRecordToOwnerBusinessUnit
171
172
172
-
You can set **AlwaysMoveRecordToOwnerBusinessUnit** to false; the user owned records' Business unit is not moved to the new user's business unit.
173
+
You can set **AlwaysMoveRecordToOwnerBusinessUnit** to false; the user owned records' Business unit isn't moved to the new user's business unit.
173
174
174
175
**AlwaysMoveRecordToOwnerBusinessUnit** can be set in [environment database settings](/power-platform/admin/environment-database-settings) and can also be set using the [OrgDBOrgSettings tool for Microsoft Dynamics CRM](https://support.microsoft.com/help/2691237/orgdborgsettings-tool-for-microsoft-dynamics-crm).
175
176
@@ -179,29 +180,29 @@ You can set **AlwaysMoveRecordToOwnerBusinessUnit** to false; the user owned rec
179
180
180
181
- Default cascade assign behavior (cascade all)
181
182
- Record owner is updated to the new owner
182
-
- Record business unit is not updated
183
+
- Record business unit isn't updated
183
184
- Child records' owner is updated to the new owner
184
-
- Child records' business unit is not updated
185
+
- Child records' business unit isn't updated
185
186
- Cascade assign set to None
186
187
- Record owner is updated to the new owner
187
-
- Record business unit is not updated
188
-
- Child records' owner is not updated
189
-
- Child records' business unit is not updated
188
+
- Record business unit isn't updated
189
+
- Child records' owner isn't updated
190
+
- Child records' business unit isn't updated
190
191
191
192
2. If you update the business unit:
192
193
193
194
**AlwaysMoveRecordToOwnerBusinessUnit** = false
194
195
195
196
- Default cascade assign behavior (cascade all)
196
-
- Record owner is not updated
197
+
- Record owner isn't updated
197
198
- Record business unit is updated to new business unit
198
-
- Child records' owner is not updated
199
+
- Child records' owner isn't updated
199
200
- Child records' business unit is updated to new business unit
200
201
- Cascade assign set to None
201
-
- Record owner is not updated
202
+
- Record owner isn't updated
202
203
- Record business unit is updated to new business unit
203
-
- Child records' owner is not updated
204
-
- Child records' business unit is not updated
204
+
- Child records' owner isn't updated
205
+
- Child records' business unit isn't updated
205
206
206
207
3. If you update the owner and business unit:
207
208
@@ -215,8 +216,8 @@ You can set **AlwaysMoveRecordToOwnerBusinessUnit** to false; the user owned rec
215
216
- Cascade assign set to None
216
217
- Record owner is updated to the new owner
217
218
- Record business unit is updated to new business unit
218
-
- Child records' owner is not updated
219
-
- Child records' business unit is not updated
219
+
- Child records' owner isn't updated
220
+
- Child records' business unit isn't updated
220
221
221
222
> [!NOTE]
222
223
> When **AlwaysMoveRecordToOwnerBusinessUnit** = false
@@ -237,13 +238,13 @@ You can set **AlwaysMoveRecordToOwnerBusinessUnit** to false; the user owned rec
237
238
238
239
### About the reparent action
239
240
240
-
The reparent action is very similar to the share action except that it deals with the inherited access rights instead of explicit access rights. The reparent action is when you change the value of the referencing column in a parental relationship. When a reparent action occurs, the desired scope of the inherited access rights for related tables might change for ReadAccess, WriteAccess, DeleteAccess, AssignAccess, ShareAccess, AppendAccess and AppendToAccess. It will not change for CreateAccess. The cascade actions related to the reparent action refer to changes to access rights indicated above for the table record and any table records related to it.
241
+
The reparent action is similar to the share action except that it deals with the inherited access rights instead of explicit access rights. The reparent action is when you change the value of the referencing column in a parental relationship. When a reparent action occurs, the desired scope of the inherited access rights for related tables might change for ReadAccess, WriteAccess, DeleteAccess, AssignAccess, ShareAccess, AppendAccess and AppendToAccess. It doesn't change for CreateAccess. The cascade actions related to the reparent action refer to changes to access rights indicated above for the table record and any table records related to it.
241
242
242
243
<aname="BKMK_MergeAction"></a>
243
244
244
245
### About the merge action
245
246
246
-
The merge action can sometimes have problems completing if a record that is part of the operation set is deleted while the merge system job is running. Often this will result in an error indicating that the record will be "differently parented" or the child record "might lose its parenting". If this occurs, and you would prefer the merge continue forward even if the record is missing, you can choose to disable the parent check when you select the columns to merge.
247
+
The merge action can sometimes have problems completing if a record that is part of the operation set is deleted while the merge system job is running. Often this results in an error indicating that the record will be "differently parented" or the child record "might lose its parenting". If this occurs, and you would prefer the merge continue forward even if the record is missing, you can choose to disable the parent check when you select the columns to merge.
0 commit comments