Inheriting an existing record definition to a new record definition


As an administrator, you can create a record definition by extending or inheriting the details from an existing record definition.

The following are the advantages of inheriting a definition from an existing record:

  • Prevents you from creating all the properties from the beginning.
  • Makes the record definition process faster.
  • Allows you to inherit all the properties and behaviors of the super record definition.
  • Allows you to modify properties such as fields and rules in the subrecord definition.

Records are defined as follows:

  • Super record definition: The existing record from which the properties and behaviors are extended or inherited.
  • Subrecord definition: The new record definition that inherits the properties and behaviors of the super record definition.

Although you can modify the inherited properties from the super record definition, the permissions of the super record definition do not get copied to the subrecord definition. You must separately add the permissions to the subrecord definition.

For example, you have an existing record definition called Ticket, and you inherit this record definition to create a new record definition called Incident. In this case, Ticket is the super record definition and Incident is a subrecord definition.

Important

Inheriting an existing record definition to a new record definition is not supported for external record definitions.

Before you begin

Before you inherit record definitions, make sure you have created a project and deployed it in BMC Helix Innovation Studio. For more information, see Creating-a-Project-using-Maven-and-the-Archetype.

Important

Application business analysts can customize the objects developed in their applications and that are marked customizable by the administrator, but cannot customize the objects developed in com.bmc.arsys in Best Practice Customization mode. For example, objects in core BMC applications like Foundation, Approval, and Assignment cannot be customized in Best Practice Customization mode. For more information, see Customization-layer.

To inherit an existing record definition to a new record definition

The following video shows you how to inherit a record definition. The video shows an older version of BMC Helix Innovation Studio. The previous product name was BMC Helix Innovation Suite. Although there might be minor changes in the UI, the overall functionality remains the same:

icon-play.pnghttps://youtu.be/WE7xvdsepaA

  1. Log in to BMC Helix Innovation Studio and navigate to the Workspace tab.
  2. Select the application or library to which you want to inherit a record definition.
  3. Select Records > New > Regular Record

    The record with default fields is displayed. 

  4. In the Details section, click Edit Edit icon.png.
  5. From the Record Inheritance section, click Record to Inherit.
    22_1_record_inheritance.png
  1. From the Record to Inherit list, select the record definition from which you want to inherit the preferences.

    Important

    The Application/Library scoped definitions are marked with an asterisk ( * ). Make sure that you follow the guidelines listed in Object-definition-scope before you select these definitions.

    The following table provides information about the properties:

    Item

    Description

    Core fields

    Inherits all the core fields from the super record definition to the subrecord definitions.
    If you select the Shared data with inheritors check box, the core fields of the super record definition are inherited by default.

    Important: You cannot remove any core fields from being inherited to the new record definition.

    Rules

    Inherits all the rules that are associated with the super record definition.

    Field permissions

    Inherits all the permissions that are associated with the fields of the super record definition.

    Associations

    Inherits all the associations that are applied to the super record definition.

    Audit field properties

    Inherits all the field-level auditing properties that are configured for the super record definition.

  2. (Optional) Specify the inheritance properties for the record definition.  

    The following table provides information about the properties:

    UI Item

    Description

    Shared data with inheritors

    Shares a common database with all the subrecord definitions that are inherited from this record definition.
    You can search the database for a super record definition and retrieve all the instances of the super record definition and its subrecord definitions.
    When you select this check box, by default, the core fields of the super record definition are inherited and cannot be modified.

    Make abstract

    Prohibits the user from creating instances of that record definition.

    For example, if Shape is an abstract record definition and Circle is an inherited record definition, you cannot create an instance of the Shape record definition.

    Make final

    Prohibits the user from inheriting this record definition.

  3. Click Save.

Limitations for inheriting existing record definitions

When you inherit or extend an existing record definition to a new record definition, you might encounter the following limitations:

  • The subrecord definition cannot modify or delete the fields of the super record definition.
  • You can inherit only one record definition at a time.
  • You can stop extending or breaking the inheritance at any time if you have not selected the Share data with inheritors option.
  • You cannot customize the fields that you inherit in subrecord definitions. If you need to customize the inherited fields, you must customize the fields in the super record definition and then inherit the record definition.