Changing Inherited Properties of Attributes

When you associate an attribute with a product class, it is inherited by all member subclasses. If you edit an attribute on the product 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 product 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 under that subclass.

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 product 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 the following figure. 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.

The attribute inheritance is described in the surrounding text.

In Subclass B, you edit the domain of Attribute A by entering a new list of values and default Value. 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 product class or subclass. In the example, the new values propagate to Attribute A in Subclass C.

There are restrictions on which fields you can edit for inherited attribute properties, as shown in the following table.

Field Editable?

Name

Yes. Breaks inheritance for all fields. Same as defining new attribute.

Data Type

Yes. Breaks inheritance for all fields. Same as defining new attribute.

Default Value

Yes. Breaks inheritance for this field.

Required

Yes. Breaks inheritance for this field.

Display Name

Yes. Breaks inheritance for this field.

Parametric Search

Yes. Breaks inheritance for this field.

Unit of Measure

Yes. Breaks inheritance for this field.

Description

Yes. Breaks inheritance for this field.

To change an inherited property of an attribute

  1. Navigate to the Administration - Product screen, then the Product Definitions view.

  2. In the Products list, select and lock the desired product.

  3. In the Versions list, click the Work Space version.

  4. Click the Attributes view tab.

  5. In the list applet, select the attribute you want to change.

  6. In the desired record in the Attributes list, change the property of the attribute.

    You can change all the fields except Name and Attribute Definition.