You are on page 1of 79

Oracle

Applications 11i
Bill of Materials

Introduction
Overview of Bill of Material
Oracle Manufacturing and Oracle Order Management
use bills of material to store lists of items that are
associated with a parent item and information about
how each item is related to its parent.
Oracle Manufacturing supports standard, model,
option class, and planning bills of material.
Can create either an engineering or manufacturing
bill, copy an existing bill, or reference a common
bill.
When created a bill, it exists only in the current
organization.
To use a bill in another organization, either copy it
or reference it as a common

Bill of Material
BOM Item

Sub Assembly1

SubComponent1

Phantom Sub
Assembly

Component1

SubComponent

SubComponent1

SubComponent

Component2

Product integration
Oracle Bills of Material integrates with the
following applications

Oracle Inventory
Oracle Engineering
Oracle Work in Process
Oracle Purchasing
Oracle Master Scheduling/MRP and Oracle
Supply
Chain Planning
Oracle Order Entry
Oracle Cost Management

Bill of Material Types

Standard
Model
Option Class
Planning
Engineering
Phantom

Bill of Material Types


(Contd.)

Standard : A standard bill of material is the most common type of bill


and lists the mandatory components, the required quantity of each
component, and information to control work in process, material
planning, and other Oracle Manufacturing functions.
Model : A model bill of material defines the list of options and option
classes you can choose in Oracle Order Management to order a
configuration.
Planning : A planning bill of material is a bill of material structure that
includes a percentage distribution for its components. The
percentages associated with the components on a planning bill of
material do not need to add to 100%.
A product family is a grouping of products whose similarity in resource
usage, design, and manufacturing process facilitates planning at an
aggregate level.
Phantom Bill : A phantom assembly is a non stocked assembly that
lets you group together material needed to produce a subassembly.
When you create a bill of material for a parent item, you can specify
whether a component is a phantom. One bill of material can represent
a phantom subassembly for one parent item, and a stocked
subassembly for another parent

Navigation Bill of
materials
Bill of materials

Bills

Bills

Main page
BOM Item

Components

Various tabs available

Choose buttons to perform related tasks:


Substitutes :- Assign substitute components
Designators :- Create reference designators
Bill Details :- Reference common bills
Revision
:- Define item revisions

Components
Bills of Material restricts the types of
items you can assign as components
based on the type of bill you are
defining.
Valid Parent/Component Relationships
Parent BOM Item Type

Standard Item
Model Item
Option Class Item
Planning Item

Component BOM Item Type

Standard Item
Standard Item, Model Item, Option
Class Item
Standard Item, Model Item, Option
Class Item
Standard Item, Model Item, Option
Class, Planning Item

Revisions
Can define any number of
revisions for the item
Revisions are sorted according
to ASCII rules. Therefore, cannot
use revision 10 after revision 9
because, according to ASCII
sorting, 10 precedes 9.

Revisions (Contd.)

List all the Revisions for BOM Item.

Substitute Component

Substitute Component. E.g. A 40GB HDD can be


substituted by a 60 GB HDD

Reference Designators
The warning indicates that the reference
designators cannot exceed the
component quantity. If qty related check
box is unchecked then the designators
can exceed component quantity.

Reference designators are sequenced


comments and instructions that pertain to a
component.

Alternate Bills
Alternate field is used
to create alternate bills

Copying Bill Information


You can save time defining new, similar bills by
copying their information rather than creating them
manually.
You can copy a bill from your current organization or
from another organization that shares your same item
master organization.
You can then modify your new bill as necessary.
You can copy any revision of a primary or alternate
bill.
You can only copy bills between items having the
same BOM Item Type attribute. For example, if the
new bill is a model bill, you can only copy existing
bills that are model bills.
When you copy the bill from another organization, the
components and Substitute components on the bill
you are copying must exist in the target organization.

Copying Bill Information


(Contd.)
Tools Copy Bill
from. To copy from
existing bill

Copying Bill Information


(Contd.)
Organization where
bill exists

Select Item whose bill is


to be copied

Copying Bill Information


(Contd.)

The following message


is displayed when copy
button is pressed.

Copying Bill Information


(Contd.)

The components, substitutes, designators etc are


copied for this bill.

Common Bills of Material


If two or more organizations manufacture the same
item using the same bill of material, you can define
the bill in one organization and reference it from
the other organizations.
You cannot reference another bill or routing as a
common if that bill or routing also references a
common. In other words, you cannot create a chain
of common references.
You can only reference another bill or routing as a
common if it has the same alternate name assigned
to it.
If the current bill you are creating is a
manufacturing bill, the common bill must also be a
manufacturing bill.
Sharing bills across multiple organizations
minimizes the maintenance of your bills of material.

Common Bills of Material


(Contd.)
Tools Create
common bills

Common Bills of Material


Single Organization: Enter the organization and item names where the common bil
(Contd.)
needs to be created.

Organization Hierarchy: Enter the required name of the organization hierarchy. In


this case, the processing is done for all organizations below the current
organization in the chosen organization hierarchy.
All Organizations: Then processing is done for all organizations that have the same
item master organization as the current organization.

Common Bills of Material


(Contd.)
When clicked on OK a
request is submitted.
The status of common
BOM creation can be
seen from view log of
concurrent request.

Practice
Create a BOM. Add components and other
necessary details for BOM. Create
Substitute components and Reference
Designators.
Create a new BOM by copying an existing
BOM
Create an alternate BOM for an item in an
organization.
Enable an item in a second organization
and copy a BOM from the first organization.

Routings

Introduction
A routing defines the stepbystep
operations you perform to manufacture
a product.
Each routing can have any number of
operations.
For each operation specify a department
that determines the resources you may
use for that operation.
Routings are used to specify the
processes that are used to manufacture
discrete and repetitive assembly items.

Primary and Alternate


Routings
A primary routing is the list of operations
most frequently performed to build a
product.
When you define a new primary routing,
you specify only the item (no alternate
name) and you can assign a routing
revision.
You can define one primary routing and
many alternate routings for an item.
You can define an alternate routing to
describe a different manufacturing process
used to produce the same product.

Dynamic Routing
Paths that jobs take are not always
known at creation. Depending on initial
operations and their results, operation
flexibility is frequently required.
There can be numerous possibilities
defined as part of a routing network,
any one of them being selectable
based on the outcome of the last
operation,
E.g. A Chemical product that undergoes
some chemical reaction.

Creating a Routing
For each routing, define the operations,
the sequence to perform them, and the
resources required at each operation.
You can define either a primary or an
alternate routing
You must define at least one department
before you can create a routing
BOM Allowed must be set to Yes for the
item you are creating a routing
You assign department resources to an
operation.

Overview (Contd.)
Resources are anything except
component material used to
manufacture, cost, or schedule
products.
A department is a collection of
resources designed to perform
certain tasks.
A department class is a collection
of departments.

Overview (Contd.)
Department Class - Production

Department

Department: Machining

Machinist

Shift 1

Department
Class

Department: Welding

Welder

Shift 1

Shift 2
Drill Press

Shift 1
Shift 2

Resources

Welding
Torch

Shift 1

Creating a Department
Class
Departments button
display the departments
assigned to this
department class and the
dates when these
departments can no
longer be assigned to
routing operations.

Navigation
Setup
Department
Classes

Department classes are used to group departments for shop floor scheduling
and control, and to identify manufacturing cells and flexible machine
centers. Department classes are used for reporting purposes.

Defining a Department
A department is an area within your
organization that consists of one or
more people, machines, or suppliers,
where you want to collect costs, apply
overhead, and compare load to capacity.
You assign a department to each
operation in a routing, and assign
resources that are available for that
department.
Navigation
Bills of Material Routings Define
Departments

Defining a Department
(Contd.)

Defining a Department
(Contd.)
Enter the number of capacity units
(resource units) available for
this department, for example, the
number of machines for a
machine resource.

Each resource can be


assigned to any
number of
departments;
multiple resources
can be assigned to
each department.

For owned resources,


indicate whether this
department can share
the resource and capacity
with other departments.

Click Resources button on the Departments page

Defining a Resource
Use resources to define the time an assembly spends
at an operation and the cost you incur at the
operation.
A resource is anything you require to perform,
schedule, or cost, including but not limited to
employees, machines, outside processing services,
and physical space.
A resource and usage rate for all scheduled activities
is required in a routing.
When you define your departments, you assign the
resources available in each department and the
shifts that each resource is available. For each
operation you define, you specify a department and
list of resources and usages. An operation can use
any resource that is available in the department, but
you do not need to use all resources assigned to the
department.

Defining a Resource
(Contd.)

Bills of Material Routings Define Resources

Defining a Resource
(Contd.)

You can define the roles which represent what an employee can do
for a required task.
Click on the Employees Button in Resources window

Creating a Routing
Bills of material

Routings

Routings

Creating
a Routing (Contd.)
Organization
code
Item for which routing is to
be created
Department
name

Operation
sequence
number

Populate for
alternate
routing

Assigning Operation
Resources
Resource
name

Item: When charges fluctuate with


quantity change.
Lot : When resource usage quantity
is the amount required per job or
schedule

Assigning Operation Resources


(Contd.)

Two or more resources can be scheduled to be


working concurrently within the same job operation

Assigning Operation Resources


(Contd.)

Determine how each resource


is charged in Work in Process.
You can charge resources
manually or automatically

Assigning Operation Resources


- Alternate

Optionally, you can define substitute resources for each primary


resource group defined. This enables you to specify resource
sequences that can replace the primary resource group

Creating Routing Revision

The implementation date, which is either the date the revision


was added or the date the routing was transferred from Oracle
Engineering, is displayed. If the routing is transferred from
Engineering, the ECO text is displayed

Routing Details

Completion Subinventory and Locator can be entered here.

Creating Custom Deletion


Constraints
Navigation
Bill of Materials
Setup
Delete Constraint

Use custom deletion constraints to enforce specific business rules.


Custom deletion constraints prevent the deletion of bills or routings if
your data meets the conditions set forth in the constraint.

Lead Time

Lead Time Definitions


Fixed LeadTime
Fixed Leadtime is the portion of leadtime that is independent
of order quantity. This could be setups, teardown, batch
processes or anything else that requires time to do a lot.
Fixed leadtimes for an item can be entered manually.
A manually entered leadtime will be replaced by the
leadtimes generated by the Manufacturing Leadtime rollup

Variable LeadTime
VARIABLE LEADTIME is the portion of leadtime that is
dependent upon order quantity. It is the required time to
produce one additional unit of an assembly.
The formula the system uses is:
[(End date - system date) - fixed leadtime] + leadtime lot size

Lead Time Definitions


(Contd.)
PRE-PROCESSING LEADTIME
Pre-Processing Leadtime is the time required to release a purchase order.
It is used for Purchase orders, discrete jobs and repetitive lines.
It can include the requisition processing and any approval cycles required.
It can also be used for the time necessary to create internal paperwork for
a discrete job or repetitive line from the time you learn of the requirement.

PROCESSING LEADTIME
Processing Leadtime is the time required to purchase or manufacture an
item.
It is computed as the time required to complete 1 leadtime lot size of an
item.
The formula for this includes the fixed and variable portions of leadtimes.

POST-PROCESSING LEADTIME
Post-processing Leadtime is the time it takes to receive, inspect and move
a buy part to inventory.

Lead Time Definitions


(Contd.)
CUMULATIVE MANUFACTURING LEADTIME
Cumulative Manufacturing Leadtime is the time required to make
an assembly if all raw materials are in stock.
This assumes that you must manufacture every assembly, level
by level. BOM automatically calculates this value.

CUMULATIVE TOTAL LEADTIME


CUMULATIVE TOTAL LEADTIME is the time required to make an
assembly if no raw materials are in stock.
This assumes that every raw material would either have to be
ordered or manufactured. BOM automatically calculates this
value.

TOTAL LEADTIME
TOTAL LEADTIME is the
Fixed Leadtime + (Variable Leadtime * Order Quantity).

LeadTime Definitions
(Contd.)
Inventory

Item

Organization Item

Cost Rollup

This-Level and PreviousLevel Costing


Oracle Cost Management (OCM) uses
this-level and previous-level costing
concepts.
This-level costs are the routing costs of
the assembly.
Previous-level costs are the
component costs of the assembly,
including the routing costs of those
This-level costs =
Previous-level costs =
components
Routing costs

Component costs

This-Level and Previous-Level


Costing (Contd.)
This-Level Costs
The outside processing, resource, and overhead
costs at the current level of an assembly
Any material overheads earned upon
completion of an assembly

Previous-Level Costs
The material, material overhead, outside
processing, resource, and overhead costs of the
components used in the manufacture of an
assembly

Single-Level Versus Full Cost


Rollup
Item: Bicycle
Single-level rollup: 110.00
Full cost rollup: 120.00
Item: Wheel
QPA: 2
Cost: 10.00 (old)
Cost: 15.00 (new)

Item: Handlebar
QPA: 1
Cost: 20.00 (old)
Cost: 30.00 (new)

Item: Frame assembly


QPA: 1
Cost: 80.00
Full cost rollup: 90.00

Item: Frame
QPA: 1
Cost: 50.00

Item: Seat
QPA: 1
Cost: 10.00

Single-Level Versus Full Cost


Rollup (Contd.)
Full Cost Rollup
A full cost rollup first performs a bill of material
explosion for the assemblies to determine the
structure to the lowest level. It then builds the cost
of the assemblies starting with the lowest level and
works up the structure to the top-level assembly.
This method gives you the most current costs for
your assemblies because it reflects the most
current bill of material structure and component
costs for your assemblies.
You cannot rollup costs in the frozen or average
cost types.

Single-Level Versus Full Cost


Rollup (Contd.)
Single-Level Cost Rollup
Use a single-level rollup to avoid rolling up costs at
lower levels. A single-level rollup looks only at the first
level of the bill structure of each assembly being rolled
and then rolls the cost for the items at this-level into
the parent.
This method does not reflect structure or cost changes
that have occurred at levels below the first level of
your assemblies.
Use single-level rollups to assign costs to new
assemblies when you do not want to roll up the lower
levels and potentially revalue the lower levels when
you perform a cost update.

BOM and Routing


Open Interface
- Bill of Materials

Interface Tables

BOM_BILL_OF_MTLS_INTERFACE
BOM_INVENTORY_COMPS_INTERFACE
BOM_ASSY_COMMENTS_INTERFACE
BOM_REF_DESGS_INTERFACE
BOM_SUB_COMPS_INTERFACE
MTL_ITEM_REVISIONS_INTERFACE

Interface Tables (Contd.)


In order to import a BOM with components, you need to populate:
BOM_BILL_OF_MTLS_INTERFACE
BOM_INVENTORY_COMPS_INTERFACE

If you want to assign standard comments, reference designators,


and substitute components to your BOM, you need to populate:
BOM_ASSY_COMMENTS_INTERFACE
BOM_REF_DESGS_INTERFACE
BOM_SUB_COMPS_INTERFACE

If you enter a value in the REVISION column of the


BOM_BILL_OF_MTLS_INTERFACE table, the Bill and Routing
Interface program inserts a row into the
MTL_ITEM_REVISIONS_INTERFACE table.
To assign multiple item revisions, it is better to insert data directly
into the MTL_ITEM_REVISIONS_INTERFACE table.

BOM_BILL_OF_MTLS_INTERF
ACE table
REQUIRED COLUMNS FOR
BOM_BILL_OF_MTLS_INTERFACE.
ASSEMBLY_ITEM_ID
ORGANIZATION_ID
ASSEMBLY_TYPE

BOM_BILL_OF_MTLS_INTERFAC
E table (Contd.)
REQUIRED COLUMNS FOR BOM_BILL_OF_MTLS_INTERFACE
ASSEMBLY_ITEM_ID
ORGANIZATION_ID
ASSEMBLY_TYPE
PROCESS_FLAG

If you create an alternate BOM, you must also enter a value in


the ALTERNATE_BOM_DESIGNATOR column.
If the BOM you import references a common BOM, you must
enter a value in the COMMON_ORGANIZATION_ID and
COMMON_ASSEMBLY_ITEM_ID columns, or you can enter a
value in the COMMON_BILL_SEQUENCE_ID column.
To create an engineering bill, you must enter a value of 2
(engineering) for the ASSEMBLY_TYPE column. If Null, import
program defaults to 1 (manufacturing)

BOM_INVENTORY_COMPS_INTE
RFACE table
REQUIRED COLUMNS FOR
BOM_INVENTORY_COMPS_INTERFACE TABLE
PROCESS_FLAG
COMPONENT_ITEM_ID
COMPONENT_SEQUENCE_ID
OPERATION_SEQ_NUM
EFFECTIVITY_DATE
BILL_SEQUENCE_ID

You must also specify a value in the


ALTERNATE_BOM_DESIGNATOR column if you assign
components to an alternate BOM and have not
entered a value for the BILL_SEQUENCE_ID column.

BOM_ASSY_COMMENTS_INTERF
ACE table
REQUIRED COLUMNS FOR THE
BOM_ASSY_COMMENTS_INTERFACE
TABLE.
STANDARD_REMARKS_DESIGNATOR
BILL_SEQUENCE_ID
PROCESS_FLAG

BOM_REF_DESGS_INTERFAC
E table
REQUIRED COLUMNS FOR
BOM_REF_DESGS_INTERFACE TABLE.
COMPONENT_REFERENCE_DESIGNATOR
COMPONENT_SEQUENCE_ID
PROCESS_FLAG

You can only import data into the


BOM_REF_DESGS_INTERFACE table for
standard components assigned to
standard, model and option class BOMs.

BOM_SUBS_COMPS_INTERFA
CE table
REQUIRED COLUMNS FOR
BOM_SUBS_COMPS_INTERFACE TABLE.
SUBSTITUTE_COMPONENT_ID
SUBSTITUTE_ITEM_QUANTITY
COMPONENT_SEQUENCE_ID
PROCESS_FLAG

You can only import data into the


BOM_SUBS_COMPS_INTERFACE table for
standard components assigned to standard,
model and option class BOMs.

Import Rules
Different values of PROCESS_FLAG are
All inserted rows must have the PROCESS_FLAG set to 1 (Pending)
Import program validates records with PROCESS_FLAG 1. If the assign
or validate procedure fails for a row, the program sets the
PROCESS_FLAG to 3 (Assign/Validation Failed)
If a row fails on import, the program assigns a value of 4 (Import
Failed) to the PROCESS_FLAG
Successfully imported rows have a PROCESS_FLAG value of 7 (Import
Succeeded).

Even though you can import bills and routings simultaneously,


all routing operations must exist before you can assign a
component to an operation. If a routing does not exist, you
cannot assign an operation sequence to a component on a BOM
You should import primary BOMs before importing alternate
BOMs. If the program tries to validate an alternate bill before
validating the primary bill, the record fails

Tracking error record


To identify the error message for a failed row, the program
automatically populates MTL_INTERFACE_ERRORS table
with the same value as the TRANSACTION_ID value.
Each error has a value for the MESSAGE_NAME and
REQUEST_ID columns in the error interface table.
MESSAGE_NAME column corresponds to messages stored in the
Oracle Application Message Dictionary.
The REQUEST_ID column stores the concurrent request id.

If you import a BOM with multiple components and one of


the components fails validation, then the bill will be
created without the failed component. If, however, the row
in the BOM_BILL_OF_MTLS_INTERFACE table fails, the BOM
and and all of its details are not imported.

Interface Tables for Routings

BOM_OP_ROUTINGS_INTERFACE
BOM_OP_SEQUENCES_INTERFACE
BOM_OP_RESOURCES_INTERFACE
BOM_OP_INSTRUCTIONS_INTERFACE
MTL_RTG_ITEM_INTERFACE

Interface Tables (Contd.)


To import a routing with operations and resources, you need to
populate the following tables:
BOM_OP_ROUTINGS_INTERFACE
BOM_OP_SEQUENCES_INTERFACE
BOM_OP_RESOURCES_INTERFACE

If you want to assign standard instructions to your routings,


then you populate the BOM_OP_INSTRUCTIONS_INTERFACE
table
If you enter a value in the PROCESS_REVISION column of the
BOM_OP_ROUTINGS_INTERFACE table, the Bill and Routing
Interface program inserts a row in the
MTL_RTG_ITEM_REVISIONS table.
To insert multiple routing revisions, you can insert data
directly into the BOM_RTG_REVS_INTERFACE table

BOM_OP_ROUTINGS_INTERF
ACE table
REQUIRED COLUMNS FOR THE
BOM_OP_ROUTINGS_INTERFACE TABLE.
PROCESS_FLAG
ASSEMBLY_ITEM_ID
ORGANIZATION_ID
ROUTING_TYPE

If you are creating an alternate routing, you must also


enter a value in the ALTERNATE_ROUTING_DESIGNATOR
column.
You must enter a value in the
COMMON_ASSEMBLY_ITEM_ID or the
COMMON_ROUTING_SEQUENCE_ID columns to import
common Routing.

BOM_OP_SEQUENCES_INTER
FACE table
REQUIRED COLUMNS FOR THE
BOM_OP_SEQUENCES_INTERFACE TABLE
PROCESS_FLAG
ROUTING_SEQUENCE_ID
OPERATION_SEQ_NUM
DEPARTMENT_ID
EFFECTIVITY_DATE

You must also specify a value in the


ALTERNATE_ROUTING_DESIGNATOR column if you
assign an operation to an alternate routing and have
not entered a value for the ROUTING_SEQUENCE_ID
column.

BOM_OP_RESOURCES_INTER
FACE table
REQUIRED COLUMNS FOR THE
BOM_OP_RESOURCES_INTERFACE TABLE.
PROCESS_FLAG
RESOURCE_SEQ_NUM
RESOURCE_ID
OPERATION_SEQUENCE_ID

You must specify a value in the


ALTERNATE_ROUTING_DESIGNATOR column if you
assign resources to an alternate routing and have
not entered a value for the ROUTING_SEQUENCE_ID
or the OPERATION_SEQUENCE_ID column.

BOM_OP_INSTRUCTIONS_INTER
FACE table
REQUIRED COLUMNS FOR THE
BOM_OP_INSTRUCTIONS_INTERFACE
TABLE.
OPERATION_SEQUENCE_ID
OPERATION_DESCRIPTION_CODE
PROCESS_FLAG

MTL_RTG_ITEM_REVS_INTER
FACE table
REQUIRED COLUMNS FOR THE
MTL_RTG_ITEM_REVS_INTERFACE
TABLE.
PROCESS_REVISION
ORGANIZATION_ID
INVENTORY_ITEM_ID
PROCESS_FLAG

Import Rules
Different values of PROCESS_FLAG are
All inserted rows must have the PROCESS_FLAG
set to 1 (Pending)
Import program validates records with
PROCESS_FLAG 1. If the assign or validate
procedure fails for a row, the program sets the
PROCESS_FLAG to 3 (Assign/Validation Failed)
If a row fails on import, the program assigns a
value of 4 (Import Failed) to the PROCESS_FLAG
Successfully imported rows have a
PROCESS_FLAG value of 7 (Import Succeeded).

Tracking error record


To identify the error message for a failed row,
the program automatically populates
MTL_INTERFACE_ERRORS table with the same
value as the TRANSACTION_ID value.
Each error has a value for the MESSAGE_NAME
and REQUEST_ID columns in the error interface
table.
MESSAGE_NAME column corresponds to messages
stored in the Oracle Application Message Dictionary.
The REQUEST_ID column stores the concurrent
request id.