The BOM Procedure

Product Structure Data Set

The Product Structure data set lists all product structure records in a product, product line, plant, or company. Each product structure record defines the relationship of one component to its immediate parent item. It also includes quantity per assembly. The quantity per assembly is the quantity of the component that is required to make one unit of the parent item. A product structure record may contain fields for scrap factor, lead-time offset, and other information. The scrap factor of a parent-component relationship is used to increase the gross requirement of the component to account for anticipated loss within the manufacture of the parent item (Cox and Blackstone 1998). The lead-time offset of a parent-component relationship can be used to control when the component is issued to a work center while manufacturing the parent item, as well as to determine the need date when planning, purchasing, or manufacturing the component (Clement, Coldrick, and Sari 1992). Note that the lead-time offset may be expressed in a unit that is different from the lead time in the Part Master data set. For example, the lead time may be measured in weeks while the lead-time offset is measured in days or hours. If necessary, you can pass the unit that is used to measure the lead-time offset from this data set to the Indented BOM data set using the RID= option. Similarly, you can pass the unit for expressing the lead time to the Indented BOM and Summarized Parts data sets from the Part Master data set using the ID= option.

You can put more than one product structure record with the same parent item into one observation in this data set. See the SlBOM1 data set shown in Output 3.1.1 as an example. You can also include part master data in this data set. See Example 3.1 and Example 3.2 as examples.

The BOM procedure uses the Product Structure data set as input data with key variable names being used to identify the appropriate information. The Parent and Component variables contain the part numbers for the parent item and its components. These variables must be of the same type, format, and length as the Part variable in the Part Master data set. The Quantity, Factor, and Offset variables contain information for the quantity per assembly, scrap factor, and lead-time offset, respectively. Additional information for the parent-component relationships, such as engineering effectivity, point-of-use, operation number, reference designator, line sequence number, etc., can be passed to the Indented BOM data set using the RID variables.

Table 3.3 lists all the variables in this input data set, with their type and their interpretation by the BOM procedure. It also lists the options in the STRUCTURE statement that are used to identify these variables.

Table 3.3: Product Structure Data Set and Associated Variables






Same as Part


Part number for




the component




Scrap factor for the






Lead-time offset for


the relationship


Same as Part


Part number for




the parent item




Quantity per assembly


for the relationship


Character or


Additional information




about the relationship

A given component can be structured into a parent item more than once. The Offset variable (if the component is used at a different time in the process) and any RID variables (point-of-use, parent operation, line sequence number, etc.) can be used to distinguish product structure records with the same parent and component. See Example 3.6 as an example. If two or more product structure records have the same parent, component, lead-time offset, and values for all RID variables, the procedure handles them according to the specification of the DUPLICATE= option. If the value of the DUPLICATE= option is specified as the keyword COMBINE, the procedure combines these product structure records into one record. The quantity per assembly and the scrap factor of this new product structure record are determined as

\[  q_{0}=\sum _{i=1}^{k}q_{i}  \]


\[  f_{0}=\frac{\sum _{i=1}^{k}(q_{i} \times f_{i})}{q_{0}}  \]

respectively, where

$\displaystyle  k  $
$\displaystyle  =  $
$\displaystyle  \mbox{number of identical product structure records}  $
$\displaystyle f_{0}  $
$\displaystyle  =  $
$\displaystyle  \mbox{value of the scrap factor of the new product structure record}  $
$\displaystyle f_{i}  $
$\displaystyle  =  $
$\displaystyle  \mbox{value of the scrap factor of the $i$th identical product structure}  $
$\displaystyle  $
$\displaystyle  $
$\displaystyle  \mbox{record}  $
$\displaystyle q_{0}  $
$\displaystyle  =  $
$\displaystyle  \mbox{value of the quantity per assembly of the new product structure}  $
$\displaystyle  $
$\displaystyle  $
$\displaystyle  \mbox{record}  $
$\displaystyle q_{i}  $
$\displaystyle  =  $
$\displaystyle  \mbox{value of the quantity per assembly of the $i$th identical product}  $
$\displaystyle  $
$\displaystyle  $
$\displaystyle  \mbox{structure record}  $

If the value of the DUPLICATE= option is specified as the keyword DISCARD, then the procedure keeps the first identical product structure record and discards the others. On the other hand, if the value of the DUPLICATE= option is specified as the keyword KEEP, PROC BOM keeps all identical product structure records and processes them independently.