Product Administration Guide > Product Attributes >

Customizing an Inherited Attribute Domain


When you define an attribute on a class or subclass, it is inherited by all member subclasses. If you edit an attribute on the class where it was originally defined, the changes propagate to all member subclasses. The attribute definition is uniform for all subclasses that inherit it.

Subclasses can have two kinds of attributes: local and inherited. A local attribute is one that is defined on the subclass. An inherited attribute is one that is inherited from a parent class.

You customize an inherited attribute domain by editing its definition at the subclass level. When you edit an inherited attribute definition, the changes propagate to all members of the subclass, including other subclasses.

Editing an inherited attribute permanently breaks attribute inheritance for the fields you edit. Editing the domain of an inherited attribute permanently prevents an attribute from inheriting domain changes from its parent attribute.

If you delete the parent class attribute, it is not deleted from subclasses where inheritance is broken. (The attribute definition is deleted from all subclasses where inheritance has not been broken.)

For example, you have the class hierarchy in Figure 3. Product Class A has one subclass called Subclass B. Subclass B has one subclass called Subclass C. Class A has Attribute A defined on it. Subclass B has attribute B defined on it. Subclass C has Attribute C defined on it. Subclass B inherits Attribute A from Class A. Subclass C inherits Attribute A from Class A and Attribute B from Subclass B.

Figure 3. Attribute Inheritance

Click for full size image

In Subclass B, you edit the domain of Attribute A by entering a new LOV Type and Default Value. The LOV Type and Default Value for Attribute A in Subclass B no longer inherits changes to these fields from Attribute A in Class A, its parent attribute.

When you edit a local or inherited attribute, the changes propagate to all members of the class or subclass. In the example, the new LOV Type and Default Value propagate to Attribute A in Subclass C.

You can edit the domain of an inherited attribute as follows:

You can also edit the other fields in the attribute definition, including the Default Value, Validation, Required, Display Name, Parametric Search, and Unit of Measure fields.


 Product Administration Guide, Version 7.5 
 Published: 18 April 2003