Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
The BOM Procedure

Example 1.3: Bills of Material Verification

The previous example illustrated how some companies may have more than one type of bill of material. It is important that while the different types of BOM may differ in the way parts are grouped together, they must have the same component items (except those phantom parts) in the same quantities. This example demonstrates a simple method that compares the different types of BOM and detects any differences.

The transaction data set Trans3 contains the new values of the gross requirements of the lamp `LAXX' and the options. Note that the options `B100', `S100', and `A100' that are associated with the lamp `LA01' described in the "Getting Started" section, as well as the lamp `LAXX', have gross requirements of 1. All other options have 0 gross requirements. Therefore, the item `LAXX' and all of the selected options are master schedule items. See the "Single-Level Bills of Material Data Set" section for a detailed description about master schedule items.

The following SAS DATA step code updates the value of the Req variable in the SlBOM2 data set (shown in Output 1.2.1) with the value of the variable in the transaction data set Trans3:

     /* Gross requirement transaction data set */
   data Trans3;
      input Part      $8.
            Req       8.0
            ;
   datalines;
   LAXX           1
   B100           1
   B101           0
   B102           0
   S100           1
   S101           0
   S102           0
   S103           0
   S104           0
   S105           0
   S106           0
   S107           0
   A100           1
   A101           0
   ;

   proc sort data=Trans3;
      by Part;
   run;

     /* Update the gross requirement values of the */
     /* single-level BOM data set                  */
   data SlBOM3(drop=OldReq);
      merge SlBOM2(rename=(Req=OldReq)) Trans3(in=in2);
      by Part;

      if not in2 then Req=OldReq;
   run;

The following code invokes PROC BOM with the new input data set. The summarized bill of material is shown in Output 1.3.1:

      /* Generate the indented BOM and Summarized BOM */
   proc bom data=SlBOM3 out=IndBOM3 summaryout=SumBOM3; 
      structure / part=Part 
                  requirement=Req
                  leadtime=LeadTime 
                  component=Component
                  quantity=QtyPer
                  id=(Desc Unit); 
   run;

      /* Sort and display the summarized BOM data */
   proc sort data=SumBOM3;
      by _Part_;
   run;

   proc print data=SumBOM3(where=(Net_Req NE 0)) noobs; 
      title 'ABC Lamp Company';
      title3 'Summarized Bill of Material, Part LA01';
   run;

Output 1.3.1: Summarized Bills of Material
 
ABC Lamp Company
Summarized Bill of Material, Part LA01

_Part_ Low_Code Req On_Hand Net_Req Desc Unit
1100 2 1 0 1 Finished shaft Each
1200 3 1 0 1 6-Diameter steel plate Each
1300 2 1 0 1 Hub Each
1400 3 6 0 6 1/4-20 Screw Each
1500 2 1 0 1 Steel holder Each
1600 3 1 0 1 One-way socket Each
1700 2 1 0 1 Wiring assembly Each
2100 3 26 0 26 3/8 Steel tubing Inches
2200 3 12 0 12 16-Gauge lamp cord Feet
2300 3 1 0 1 Standard plug terminal Each
4000 1 1 0 1 Common parts Each
A100 2 1 0 1 Socket assembly Each
A10X 1 1 0 1 Socket assembly options Each
B100 2 1 0 1 Base assembly Each
B10X 1 1 0 1 Base assembly options Each
LAXX 0 1 0 1 Lamp LA Each
S100 2 1 0 1 Black shade Each
S10X 1 1 0 1 Shade options Each

By comparing the summarized BOM in Output 1.3.1 with the one displayed in Figure 1.6, you can verify that the two bills of material are in agreement except for the low-level code of each part and the phantom items, such as `4000 Common parts', `A10X Socket assembly options', `B10X Base assembly options', and `S10X Shade options'.

Chapter Contents
Chapter Contents
Previous
Previous
Next
Next
Top
Top

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.