I am not able to delete a dimension member in hyperion planning .The error is this
Deletion of member "S104" failed (member might be referenced elsewhere in application).
This typically means that the member is used somewhere else. This can happen in the following ways:
There is a shared member somewhere else in the hierarchy with the same name (you would need to delete this as well)
There is a member with a formula that explicitly references your member (you would need to modify the formula to remove that member or reference another member)
There may be a business rule/calc that references that member by name (adjust business rule/calc to not reference that member)
Related
I was recently looking at access rights for attributes and seeing if certain attribute properties are controlled by M and others by C, but it seems like I have access to all attribute properties with the M access rights. Does anyone know what Create access rights gives for attributes?
With DOORS' concept of hierarchy and inheritance and with the general concept that everything may have its own access rights, not every single access right makes sense.
C on "something" allows you to create "something else" that is one hierarchy level below the "something". If you have an Object in your Module and remove C on this Object's properties for a group of users these users may not create Objects below this Object (example: Object containing the heading of chapter 2.3. The users will not be allowed to add any Objects in Chapter 2.3).
There is nothing in the DOORS hierarchy below Attribute definitions and Attribute values, so setting or removing C here has no effect.
In the hierarchy, Attribute definitions are directly below the Module. So, in order to prevent that a user creates Attributes on their own, you will have to remove C for this user on the Module, i.e. in the module properties. Unfortunately, this will also disallow that user to create any Object on Level 1, leaving them to being next to unable to edit the module content.
Also, removing C on the module properties will disallow the users to create Views, as View definitions are also placed directly below the Module in the hierarchy.
I am reading the Ensembles documentation where global identifiers should never change in an object life time. However, I have a Tag object which only consists with a name attribute (a string). According to the Ensembles documentation as well, the tag name can be returned as the global identifier, which is actually even better than returning a UUID for obvious reasons.
My question is, since the user is allowed to rename tags in my app, should I delete the tag object from the database and re-create it, or renaming the tag object is considered safe? (renaming the tag object will cause the app to return the new tag name as the global identifier, which seems to conflict with the warning of not changing global identifier in object's entire life cycle)
Thanks.
You should not change the global id, so the tag objects should be considered immutable. You can delete them, or insert new ones, even ones also created on other devices. But don't ever change the global id.
My advice is to create a new tag object when the user renames. Depending on your model, that may mean changing relationships from one tag object to another, but that should work well.
The nice thing about global ids is that Ensembles can merge the relationship even if you create the same tag on two devices at once.
In Umbraco 7, is there anyway to create a field on a Member, where an administrator can assign multiple Members to another Member of a different Member Type?
For example, we have 2 Member, "Dealers" and "Distributors". We would like to have a field to allow multiple "Distributors" to be associated with a "Dealer".
I know Umbraco has a "Member Picker" data type, but that looks like you can only assign a single Member. I'm guessing I might have to create a custom data type, if it's even possible with Umbraco.
Any guidance would be appreciated.
You shouldn't have to create a custom datatype, you could just create a new Multinode Treepicker data type and switch the Node type from "Content" to "Members" using the drop down. This will allow the user to select multiple members. You can also limit the picker to only allow members of a certain type by entering a list of allowed Member type aliases.
I would like to extend the types generated by the LinqToSQL TypeProvider with additional members. Is this possible? For example if the TypeProvider is pointed to a DB with a table called Company it will expose a type Company with access to the columns. As an example can I a member Company.employees to the generated type which will return all current employees from the employees table?
I don't see why you could not.. provided you have the source for the type provider!
That said, creating or extending a type provider, while not being overly complicated, is not trivial either.
So depending on how central this type generation aspect is for you, it might be best to use existing type providers, and build a layer on top of them on the 'client side'.
Once you have refined a compelling scenario where this would really yield value, then you can reuse this layer anyway.
What is your end-scenario ?
Doesn't the existing SQL Type provider cover the Company.employees case ?
It sounds like what you want to do could be accomplished by using a type extension.
Type extensions can be added to any accessible type, which should include types generated by the type provider.
Suppose I have a domain class branch which has several members:
…
static hasMany = [ members:Member ];
…
Now suppose I want to have the number of members of that branch readily available, to have it displayed in the list and view actions, so perhaps storing that information into a variable in the domain class itself would be a good idea?
…
Integer memberCount = members.size();
static constraints = {
memberCount(editable:false);
}
…
(Is this the correct syntax?) Edit: This is not the correct syntax. I cannot assess the size of the members list, as it doesn’t exist yet and grails will complain about size() not being applicable to null objects. What else could I try?
However, as memberCount is now a variable in the domain class, it is possible to assign a value to it upon creation of the Branch (which is contra-intuitive) and it will not be updated automatically once a new Member is added.
It is of course possible to reach the desired result in a different way. I could manipulate the view.gsp and list.gsp in the /Branch directory, add some additional <td>s there etc. But that does not seem very elegant to me.
Basically, I think what I am looking for is some way to tell grails that a certain variable is derived, should not be setable by the user, but update whenever necessary. Is there such way?
You can add any property you don't want persisted to the transients static list:
static transients = ['memberCount']
See this page in the manual
Also, this StackOverflow question answers the same question
Also, a better way to do derived properties may be to use the Derived Properties feature of GORM