Bill of Materials Module
12.1.1 Bill Of Materials Overview
A Bill of Materials, BOM, can be described as a list of items required to produce a finished assembly or sub-assembly. For example, a bill of materials for a circuit board might consist of resistors, diodes, and the raw circuit board itself. The finished board could in turn be a sub-assembly for a finished product such as the radio BOM shown below.

A Bill of Materials could be called a recipe, formula, cut list, etc. pc/MRP can accept BOMs infinite levels deep. When entering a BOM you must enter the lowest levels first as pc/MRP is always checking if the part or sub-assembly exists. In the above example, you would first enter the diode, resistor, and raw board into the part master as parts. Then you would enter the finished circuit board bill of materials listing all of the parts that go into a finished circuit board. You could then enter the radio bill of materials.
pc/MRP uses the BOM files to provide PIC Lists, Where-used Reports, Purchasing Consolidation Reports, Assembly Costs, and to correctly issue and track inventory.
BOMs are not limited to manufacturers, for example, restaurants can correctly track inventory by entering their recipes into pc/MRP's BOM file.
A single level printout of an example BOM is shown below:

An exploded printout includes sub BOM parts and their respective quantities. pc/MRP uses a technique called indenting to help illustrate how the sub assemblies fit together with other sub assemblies to create the final assembly. The same example BOM in an exploded print out is illustrated below:

12.1.2 Enter a New BOM
Select Modules, BOM, and New, to enter a new Bill of Materials into the BOM Database File.

Enter the new Bill of Materials Number (bomno)
and BOM Description (bomdescri)
.

The description should begin with Assy, FG, or WIP to distinguish it as an assembly and not a part. The wording of the description should be such that it prints out logically on an alphanumeric part list. If pc/MRP finds that the BOM Number already exits in the Inventory or BOM data base files, it will display an "Already Exists" error message
12.1.3 Enter a Part or Sub-assembly Number

Press the ellipse button to scroll and lookup the part or assembly number to be inserted into the BOM. You can look up part and assembly numbers by part number, description or model number. If you desired to enter an assembly that does not exist, you will have to exit this BOM, build the lower level assembly first, than add it to this BOM. BOMs must be built from their lowest level up.

12.1.4 Enter Quantity, Reference Designators and Staging Bin Number

The Item Number (Itemno) will automatically increment as additional parts or assemblies are added.
The Part Type, Description, Manufacturer, Model Number, Unit, and Costs are brought over automatically from inventory. The BOM screens will accept but not record changes to the Part Data (Part Description, Manufacturer and Model Number).
Enter the desired Quantity (Qty) of this part or assembly to be added to the BOM
The Alternate Part Numbers (altpart1-altpart6) can be entered manually or automatically brought over from inventory depending on how you have set the alternate part numbers to be entered with the Settings button (see 12.1.11).
An infinite number of Reference Designators (refdesmemo) can be entered for every part within the BOM. Enter the Reference Designators. The first 160 bytes are broken into 4-40 character fields and also stored in the refdes and refdes2-3 fields.
Enter the Staging Bin Number (stagebin) if you desire the parts to be sorted into different manufacturing assemblies. The single/exploded Pick Lists (picbom.frx) can be sorted by staging bin.
The Create New Part button will allow you to enter a new part number into inventory on the fly without having to go to the Inventory Module to enter the new part number
Press the OK Button to save this entry.
12.1.5 Add Another Part to the BOM

Once you have pressed the OK button, another part or sub-assembly can be added to the BOM by clicking on the Add Button.
In addition you can edit or delete a line item in a BOM by clicking on the Edit Item button. If you mark a line item for deletion, the line item will be displayed in red
The parts and sub-assemblies that make up the BOM will be displayed in a grid as shown above. The grid will contain the following columns. The Item Number column contains the BOM item number for that part in the BOM being displayed. The Type column represents the type of component it is, P = component part, A = Assembly, L = Labor. The Part Number column contains the part/sub-assembly number that goes into the BOM being displayed. The Description and Quantity columns are self-explanatory. You can sort the displayed list by clicking on the column heading (Item, Type, etc.) you wish to sort on.
12.1.6 Save BOM

To save your changes to the BOM, press the Save Button and continue working.
To discard your changes, press the Revert button.
To save your change and return to pc/MRP’s main menu, press the Finished button.
12.1.7 Reference Designators Tab

Clicking on the Reference Designator Tab will display the reference designator page shown above
The Reference Designator field can have an infinite length and can be printed out on an Uncosted Single Level Bills of Materials Report. It is used by circuit board manufacturers to help assemblers know where to place components on the circuit boards is C1, C2, C3, etc. It can be used by regular manufacturers to list special instructions for assembly, such as, cut 13" long.
12.1.8 Miscellaneous Tab

Clicking on the Miscellaneous Tab will display the miscellaneous page shown above.
The BOM Used and Part Used buttons will display where they are used in other BOMs.
The BOM Image and Part Image buttons will display a picture or document of either, if the picture or document exists in the part’s inventory record.
This page will display the Average, Standard, and Last PO Costs of the BOM you are modifying.
pc/MRP version 8.11B and higher allows you to set the BOM Status (partmast.bomstatus) to Blank, Preliminary, or Released. If you have the Password Module and check the ‘Editing released BOMs requires Delete rights in the BOM module’, only users with delete rights can edit the released BOMs.
The Assembly Costs Recalculate button recalculate and display the costs.
Pressing the BOM Comments button will allow you to enter comments applicable to the entire BOM. The comments field can contain up to 20 lines of routing or assembly instructions for that BOM. The BOM Comments are stored in the rtmplate.dbf database file.
12.1.9 Move to Sub-Assembly Button

To drop down into a sub-assembly, select the sub-assembly in the grid and then click on the Sub-Assy Button as shown above.
12.1.10 Move to Parent Assembly Button

To move back up to the parent assembly, click on the Parent Assy Button as shown above.
12.1.11 BOM Settings Button

Clicking on the Settings button when adding or editing a BOM part number will display the screen shown above.
The Component Lookup drop down list box allows the user to set the method the BOM module looks up part numbers. The options are:
· Whole Data Base - This method uses an index that is sorted by the field you are looking up the part on. It will stop and display the remainder of the database at the first record that matches the characters you typed in. This is the fastest lookup method possible. Its only drawback is that if you are looking for a listing of all your bearings, it will only find the records whose description start with the letters "bearing" and would not find the records such as "SS Bearing".
· Starts With Entered Characters - This method is also fast and similar to the first method. The only difference is that this method will only display the matches and not any of the records that follow the matches.
· Contains Entered Characters - This method starts fast when the database is small. However, as the database grows in size, this method will become slower as it must search every the lookup field in each record looking for the word such as "bearing". This method would find and list a record starting with "SS bearing". With 20,000 records in the BOM file, this lookup could take up to 20 seconds depending on your PC and network.
Checking the Transfer Alternate Part Numbers check box will set pc/MRP to automatically transfer alternate part numbers from the part number in inventory into the BOM record. If the alternate part numbers are BOM specific, do not check this check box.
12.2 Edit/Delete a BOM Component (View)
This option allows users to scroll, edit, delete, undelete, or run queries against BOM records.
Selecting an Indexed Search allows users to search on indexed fields. This allows pc/MRP to find the information much faster. To perform an Indexed Search select the:
1. Indexed Search tab
2. Desired Sort Order, BOM Number, Part Number, BOM Description
3. Enter the applicable data in the Begin Scrolling At: field
4. Select the desired Action, View or Edit
5. Press Search
pc/MRP will automatically scroll to the desired record or the nearest match. Select the correct record by scrolling and press Ok to proceed to the edit screen for that record.
Selecting to run a Queried Search allows users to build, run, save, and load queries for the BOM table. For further details, see chapter 15.14.
Please review the Enter New BOM section of this chapter as the view and edit BOM screens function the same as the Enter New BOM screens.
12.3 Delete an Entire BOM
Allows you to mark an entire BOM for deletion or un-deletion as shown on the screen below:

.
12.4 Duplicate A BOM
Allows you to duplicate a BOM.
12.5 Change A BOM Number
Allows you to change a bill of materials number without having to edit every record that contains that bill of material number. pc/MRP also changes the number in inventory.
12.6 Change A BOM Description
Allows you to change a bill of materials description without having to edit every record that contains that bill of material description. pc/MRP also changes the description in inventory.
12.7 Part Number Replacement
Allows you to replace one part number with another part number in any BOM containing the original part number. You select the BOMs that you want the part number replaced in.
12.8 Reports/Lists
Allows you to print or display BOMs, PICK Lists, and Where Used Reports.
See section 15.4.1 to create custom reports.

A Costed Exploded BOM would print/display as shown on the screen below:

The Where Used Report will provide a printout for all parts or for a specified part number. The printout will provide a list of every assembly that uses that part number. It will also note parts that are not used in any assembly. The latter feature is designed to help reduce inventories and inventory write-offs. If the Single Part option is selected, users can include all levels of the assemblies where the part is used.
PICK Lists are used by stock room personnel to print out the parts required for an assembly or sub-assembly.
An exploded PICK list includes all of parts including parts from sub-assemblies in one consolidated list.
The Reference Designator Fields print out on the wide carriage PICK List, wide carriage Uncosted BOM, and narrow carriage uncosted single level BOM reports.
12.9 Audit The BOM File
This option will check your BOM data base file. As a safety precaution, make a back up copy of the partmast.dbf and bom.dbf files before running this option. Select, "Compile a list of errors", when prompted. Once you have looked at the error list you can run the report again and select, "Step-through each BOM record with the option to remove it." This program will scan the bom.dbf file and look for the following errors:
· A BOM number in the bom.dbf that does not exist in the partmast.dbf
· A part number in the bom.dbf that does not exist in the partmast.dbf
· A BOM number in the bom.dbf that contains a part number that is the same as the BOM number
· A part number that does not contain a P,A or L in the part_assy field in the partmast.dbf
· A BOM number in the partmast.dbf file that does not exist in the bom.dbf file
· It automatically replaces the BOM part/assy/labor field with the contents of the partmast.dbf part_assy field.
· A subassembly number found in a BOM that does not exist as a BOM in the bom.dbf file.
Once it has finished the above error checking, the program will ask, "Do you wish to check for recursive BOM structures". Answer "Yes", to check for BOMs that call them selves on levels more than one level deep.
If you have selected the "Step through and delete option", and have deleted records, answer "Yes" when asked if you wish to remove the records marked for deletion from disk.
If any recursive errors were found you must delete the BOM record calling the parent BOM.
12.10 Index (The BOM File)
Re-indexes the Bill of Materials Index File. pc/MRP automatically updates its index files under normal operation. However, if you ever get a "record out of range" error message or cannot find a BOM record, re-indexing inventory or the BOM module may fix this.
12.11 Remove Marked BOMs
Removes all BOM records marked for deletion from the disk. The records will no longer be recoverable.
12.12 Phantom Bills of Materials
If you plan to purchase a sub-assembly from a vendor and not build the subassembly in house, it would be called a phantom BOM. This can be accomplished in pc/MRP by editing the BOM in the Inventory Module and changing the PART/ASSY/LABR field from A to a P. The MRP module would then create action items to buy the sub-assembly from a vendor rather than buying the components and issuing a make for the sub-assembly. However, you would still be able to print this phantom BOM in the BOM module.
Option 68 in the Configuration, Settings and Utilities module allows users to step down through phantom BOMs (sub-assemblies marked as P in the inventory module) while editing or printing out a costed or uncosted exploded BOM. In addition, Option 68 allows users to set the default print settings to: never print out phantom BOM subassemblies, always print, or ask.
12.13 Blow Through Bill of Materials
If an assembly reports to a parent assembly and it is checked as a Blow Through Assembly in the inventory screen, pc/MRP will issue component parts and ignore any on hand quantities for that sub-assembly. This is true for Issuing to Manufacturing, Convert Parts to Assemblies, Generating an MRP (Infinite and Single Bucket), Check Availability, Maximum Potential Build, Single Level Pick List, Costed and UnCosted Exploded BOMs (the BOM will contain an “*” next to it, indicating it is a Blow Through BOM. Basically it is a BOM that is never pre-assembled, you always issue parts to it as though the component parts reported directly to the parent assembly.