Product Administration Guide > Products with Attributes >

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 Figure 2. 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 2. Attribute Inheritance

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. These restrictions are shown in Table 5.

Table 5. Editable Fields in a Subclass Inherited Attribute Properties
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 Attribute Name and Attribute Definition.

Viewing Changes in the Inherited Properties of Attributes

You can view changes that users have entered to override the inherited properties of an attribute.

To view changes in inherited properties 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 whose changes you want to view.
  6. From the Attributes list menu, select Show User Input.

    A text file appears, with a list of changes that users made to the inherited properties.

Restoring the Inherited Properties of an Attribute

If users have changed the inherited properties of an attribute, you can discard all these changes and restore the inherited properties.

To restore the inherited properties 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 whose properties you want to restore.
  6. From the Attributes list menu, select Restore.
Product Administration Guide Copyright © 2011, Oracle and/or its affiliates. All rights reserved. Legal Notices.