Home Dashboard Directory Help
Search

MDS Business Rule affecting a DBA incorrectly reports Validation Succeeded by Half A


Status: 

Active


1
0
Sign in
to vote
Type: Bug
ID: 789986
Opened: 6/12/2013 6:40:59 AM
Access Restriction: Public
1
Workaround(s)
view
1
User(s) can reproduce this bug

Description

Using a combination of business rules of type "change value to" and "is invalid/is required" leads to a member incorrectly being marked as "Invalid" or "Valid".

Using a business rule to change the value of a required DBA will incorrectly succeed, even if the value set by the business rule is an incorrect code for the linked entity. In this case, the "Is Required" business rule succeeds, and the member is reported as Valid.

According to my analysis, the "Is Required" business will check if ANY value is assigned to the attribute, and not if a valid/existing code is assigned. In other words, the business rule will evaluate the "Is Required" prior to to the resolution of the value into an existing member. The result is that the required attribute is blank, but the Is Required rule succeeds.

Details
Sign in to post a comment.
Posted by Microsoft on 8/9/2013 at 9:32 AM
Hello Half A.

Thanks for sharing your feedback with us. While we've entered this into our pipeline, as a Connect item, it's not eligible for any release vehicle more frequent than a service pack, the next of which will not be deployed for some months. If there is real urgency and business impact, then this issue would probably best be handled by our support engineers. If you don’t already have a local support representative, you can get more information from http://support.microsoft.com/kb/295539. If we are still needed to help resolve the issue, the support staff will engage us. Otherwise, this item will continue to move through the service pack track.

-Walter A Jokiel, Program Manager, SQL Server (wajokiel@microsoft.com)
Posted by Half A on 8/9/2013 at 4:28 AM
Hello Walter!
Any updates on this issue?
We are now in UAT phase for an important customer and members are being reported as valid even though mandatory information is missing. This is a big problem, we need a solution for this.
Posted by Half A on 7/8/2013 at 8:50 AM
Thanks Walter!
One important point to keep in mind is that members with status "Valid" or "Invalid" are excluded from Business Rule processing. This means that the members incorrectly marked as Invalid can only be "re-validated" if one attribute has changed, or if business rules are republished. This exclusion makes sense from the design perspective (there is no reason to re-validate the same data against the same rule, because the result is the same).
Posted by Microsoft on 7/2/2013 at 1:53 PM
Hello Half A. Thank you for bringing this to our attention. We really do appreciate the feedback. We’ll investigate and get back to you.

-Walter A Jokiel, Program Manager, SQL Server (wajokiel@microsoft.com)
Sign in to post a workaround.
Posted by Half A on 7/8/2013 at 8:55 AM
Locate the stored procedure for your business rules:
[mdm].[udp_SYSTEM_X_Y_CHILDATTRIBUTES_ProcessRules]

X is the model ID and Y is the entity ID, which you find in the URL when browsing the entities (MID and EID, respectively).


Edit the following line:


WHERE fact.Version_ID = @Version_ID
     AND fact.ValidationStatus_ID IN (@ValidationStatus_NewAwaitingValidation, @ValidationStatus_AwaitingRevalidation, @ValidationStatus_AwaitingDependentRevalidation
    );

Add the 2 to the IN clause. This means that invalid members will be considered as members to validate.

AND fact.ValidationStatus_ID IN (2, @ValidationStatus_NewAwaitingValidation...

Notes:

1. It is neither recommended not supported to change the SP code.
2. This reduces the performance of validation, specially if you have many invalid members.
2. The procedure is recreated once the business rules are published.
File Name Submitted By Submitted On File Size  
MDS_BUG_Members.png 6/12/2013 59 KB
MDS_BUG_Rule.png 6/12/2013 9 KB