Vous êtes sur la page 1sur 10

An Introduction to Oracle Bills of Material

Prepared by: Jaskirat Singh Enterprise Solutions Infosys Technologies Ltd. Hyderabad.

An Introduction to Oracle Bills of Material


This document provides a brief introduction to Bills of Material (BOM) module of Oracle Apps. The scope of this document is limited to following areas: 1) Introduction to Basic BOM functionality 2) Technical Architecture ? Important Oracle Apps Base tables used in BOM ? Type of data stored in those tables ? Relationship between various tables

Introduction to Basic BOM Functionality:


Oracle Order Entry and Oracle Manufacturing use Bills of Material to store list of items that are associated with the parent item and information about how each item is related to its parent. Oracle Bills of Material (BOM) module is used to capture two type of information: 1) Bills of Material Information 2) Routing and Resource Information The whole scenario and terminology can be made clear by having a practical example. Suppose we want to manufacture a Pen. The various steps in manufacturing of a Pen are: 1) We need to have Plastic (Material) for manufacturing Pen. 2) Then we need to heat that plastic, for that we need to have Heating Equipment (Resource). 3) Then we need to mould that heated plastic to form the body and the cap of the Pen. 4) For the above step we need to have Moulding Equipment (Resource) and Cooling Equipment (Resource). 5) Then we require an ink refill (Material) to fit it in the Pen body. 6) For the above step we may require some Fitting Equipment (Resource) to fit the ink refill in Pen body. 6) Then we require some color paint (Material) to write the brand name etc. 7) For the above step we need to have some Printing Equipment (Resource).

8) Now for packing we need to have packing material (Material). 9) For the above step we need to have Packing Equipment (Resource). Now with all the above mentioned steps we are ready with a Pen. Now Lets put the whole process in a tabular form and identify the various stages or steps in manufacturing (Routing), materials required to manufacture a Pen (Bills of Material), and the resources/equipments (Resource) required at the various stages or steps in manufacturing. Step in Manufacturing 1 (A) (Routing) Material Required at particular Plastic manufacturing step (Material) Resource Required at particular Heating manufacturing Equipment step (Resource) Output of Heated manufacturing Plastic step

2 (B)

3 (C)

4 (D)

5 (E)

------------Packing Ink Refill Color Paint Material --

Moulding Equipment, Fitting Printing Packing Cooling Equipment Equipment Equipment Equipment Brand Blank and Brand Printed Unpacked Printed Pen Pen Pen (Unpacked) (Packed)

Pen Body and Cap

Let's see how Oracle Bills of Material (BOM) module stores this information and how the relationship is kept intact. Bills of Material Information Operation Sequence Number 1 2 3 4 5 Materials Required Plastic ---------Ink Refill Paint Packing Material

Routing and Resource Information Operation Sequence Number 1 2 3 4 5 Routing Step A (Heating) B (Moulding and Cooling) C (Fitting) D (Printing) E (Packing) Resource Required Heating Equipment Moulding Equipment and Cooling Equipment Fitting Equipment Printing Equipment Packing Equipment

We can diagrammatically show that what information Oracle Apps Bills of Material (BOM) module stores.

Now we can define the various terms:

1) Bills of Material :
A Standard Bill of Material lists the mandatory components, the required quantity of each component and the information to control work in process, material planning, and other oracle manufacturing functions. A Model Bill of Material defines the list of options and option classes you can choose in Oracle Order Entry to order a configuration. A Model Bill also specifies the mandatory compone nts or included item that are required for each configuration of that model. A Configuration Bill is set of option choices made from a Model Bill that comprise a buildable, sellable product. Configuration items and bills are automatically created from model bills after a customer chooses options on sales order. A Configuration Bill can be created manually by choosing options directly from a model bill.

Some other important points are: a) We can have Primary Bill of Material as well as Alternate Bill of Material. A Primary bill is a list of components you most frequently use to build a product. An Alternate bill is another list of components for the same product or assembly. The Primary bill is default for rolling up costs, defining a job and calculating cumulative item lead times. b) We must define Primary bill before defining an Alternate bill for a product or an assembly. A Primary bill can have as many Alternate Bills. c) You can define any number of revisions for the Bill. When you create or update a Bill of material, you can choose to create a new revision or modify the existing revision. When adding new revisions, make sure that the revision date you enter should not overlap with other existing revision dates. Revisions are time stamped, so that you can identify the latest revision for the multiple revisions done on the same date. New Revision number must be greater than the revision number of current revision.

2) Routings :
A Routing defines a step by step you perform to manufacture a product. Each Routing can have any number of operations . For each operation you specify a department that determines the resources that you may use for that operation. Some other important points are: a) A Primary Routing is a list of operations most frequently performed to build a product. You can define one primary routing and many alternate routings for an item. b) An Alternate Routing basically describes the alternate way in which the same thing can be manufactured. c) You must define a Primary Routing before defining an Alternate Routing. d) Bills and Routings can share the alternate labels. If you create alternate bill with same label as alternate routing then components are assigned to operations on alternate routing. e) A Standard Operation is commonly used operation that you define as template to default operation information when you define routings. When you define a new operation on routing then you can specify Standard Operation, BOM will copy the information related to Standard Operation into the current operation on routing. f) You can associate multiple resources with an operation on a routing. For each resource, you can determine if you want to include the resource in scheduling and lead time calculations. You can also collect cost for that resource on routing if you have specified that resource as costed resource.

g) Before defining any routing, you need to have at least one Department defined. With this I think the basic functionality and type of information stored by Oracle Bills of Material should be clear. So we can proceed to the technical architecture of Oracle Bill of Materials.

Technical Architecture
In this section we will see the some important tables used by Oracle Bills of Material (BOM) and how they are related to have the data integrity. The below discussion assumes that the BOM setup is already done and there is at least one department that is having resources to provide at the various routing operations. There are basically four important tables that are used for storing Department and their Resource Information. They are: a) b) c) d) BOM_DEPARTMENT_CLASSES BOM_DEPARTMENTS BOM_RESOURCES BOM_DEPARTMENT_RESOURCES

Once the setup is done, we can store the bills information and routing and resource usage information. 1) Tables used for storing Bills of Material Information There are basically three important tables that are used for storing Bills information. They are: a) BOM_BILL_OF_MATERIALS b) BOM_INVENTORY_COMPONENTS c) BOM_SUBSTITUTE_COMPONENTS 2) Tables used for storing Routing and Resource Information There are basically three important tables that are used for storing Resource and Routing Information. They are: a) BOM_OPERATIONAL_ROUTINGS b) BOM_OPERATION_SEQUENCES c) BOM_OPERATION_RESOURCES Now take an example that we want to manufacture item ABC (for organization with id as 57 and inventory_item_id= 500) that has two steps in routing say X and Y (Routing Operations) and they require say MAT1 and MAT2 materials (Bill of Material) at X and Y respectively and also say they use RES1 at step X and RES2, RES3 at step Y (Resource). Also MAT3 is substitute component for MAT2. The completion sub-

inventory for ABC is "PRI FGI". The supply sub- inventory for MAT1, MAT2, and MAT3 is "RW STOCK". The whole situation is represented in tabular form as shown: X Routing (operation_seq_num=10, Operation department_id=10) MAT1 Materials (inventory_item_id=100, Required supply_subinventory ="RW STOCK") Y(operation_seq_num=20, department_id=20) MAT2 (inventory_item_id=200, supply_subinventory ="RW STOCK") Substitute Component for MAT2: MAT3 (inventory_item_id= 300, supply_subinventory= "RW STOCK") Resource Required RES1 (resource_id=1000, resource_seq_num=1) RES2(resource_id=2000,resource_seq_num= 1) RES3(resource_id=3000,resource_seq_num= 2)

Now the data contained in various tables (important fields) is shown below: Bills of Material Information BOM_BILL_OF_MATERIALS bill_sequence_id assembly_item_id organization_id 1000 500 57 Bill_sequence_id=1000 BOM_INVENTORY_COMPONENTS bill_sequence_id operation_seq_num component_item_id component_sequence_id supply_subinventory 1000 1000 10 20 100 200 1001 2002 RW STOCK RW STOCK

component_sequence_id=2002 BOM_SUBSTITUE_COMPONENTS component_sequence_id 2002 substitute_component_id 300

General Explanation for Bills of Material Information 1) Since we are creating BOM for item ABC, so there will be one record in BOM_BILL_OF_MATERIALS with assembly_item_id=500 (inventory_item_id of ABC), organization_id=57 and some bill_sequence_id (in this case 1000).

2) Now since we require two components (MAT1 and MAT2) to manufacture ABC we will have two records in BOM_INVENTORY_COMPONENTS with the same bill_sequence_id =1000. The component_item_id in this table refers to the inventory_item_id of components (in this case MAT1 with inventory_item_id=100 and MAT2 with inventory_item_id=200). The operation_seq_num refers to the operation on routing when these components will be required (MAT1 at operation_seq_num=10 and MAT1 at operation_seq_num=20). Both records will have some component_sequence_id (in this case 1001 for MAT1 and 2002 for MAT2).

3) Now Since MAT2 has a substitute component (MAT3) therefore there will be one record in BOM_SUBSTITUTE_COMPONENTS with the same component_sequence_id as of MAT2 (in this case component_sequence_id=2002). The substitute_component_id in this table refers to inventory_item_id of substitute component (in this case MAT3 with inventory_item_id=300).

4) In addition to this, these tables also store some other useful information.

Routing and Resource Information BOM_OPERATIONAL_ROUTINGS Assembly_item_id Organization_id Completion_subinventory 500 57 PRE FGI

Routing_sequence_id 5001

routing_sequence_id=5001 BOM_OPERATION_SEQUENCES Routing_sequence_id Operation_seq_num 5001 5001 10 20 operation_sequence_id BOM_OPERATION_RESOURCES Operation_sequence_id 2981 2982 2982 Resource_seq_num 1 1 2 Resource_id 1000 2000 3000

Operation_sequence_id 2981 2982

Department_id 10 20

General Explanation for Routing and Resource Information 1) Since we are creating Routing for item ABC so there will be one record in BOM_OPERATIONAL_ROUTIN GS with assembly_item_id=500 (inventory_item_id of ABC), organization_id=57 and some routing_sequence_id (in this case 5001).

2) Now since there are two operations (X with operation_seq_num=10 and Y with operation_seq_num=20) for Routing of ABC, therefore there will be two records in BOM_OPERATION_SEQUENCES with the same routing_sequence_id=5001. Both the operations will have some operation_sequence_id (in this case 2981 for operation_seq_num=10 (X) and 2982 for operation_seq_num=20 (Y)). Also both the operations will have some department from where the resource will be issued. So each record has department_id (10 for operation X and 20 for operation Y).

3) Now since operation X (operation_sequence_id=2981) requires resource RES1 (with resource_id=1000) and operation Y (operation_sequence_id=2982) requires two resources RES2 (with resource_id=2000) and RES3 (with resource_id=3000), so we will have three records in BOM_OPERATION_RESOURCES. The resource_seq_num field comes in picture when we have more than one resource at particular operation (operation_sequence_id).

4) In addition to this, these tables also store some other useful information. This was all about the introduction to basic functionality and technical architecture of Oracle Bills of Material (BOM). Reference: 1. Oracle Bills of Material Users Guide (Release 11).

Vous aimerez peut-être aussi