Within my Organization model I have an issue with setting access rights the way I would like to. For a certain group of users I want to give access to only the consolidated members of an explicit hierarchy but not the leaf members. When I set the security and enter the application as a user with these access rights, I get an error ( "An unknown error occured") when I try to go into the Organization entity or into the members within the Organization hierarchy.
Starting from scratch with a very small testmodel I was able to pinpoint the issue: the errors starts to occur when I create an attribute based on the same domain based attribute on both the Leaf level as well as the Consolidated level.
Doing this also causes another undesirable effect: that domain based attribute occurs twice in the Enities menu-item list.
I can not imagine that I am the first person to build this....?
Kind regards, Susanne
Can you explain a bit more about the business case for using the same dba for the consolidated and the leaf members? It seems like you should be able to do this, but I was just curious because consolidated members are usually not physical things, while leaf members usually are.
To configure this scenario, are you going in System Administration, Manage > Entities, selecting your entity and then adding a dba under both the "Leaf attributes" and "Consolidated attributes" sections? I did this, and when I go in Explorer I don't see my dba listed twice under the list of entities.
(In my example, I created a Product entity and Color entity. I used Color as a dba for both the leaf and consolidated members. When I open Explorer and point to Entities on the menu bar, I see Product and Color in the list, but nothing is repeated.)
Suzanne Selhorn [MSFT]
You asked about the business case for using the same domain based attribute for consolidated and leaf members: my customer wants to have several of the same attributes on both levels, e.g. Organization Type, Organzation Category.
And yes, I set things up the way you described: going into System Administration, Manage > Entities, selecting the Organization entity and then adding a dba under both the "Leaf attributes" and "Consolidated attributes" sections
You said that you were not able to reproduce the duplicate appearance of the domain based attribute in the list. But you did not mention if you were able to reproduce the error with regards to access rights, which is a bit more important to me actually ;-)
Using an administrator account, working via Remote Desktop, I set security on the Organization entity. I set it for my own UserID and set the Leaf to ReadOnly and the Consolidated to Update.
When I enter the MDS web application locally, so with my own UserID, and go to the Organization entity I get the error message 'An unknown error occurred'. There is also a green 'back' arrow. When I click on it, it says 'Access denied'.
By the way: I do not see the dba listed twice on the server where I am working as an administrator either, just locally when I enter with my own userid.
I did some more tests just now: the issues do not only occur when I set the security the way described above. The issue also occurs when I set update rights for the entire Organzation entity. The error stops occurring when I set update rights on the Model level, but I still see the dba listed twice.
I am very curious to hear if you can reproduce this.
Kind regards, Susanne
Seems like I'm not alone with this matter.
I just started finalizing my production environment and started assigning user permissions to different users. To this point I've been using MDS only with a user that has administrator access, so no restrictions.
In model M, I have an entity AA that has a domain-based attribute X, that references to entity BB. This domain based attribute X is defined for both leafs and consolidated members. Just as Susanne had with her situation. When I assign permissions to user "U1" and give him read-access to model M and Update rights to entity AA's consolidated members. When I log in as user "U1" some strange things start happening:
First of all, entity BB shows up TWICE in the entity menu list (just like in Susanne's case)
Secondly, when I try to view the members of the AA entity I get the following error message:
Server Error in '/MDS' Application.
A column named 'X' already belongs to this DataTable.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.DuplicateNameException: A column named 'X' already belongs to this DataTable.
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
[DuplicateNameException: A column named 'X' already belongs to this DataTable.]
System.Data.DataColumnCollection.RegisterColumnName(String name, DataColumn column, DataTable table) +6239693
System.Data.DataColumnCollection.BaseAdd(DataColumn column) +144
System.Data.DataColumnCollection.AddAt(Int32 index, DataColumn column) +101
System.Data.DataColumnCollection.Add(String columnName, Type type) +62
Microsoft.MasterDataServices.WebUI.ServiceAdapter.ConvertEntityMembersToDataTable(Collection`1 members, DisplayType displayType) +622
Microsoft.MasterDataServices.WebUI.UserControls.Common.Attribute.GetData(Boolean allRecords, Boolean idOnly, String filterCriteria) +2138
Microsoft.MasterDataServices.WebUI.UserControls.Common.Attribute.LoadGrid(Boolean clearGridData) +737
System.Web.UI.Control.OnLoad(EventArgs e) +132
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2428
There is also a thread regarding this error message: http://social.msdn.microsoft.com/Forums/hr/sqlmds/thread/6d4da4fe-bad9-4599-9f66-4080cca90177
I have MDS version 10.51.2425.0 and I'd like to start production use with the application but unfortunately it ain't possible without a bug fix which this issue certainly needs or a proper workaround. Is there anything I can do to solve this ?
I got assisted by Nathan LiuCheng in the partner forums and it found out that there was a hotfix to this issue:
FIX: "A column named 'AttributeName' already belongs to this DataTable" error when you open an entity in Master Data Manager in SQL Server 2008 R2 MDS
I installed the SQL Server 2008 R2 SP1 Cumulative Update 5. After installing seems like the bug described is gone!
So, thank you very much for your help !
- Proposed as answer by Tommi Vihervaara Tuesday, March 13, 2012 8:18 AM