November 3, 2020
These three topics are usually complex and can be confusing, especially for non-sophisticated users. In my blog today, I want to share the basics of what concepts such as product structure, item, reference, instance and give you some examples from OpenBOM. I will talk about what we do today and we’re planning to do in a near future.
Product Structure Basics
A typical product structure is usually built around two elements – items and instances. The items represent all building blocks of the products. You manage all information about them and (this is very important) the identification. Usually, it is Part Number, but it can be more complex sometimes. Instances represent a specific instance of an item. So, you’re instantiating an item in a specific BOM. By doing so, you create parent-child relationships between assembly items and their part. More about it and also how the OpenBOM reference-instance model works is here.
Item and Instance (BOM) Objects
Although the traditional representation of BOM is to show the hierarchical structure of boxes (items), I’d suggest you think about 3 objects representing the foundation of BOM (product structure) relationships:
- Parent Item Object
- Child Item Object
- Relationship Object
Take a look at the image below. Each object has properties and these properties will play an important role in the way product structure can function.
What is the difference between them? Item objects represent typical characteristics that not changing from one BOM to another BOM. Think about Description, Material, Manufacturer, Cost, Effectivity, list of Configurations. Whatever you save in an Item Object, will be there forever regardless of what BOM it is instantiated.
Relationship Object is different in each BOM. So, each time you instantiate the Item in a specific BOM, you create a Relationship Object. Which means if I inserted a screw into two different BOMs, you will have two instance objects – for each BOM. Think about one instance object holding Quantity for one BOM and another instance object, holding the Quantity for another BOM. You will get Quantity based BOM.
Another option is when the instance object itself will represent Quantity equal to 1. And, in this case, each time you add an item into a BOM, the instance is created with the Quantity one. In such a case, instance property can be a reference designator or location or anything else.
Pic: BOM Item and Instance Objects
Configured vs Resolved BOMs
Once you have created the system of objects, the important thing is to learn what you can do using this system. The Instance-reference model gives you a strong foundation to manage configured and resolved BOM.
A configured BOM is usually a BOM (product structure) that has additional options (usual items) and conditions that can be used to filter (resolve) the results. For the simplest example, you might have 2 types of boards and 2 types of wheels on the skateboard. Having all of them in the product structure will give you a configured product structure. Having tools to filter the right set of items is what will make this BOM “resolved” for a specific configuration.
One of the ways to code options is to use variant names (or codes) places in the product structure. The codes can be applied for each item and instance objects. Once it is done you can be using them for filtering. In OpenBOM you can filter using a simple filter as well as by applying user-defined filters in Views.
It is a term usually used to describe specific instance information. The position can be a letter, specific number, reference designator, or anything similar. In different companies, they can mean different things, but what is common – all these names are usually applied to the instance object (in the case of OpenBOM – it will be a BOM property).
Effectivity (Name, Date, Serial P/N)
An effectivity is a common name used to describe what are the conditions for the validity of items or relations in the BOM (product structure). The effectivity typically can come as name (eg. configuration), data (from/to), or serial (the part number or serial number). It is a generic term but usually does work to identify filtering criteria and turn BOM from configured to resolved.
OpenBOM gives you a flexible infrastructure to define the data model to manage product structure. The foundation – reference instance model and it can be enhanced on both item and instance levels by adding any type of properties and applying filters. In my next article, I will bring some practical examples of how you can use different instances and object properties for defining a configured product structure and resolving it for specific options or configurations.
You can do it today, by REGISTERING for OpenBOM. It has a free subscription, you can get also try professional subscriptions for 14 days and you can use OpenBOM risk-free money
Best, Oleg @ openbom dot com.