Structure inheritance is a powerful means of reusing structures within other structures. It is used for two principal reasons:
Avoiding duplication - This is similar to the concept of a segment in EDI, or a complex type in XML Schema. For example, you can define an Address structure that is reused for a billing address and shipping address.
Customization - In many business document definitions, you will often use only a small subset of the standard document. You can use structure inheritance to create a customized version of the original standard, and then delete (or modify) the unused elements.
Version Migration - If you are referencing some standard structure (either an internal or external standard) which might later change to a newer version, you also use structure inheritance to create a custom structure. Then when you want to use a newer version of the standard, simple change the inheritance to point to the new standard structure and then reconcile any differences in the structure editor, then open and reconcile any affected maps (using the Show Objects Needing Validation mechanism).
Structure inheritance allows an element to inherit from a structure, so that the element's children come from the inherited structure's elements. If elements are added or changed in the inherited structure, the changes automatically appear in any inheriting structures.
Structure inheritance works by specifying that an element inherits from a structure. You can do this in three ways:
New Structure Wizard - Creating a Custom Structure - This creates a new structure that customizes another structure. Do this using New -> Structure from the File menu or from the Repository navigator. Select the Create a structure that is a customization... item and specify the structure to be created and the structure you are customizing, which is typically a standard of some sort. Initially your custom structure will appear as identical to the structure from which it inherits. You then add, delete or change elements in the custom structure to suit your needs (typically you would delete many elements and code values).
Setting an element's inheritance properties - Click the browse [...] button next to Inherits From and specify the parent structure whose properties you want this element to inherit.
Drag the parent structure to the element - You can drag the parent structure from the Repository navigator directly onto the desired element in the structure editor.