Administration > Working with the Type and Attribute Management Utility > Managing Types > Type Information Page > Cascading Attributes Tab > Enumerations and Cascading Attribute Rules
  
Enumerations and Cascading Attribute Rules
To be eligible for use in a cascading attribute rule, an attribute must have a string data type, and a single, enabled enumerated value list constraint directly backed by a global enumeration. To be directly backed by a global enumeration, the enumerated value list constraint must have been created using an existing global enumeration.
Other enumerated value list constraints can be present on the attribute, and the attribute can still be eligible for use in cascading attribute rules as long the other enumerated value list constraints meet one of the following criteria:
The enumerated value list constraint is directly backed by a global enumeration, but is disabled. If more than one such enumerated value list constraint is enabled, the attribute becomes ineligible for use in new cascading attribute rules.
The enumerated value list constraint is local (an entirely new enumeration was created on this attribute).
The enumerated value list constraint is based on an existing global enumeration.
If an attribute used in a cascading attribute rule later becomes ineligible, any cascading attribute rules including that attribute remain unchanged. For example, the attribute could become ineligible if the single, enabled enumerated value list constraint directly backed by a global enumeration is deleted, or a second enumerated value list constraint directly backed by a global enumeration is enabled. The rule, including the condition with the now ineligible attribute, can be edited to change the values selected for that condition, but if the now ineligible attribute is removed from the condition, it cannot be added elsewhere in the rule.
For more information on creating enumerated value list constraints, see Enumerated Value List Constraints
Displaying the Backing Enumeration for an Attribute in a Cascading Attribute Rule
When an attribute is selected from the drop-down list for an If or And If condition or the Then clause of a cascading attribute rule in the New Rule or Edit Rule window, the name of the global enumeration that is backing the enumerated value list constraint is displayed in the Enumeration field below the drop-down list.
The backing enumeration in effect when the cascading attribute rule was created or edited is saved with the rule. Editing the attribute itself to change the global enumeration referenced by the enumerated value list constraint, or changing the enumerated value list constraint itself does not change the backing enumeration on any existing cascading attribute rules. Any new cascading attribute rules use the currently enabled backing enumeration, and display it in the Enumeration field.
Global Enumerations
Global enumerations are created and managed from the Manage Global Enumerations window of the Type and Attribute Management utility. Both root enumerations (the top-level enumeration directly under an organizer in the Manage Global Enumerations window) and their subenumerations can be used as backing enumerations for attributes eligible for use in cascading attribute rules.
For each global enumeration, the enumeration entries are included in either the Available for selection table, or the Removed from selection list table.
These tables determine whether the entries are visible and selectable in the end-user user interface when the value list is used by an attribute. Entries in the Available for selection table are selectable in the end-user interface, while entries in the Removed from selection list table are not selectable in the end-user interface. These tables have no impact on the availability of the enumeration entries for cascading attribute rules. All entries in the backing global enumeration are available to be selected for cascading attribute rules in the New Rule, Edit Rule, and Edit Condition windows. Only those entries in the Available for selection table for an enumeration, however, can appear in the Attribute Set Report for the attribute or be available for selection in the end-user user interface when the value list is used by an attribute. As a result, cascading attribute rules can be defined for all entries in an enumeration, and the backing enumeration can be edited to determine which entries are or are not selectable at any given time, without the need to manipulate the cascading attribute rules.
If entries are added to a root enumeration, they are automatically inherited by all subenumerations of that root enumeration, and are added to the Removed from selection list table of the subenumerations. Similarly, if entries are deleted from a root enumeration, they are automatically deleted from all subenumerations of that root enumeration. If entries are added to an enumeration which is used as the backing enumeration for any part of an existing cascading attribute rule, those entries are added to the rule as unselected values.
The sort order of the enumeration entries in the Available for selection table and Removed from selection list table determines the order in which values are presented for selection in the Select Values list on the New Rule, Edit Rule, or Edit Condition windows for attributes backed by the enumeration. It also determines the order in which the selected values are listed for the Then clause on the Cascading Attributes tab, and the order of the values when presented in the Attribute Set Report window. If there are entries in both tables, the Select Values list displays the entries in the Available for selection table first, followed by the entries in the Removed from selection list table.
Changing the sort order on the global enumeration changes the order of values presented in Select Values lists, the Cascading Attributes tab, and the Attribute Set Report window as well.