The BOM Procedure

Part Master Data Set

The Part Master data set contains all part master records for a product, product line, plant, or company. A typical part master record contains identifying and descriptive data and control values (lead time, lot size, etc.). It may contain data on inventory status (such as quantities on hand), production plan (such as requirements, planned orders, etc.), and costs (Cox and Blackstone 1998). Each observation in this data set represents one part master record. If the data set contains more than one part master record for a given item, only the first one is used.

The BOM procedure uses the Part Master data set as input data with key variable names being used to identify the appropriate information. The Part variable contains the part number or other information that uniquely identifies each item. This variable can be either a numeric or a character variable. The LeadTime, QtyOnHand, and Requirement variables contain the lead time, quantity on hand, and gross requirement, respectively, for the item identified by the Part variable. The QtyOnHand and Requirement variables are only used when the SUMMARYOUT= option is specified. The QtyOnHand variable enables you to include inventory information into the Part Master data set. Similarly, the Requirement variable enables you to specify a production plan in this data set. Other inventory and production plan information that is not directly used by the procedure can also be included in this data set and passed to the output data sets using the ID variables.

The value of the Requirement variable will typically be missing for most items, except for master schedule items. A master schedule item (MSI) is an item that is selected to be planned by the master scheduler. In general, final products are master schedule items. Some companies like to select a few items that are deemed critical in their impact on lower-level components or resources as master schedule items. The requirements of the master schedule items are also called independent demands. In the Part Master data set, if the value of the Requirement variable is greater than or equal to 0, the procedure treats the item identified by the Part variable as an MSI and assumes that its gross requirement is planned by the master scheduler. The gross requirements of other items (also known as the dependent demands) are determined by the procedure as the value of the net requirement of each parent item times the quantity required to make one unit of the parent item, summed over all the parent items. This process is called the dependent demand process (Clement, Coldrick, and Sari 1992). See the section Summarized Parts Data Set for details about determining gross and net requirements.

Other part master data such as part description, lot size, order quantity, unit of measure, unit of cost, or planner/buyer code can be passed to the Indented BOM and Summarized Parts output data sets using the ID variables.

Table 3.2 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.2: Part Master Data Set and Associated Variables






Character or


Additional master data




for the item




Lead time of the item


Character or


Part number or




identification for the item




Quantity of the item that


is currently on hand




Gross requirement of the



You can combine the Part Master data set and the Product Structure data set together to create a new data set and use it as the input data set for PROC BOM. See the SlBOM1 data set shown in Output 3.1.1 and the SlBOM2 data set shown in Output 3.2.1 for examples.