The BOM Procedure

Summarized Parts Data Set

If the SUMMARYOUT= option in the PROC BOM statement is specified, the BOM procedure creates a Summarized Parts data set. This data set lists all the items with their quantities required (needed to be made or ordered) in order to fill the production plan specified in the Part Master data set, taking into account the quantities of these items on hand in the planning period. This data set lists each item once for the total quantity needed. Each observation in this data set represents one record, which is uniquely identified by the part number in the _Part_ variable. Each record contains all part master data (from the Part Master data set) for the item identified by the _Part_ variable. Each record also contains fields for net requirement and low-level code.

The _Part_ variable contains the part number or identification information of the item. The data set has the same LeadTime, QtyOnHand, Requirement, and all ID variables as in the Part Master data set. If you do not specify the QTYONHAND= option, the default name, On_Hand, is used to name the variable that contains the quantity of the item identified by the _Part_ variable that is currently on hand in the planning period. The default value of this variable is 0, since the procedure assumes there are no items on hand if the QTYONHAND= option is not specified. Similarly, if the REQUIREMENT= option is not specified, the default name Gros_Req is used to name the variable that contains the value of the gross requirement for the item identified by the _Part_ variable. The values for these variables, except for the variable that contains the gross requirement, are carried from the Part Master data set. The gross requirements for all items, except for master schedule items, are determined by the dependent demand process, which is described later.

The Net_Req variable contains the value of the net requirement and the Low_Code variable contains the value of the low-level code for the item identified by the _Part_ variable. The low-level code of an item is the lowest indenture level in any bill of material containing the item. The low-level codes are necessary to make sure that the net requirement of any item is not calculated until all the gross requirements have been calculated down to that level.

The gross and net requirements for all items are determined in the order of increasing low-level codes. Start at an item with the smallest low-level code (usually 0). If an item $c$ is a master schedule item, the gross requirement for this item is carried from the Part Master data set. Otherwise, it is given by

\[  R_{c} = \sum _{\mr {all} (p,c) \mr {in} \Re }[N_{p} \times q_{(p,c)} \times (1 + e_{(p,c)})]  \]

and the net requirement is determined as

\[  N_{c} = \left\{  \begin{array}{ll} R_{c} - H_{c} &  \mbox{if $R_{c} > H_{c}$} \\ 0 &  \mbox{otherwise} \end{array} \right.  \]

where

$\displaystyle  (p,c)  $
$\displaystyle  =  $
$\displaystyle  \mbox{a relationship between the parent item $p$ and the component $c$}  $
$\displaystyle \Re  $
$\displaystyle  =  $
$\displaystyle  \mbox{a collection of all parent-component relationships}  $
$\displaystyle  $
$\displaystyle  $
$\displaystyle  \mbox{that are defined in the Indented BOM data set}  $
$\displaystyle R_{c}  $
$\displaystyle  =  $
$\displaystyle  \mbox{the gross requirement for the item $c$}  $
$\displaystyle N_{c}  $
$\displaystyle  =  $
$\displaystyle  \mbox{the net requirement for the item $c$}  $
$\displaystyle H_{c}  $
$\displaystyle  =  $
$\displaystyle  \mbox{the quantity on hand for the item $c$}  $
$\displaystyle q_{(p,c)}  $
$\displaystyle  =  $
$\displaystyle  \mbox{the quantity per assembly for the relationship $(p,c)$}  $
$\displaystyle e_{(p,c)}  $
$\displaystyle  =  $
$\displaystyle  \mbox{the scrap factor for the relationship $(p,c)$}  $

This computational process continues for items with larger low-level codes until the values of the gross and net requirements for all components in the Indented BOM data set have been determined. This computational process is known as the dependent demand process.

A summarized parts list should not be confused with a summarized bill of material. As discussed previously, a summarized parts list shows all the items and their quantities required to fill a pre-specified production plan. The gross and net requirements in this list are calculated taking into account the quantity of each item that is available in the planning period. On the other hand, a summarized bill of material for a pre-specified item lists all the components and their total quantities used in making one batch of that item, without any regard for quantities of items on hand. In a special case when the input data do not contain any requirement, quantity on hand, or scrap factor information, and the Indented BOM data set contains only one end item, then the summarized parts list in this data set happens to be the same as the summarized bill of material for the end item. Table 3.5 lists all the variables in the Summarized Parts data set. It also lists the type and a brief description of these variables.

Table 3.5: Summarized Parts Data Set and Associated Variables

Variable

Type

Interpretation

ID

Character or numeric

Additional master data for the item

LeadTime

Numeric

Lead time for the item

Low_Code

Numeric

Low-level code for the item

Net_Req

Numeric

Net requirement for the item

_Part_

Character or numeric

Part number for the item

QtyOnHand

Numeric

Quantity of the item that is currently on hand

Requirement

Numeric

Gross requirement for the item