Skip to main content

Inheritance logic

Inheritance in Hii Retail Master Data Processing

Hii Retail uses inheritance: information set higher in a hierarchy is inherited by underlying entities.

The hierarchical structure of Business Unit Groups should be maintained as Business Units are created, removed, or moved.

When an entity is associated with a Business Unit Group (via BusinessUnitGroupId), its data is inherited by all underlying Business Units.

This logic applies at any hierarchy level. Information set lower in the hierarchy applies from that level downward, allowing for specific data for different groups.

Overrides

Inheritance applies to most entities, but there are exceptions.

Inheritance makes it easy to propagate entity details to all Business Units, but sometimes you need to replace or override data for parts of the hierarchy. For example, you may want to force an entity to all underlying Business Units, even if they have a local definition. This is common for entities like Price Specifications.

Item example

Item inheritance

This example shows that an overall definition of an Item can be applied to the entire organization, but variations can be applied to certain parts and not others.

You might want to use a specific version of the Item for some Business Units since these have a more demanding audience or they might have different legal requirement that must be fulfilled. Or more commonly, it might be that a particular chain/branch in your organization have additional information needed to satisfy some hardware in their stores. It might even be as simple as having different language in different parts of the organization.

Price Specification example

Price Specification inheritance

For example you might want to enforce a version of an entity to a group of Business Units even if they have a version defined closer in the Business Unit Group hierarchy. This is illustrated in the example above for Business Unit Group 110 where the general price is $90, inherited from Business Unit Group 10, but Business Unit 11nn has also a locally defined price of $90, which is overridden by the price defined as IsMandatory = true on Business Unit Group 110.

Cross-Entity Inheritance

Some entities propagate inherited data to other entities. For example, Item Categories can assign default properties that are inherited by all Items in that category.

Item Categories example

Item inheritance

This example illustrates that your Item Category hierarchy can be set up to contain some default information that is essential for all Items in that category. This might be something like Minimum Temperature for all refrigerated Items (Milk, yoghurt, cheese, etc.) or it might be specific content for all LED TVs like Screen size (inches), Resolution, VESA mount, etc. It might even be legal requirements that only apply for specific Items like Age Restriction for all Alcoholic beverages or tobacco products.