In an entity with a recursive Hierarchy, we decided to implement a business rule that manage the value of an attribut based on the value of the father member.
It's working as expected when we create the new nember and when we move to a different father. The business rule is executed to validate the member and do it's job by updated the attribute value.
Only one test failed for this implementation : Moving a member that already have a child (or more)
In this context the member come with all chrildren but only the member that will have a new father need to be validated one more time.
So the Business Rule will not be executed on children members and they don't will have the good value for the attribute.
Is there normal that children members stay in validated state ?
Is there a way to invalidate children rows to ?
Is there a way to force the execution of a business rule in a validated member ?
- Tipo cambiado Ed Price - MSFTMicrosoft employee, Owner miércoles, 31 de diciembre de 2014 1:34
Todas las respuestas
I've tried to test your recursive hierarchy issue, but I had another issue that blocked me.
I've made a testmodel with a testentity : Employee with a self domain based attribute" Manager" (for recursivity), and "hasmanager" domain based attribute with another entity : HasManager with values "YES" or "NO"
an a derived hierarchy to display employees/Manager
2 business rules : first to set a default value for has manager to "Yes" and second to update HasManager attribute to "No" if employee has no manager
I've set "Enable change tracking" (group 1) for all my attributes, and when I apply business rules , I've got an error message, and HasManagerAttribute does not get set to default value nor updated.
the error is "Invalid column name 'uda_6_102'
doing a sql server profiler gave me the original call:
declare @p4 mdm.IdList insert into @p4 values(1) exec mdm.udpValidateMembers @User_ID=1,@Version_ID=2,@Entity_ID=6,@MemberIdList=@p4,@MemberType_ID=1,@ProcessUIRulesOnly=0
which gave the error :(1 row(s) affected)
Msg 50000, Level 16, State 1, Procedure udp_SYSTEM_2_6_CHILDATTRIBUTES_ProcessRules, Line 517
SYSERR207|Invalid column name 'uda_6_102'.
I don't understand why I'm having this issue.
here is my B.R. to update the HasManager to value "N", which is causing problem
Any clues ?
Microsoft Community Contributor
If a post answers your question, please click "Mark As Answer" on that post and "Vote as Helpful".