Bill of Material Postprocessing Macros


Input Data Sets

All SAS macros described in this chapter use a SAS input data set that contains the indented bill of material for all end items of the product line, plant, or company. This data set is referred to as the Indented BOM data set. It is typically the Indented BOM output data set created by PROC BOM. See Indented BOM Data Set in Chapter 3 for details about the variables and special structure of this SAS data set. Not every variable in the Indented BOM data set is needed in all macros. The variables required by each macro depend on the requirements of the macro, and are listed in the corresponding section describing each macro. Note that the macros depend heavily on the form of the Indented BOM data set that

  • contains the complete indented bill of material for each end item.

  • lists the components of each indented bill of material in the depth-first order.

Refer to Aho, Hopcroft, and Ullman (1983) for details about depth-first ordering. See also Indented BOM Data Set in Chapter 3 for details regarding the records in this data set.

A simple Indented BOM data set, IndBOM, is displayed in Figure 4.1. It contains two indented bill of material, one for the item 'A101' and the other for the item 'LA01'. You can easily check that each indented bill of material in this data set lists its components in depth-first order. The data set IndBOM is used as the Indented BOM input data set in all examples in this chapter.

You specify the name of the Indented BOM data set using the IN= parameter. If you do not provide a name when calling a postprocessing macro, the macro uses the most recently created SAS data set as the Indented BOM data set.

One SAS macro, %BOMTCNP , requires an additional data set that contains the product structure record for the new parent-component relationship that will be created while performing the copy-and-paste transaction. This data set is referred to as the Product Structure data set. See Product Structure Data Set in Chapter 3 for details about this SAS data set.

Another SAS macro, %BOMTSAE , requires another data set that contains the part master record for the item specified in the ROOT= parameter of the macro. This data set is referred to as the Part Master data set. See Part Master Data Set in Chapter 3 for details about this SAS data set.

Figure 4.1: Indented BOM Data Set (IndBOM)

ABC Lamp Company
 
Indented Bill of Material

Obs _Level_ _Parent_ Paren_ID _Part_ Part_ID Desc QtyPer Fscrap Qty_Prod Unit LeadTime Tot_Lead LTOff Tot_Off SDate EDate _Prod_
1 0   . A101 0 Three-way socket assem. . . 1 Each 1 1 . 0 . . A101
2 1 A101 0 1500 1 Steel holder 1 0.0 1 Each 2 3 0 0 . . A101
3 2 1500 1 1400 2 1/4-20 Screw 2 0.0 2 Each 1 4 0 0 . . A101
4 1 A101 0 1601 3 Three-way socket 1 0.0 1 Each 2 3 0 0 . . A101
5 1 A101 0 1700 4 Wiring assembly 1 0.0 1 Each 1 2 0 0 . . A101
6 2 1700 4 2200 5 16-Gauge lamp cord 12 0.1 12 Feet 2 4 0 0 . 07APR2001 A101
7 2 1700 4 2210 6 14-Gauge lamp cord 12 0.1 12 Feet 2 4 0 0 08APR2001 . A101
8 2 1700 4 2300 7 Standard plug terminal 1 0.0 1 Each 1 3 0 0 . . A101
9 0   . LA01 8 Lamp LA . . 1 Each 2 2 . 0 . . LA01
10 1 LA01 8 A100 9 One-way socket assem. 1 0.0 1 Each 1 3 2 2 . . LA01
11 2 A100 9 1500 10 Steel holder 1 0.0 1 Each 2 5 0 2 . . LA01
12 3 1500 10 1400 11 1/4-20 Screw 2 0.0 2 Each 1 6 0 2 . . LA01
13 2 A100 9 1600 12 One-way socket 1 0.0 1 Each 2 5 0 2 . . LA01
14 2 A100 9 1700 13 Wiring assembly 1 0.0 1 Each 1 4 0 2 . . LA01
15 3 1700 13 2200 14 16-Gauge lamp cord 12 0.1 12 Feet 2 6 0 2 . 07APR2001 LA01
16 3 1700 13 2210 15 14-Gauge lamp cord 12 0.1 12 Feet 2 6 0 2 08APR2001 . LA01
17 3 1700 13 2300 16 Standard plug terminal 1 0.0 1 Each 1 5 0 2 . . LA01
18 1 LA01 8 B100 17 Base assembly 1 0.0 1 Each 1 3 0 0 . . LA01
19 2 B100 17 1100 18 Finished shaft 1 0.0 1 Each 2 5 0 0 . . LA01
20 3 1100 18 2100 19 3/8 Steel tubing 26 0.2 26 Inches 3 8 0 0 . . LA01
21 2 B100 17 1200 20 6-Diameter steel plate 1 0.0 1 Each 3 6 0 0 . . LA01
22 2 B100 17 1300 21 Hub 1 0.0 1 Each 2 5 1 1 . . LA01
23 2 B100 17 1400 22 1/4-20 Screw 4 0.0 4 Each 1 4 3 3 . . LA01
24 1 LA01 8 S100 23 Black shade 1 0.0 1 Each 2 4 0 0 . . LA01