BOM Web Example


Shortage and Critical Path Analysis Reports

The BOM Web example includes reports on anticipated part shortages and analyzes the critical path for each planned order. The reports include a rough-cut shortage analysis, critical path identification, and material requirement/availability schedule. These reports are described in the following sections.

Rough-Cut Shortage Analysis Report

The Rough-Cut Shortage Analysis report describes the shortages related to the planned order. This report is termed a "rough-cut" because it does not account for on-hand stock of any items, and assumes that procurement and production begins on the user-specified start date. This report is structured according to the product’s bill of materials, and for the final product and each subassembly or component it lists the following:

  • Indentation level

  • Part number and description

  • Need date (date on which the item is needed)

  • Promised date (date on which the item will be available)

  • Variance (promised date minus need date; the amount of delay in availability of the item)

  • Slack to next assembly (the maximum delay in availability of the item that will not delay availability of the parent item)

  • Slack to final product (the maximum delay in availability of the item that will not delay receipt of the final product)

  • Lead time and total lead time

  • Item type

  • Unit of measure

  • Part number for the parent item

  • Quantity per assembly of the parent item (defining the parent-component relationship)

  • Final product’s number

  • Quantity needed to produce the amount ordered of the final product

Figure A.12 shows a portion of the Rough-Cut Shortage Analysis report for the order of 40 5-Gal Carpet Cleaners that is due on September 27, 2001. The starting date of the planning period is June 11, 2001. This figure shows only the first eight columns of the report; the remaining columns include Lead Time, Total Lead Time, Type, Unit, Parent, Qty. Per Assembly, Final Product, and Qty. Needed.

Figure A.12: Rough-Cut Shortage Analysis

Rough-Cut Shortage Analysis


Items with positive Variance will not be available in the desired quantity when needed, and hence will have shortage or schedule problems. There might be many items with such problems, but typically only a few affect the release dates for the planned orders.

You can evaluate the impact of the Variance value for an item by comparing it to the two reported slack values. If Variance does not exceed Slack to Next Assembly, availability for the item will not delay production of the listed parent component. If Variance does not exceed Slack to Final Product, availability for the item will not delay release of the order.

The items controlling their parent items’ availability are those items with a zero value for Slack to Next Assembly; these are referred to as pacing items. Every subassembly has its own pacing item. Items with a zero value for Slack to Final Product are said to be critical. For example, Figure A.12 indicates that Part Numbers 0125, 6221-1, 2104, and 7350 are pacing items. In addition, Part Numbers 0125, 2104, and 7350 are critical. The Rough-Cut Shortage Analysis report uses the CPM procedure to compute the promised date, the slack to next assembly, and the slack to final product, and backward scheduling to determine the need date. You can construct a similar report with a single call to PROC CPM, followed by one data step. Suppose the indented bill of materials for the 5-Gal Carpet Cleaner is stored in a data set named IndBOM_0125. The following code creates a Rough-Cut Shortage Analysis report for the product, which is saved in a data set named RoughCut0125. This data set contains the information listed in Figure A.12, along with some additional variables that will be used in the section Material Requirement/Availability Schedule to produce Gantt charts of the schedules.

   proc cpm data=IndBOM_0125 out=RoughCut0125
            date='11Jun2001'd addact;
      act Part_ID;
      succ Paren_ID;
      dur Leadtime;
      id _all_;
      run;

   data RoughCut0125;
      format PromDate NeedDate date9.;
      set RoughCut0125 (rename= (e_finish=PromDate
                                 f_float=Slack2NA
                                 t_float=Slack2FP));
      NeedDate = '27Sep2001'd - (Tot_Lead-Leadtime) - 1;
      Variance = PromDate - NeedDate;
      QtyNeeded = 40*Qty_Prod;
      run;

Critical Path Identification Report

The critical items (items with zero Slack to Final Product) in the Rough-Cut Shortage Analysis form a path in the indented bill of material. This path is referred to as the critical path for the planned order. The Critical Path Identification Report lists this critical path. Among those critical items are the items that delay product availability; the ones with lowest level are most crucial and often merit special attention and expedited scheduling.

Figure A.13 shows a portion of the Critical Paths report for the order of 40 5-Gal Carpet Cleaners that is due on September 27, 2001. The figure shows only the first nine columns of the report; the remaining columns include Total Lead Time, Type, Unit, Parent, Qty. Per Assembly, Final Product, and Qty. Needed. In this example, steel (Part 5640) is the lowest level item and, therefore, is the most crucial of the critical items.

Figure A.13: Critical Path Identification Report

Critical Path Identification Report


Material Requirement/Availability Schedule

The Material Requirement/Availability Schedule is a Gantt chart, a time-scaled graphical depiction of the schedule for a planned order. The schedules for all items needed to fulfill the order are displayed hierarchically, with critical items depicted in red and all others depicted in green schedule bars. Schedule bars indicate the start and finish of production or procurement for each item, and also indicate any slack time that exists. Links between the schedule bars indicate the hierarchical relationships between the items. Milestone markers indicate the Need Date and Promised Date for each item, and a vertical line indicates the Due Date for the order.

The Material Requirement/Availability Schedule for the order of 40 5-Gal Carpet Cleaners is shown in Figure A.14.

In the BOM Web example, the schedule bars are selectable and produce a "Material Requirement Implosion," which uses a Gantt chart to depict a full level pegging for the selected item. This is a time-scaled Indented Where-Used report for the selected item in the designated final product. Figure A.15 shows the Material Requirement Implosion produced by selecting Steel (Part 5640) from Figure A.14.

Figure A.14: Material Requirement/Availability Schedule

Material Requirement/Availability Schedule


Figure A.15: Material Requirement Implosion

Material Requirement Implosion


You can use PROC GANTT to produce Material Requirement/Availability Schedules similar to the Gantt chart shown in Figure A.14. The following code produces a Material Requirement/Availability Schedule for the 5-Gal Carpet Cleaner with an order quantity of 40, a starting date of June 11, 2001, and a due date of September 27, 2001. The code uses the RoughCut0125 data set created in the section Rough-Cut Shortage Analysis Report.

   title1 'Material Requirement / Availability Schedule';
   title2 'Part: 0125 (5-Gal Carpet Cleaner)    Order Quantity: 40';
   title3 ' Start Date: 11JUN2001    Due Date: 27SEP2001';

   pattern1 v=s c=green;
   pattern2 v=e c=green;
   pattern3 v=s c=red;
   pattern4 v=e c=red;
   symbol1  v="B" c=green f=ORFONT h=0.5;
   symbol2  v="D" c=blue f=ORFONT h=0.5;
   proc gantt data=RoughCut0125
              logic=RoughCut0125;
      chart PromDate NeedDate /
         act=Part_ID
         succ=Paren_ID
         duration=Leadtime
         e_finish=PromDate
         ref='27SEP2001'd
         cref=red
         reflabel
         nojobnum
         noarrowhead
         compress;
      id Description Qty_Prod Variance;
      label Description = 'Part Description'
            Qty_Prod = 'Quantity Required';
      run;