BOM Item Definition Table
Overview
The BOM Item Definition Table stores the BOM hierarchical relationships used in the fulfillment system, along with item variable references, which recursively link child items to parent items. In addition to the hierarchical information, BOM definition tables also store other information from the fulfillment BOM, such as:
- Fulfillment system IDs
- Default quantity
- Whether an item is optional, a sales item, or a manufacturing item
- BOM item effective dates
BOM Item Definition Table Schema
Default table name: Oracle_BomItemDef
Index |
Key |
Name |
Type |
Required |
Display Name |
Description / Comments |
---|---|---|---|---|---|---|
Y |
Y |
VariableName |
String |
Y |
Variable Name |
The primary key column of this table. Cannot be empty. |
|
|
SequenceNum |
Integer |
|
Sequence Number |
BOM item sequence. |
|
|
ItemId |
String |
Y |
Item ID |
BOM item ID. Item Id as stored in EBS. |
|
|
Name |
String |
Y |
Name |
Display name. |
|
|
ItemType |
String |
|
Item Type |
BOM item type. To enable inherited parent hierarchies for child BOM items, refer to Option Class BOM Item Type. |
Y |
|
PartNumber |
String |
Y |
Part Number |
Contains either the part number of a BOM item or a Model path (i.e. the path to a model in the BOM hierarchy) The format for a Model path is as follows: |
|
|
DefaultQuantity |
Float |
|
Default Quantity |
The default quantity of the BOM item. |
|
|
Optional |
String |
|
Optional |
Indicates whether the BOM item is optional. Valid values: Y or N. Notes:
|
|
|
SalesItem |
String |
|
Sales Item |
Indicates whether the item is a sales item. Oracle CPQ uses sales items to create a BOM instance during Configuration, sales items are used for quotes, and the BOM instance used during reconfiguration contains sales items. In other words, only sales items are used inside CPQ. Valid values: Y or N. Note: Sales Items must have corresponding Part Numbers defined in the Oracle CPQ Parts Database. |
|
|
ParentVariableName |
String |
|
Parent Variable Name |
The variable name of the hierarchical parent BOM item. Null for the root Item. A recursive key to BomItemDef.VariableName of the parent BOM item definition. If defined, the parent BOM item definition must exist, otherwise it is a validation error. |
Y |
|
RootVariableName |
String |
Y |
Root Variable Name |
The variable name of the root BOM item. A recursive key to BomItemDef.VariableName of the root BOM item definition. For a root BOM Item, the variable name and the root variable name are equal. Orphan records of dirty root BOM item variable names are ignored. |
|
|
EffectiveFrom |
String |
|
Effective From |
The effective from date. Formatted as YYYY-MM-DD HH:mm:ss |
|
|
EffectiveTo |
String |
|
Effective To |
The effective to date. Formatted as YYYY-MM-DD HH:mm:ss |
|
|
ManufacturingItem |
String |
|
Manufacturing Item |
Indicates whether the item is a manufacturing item. Manufacturing items are only used when Oracle CPQ submits a Manufacturing BOM to a back-end Fulfillment system. Administrators use the BML getbom function to create a Manufacturing BOM from the saved Configuration in a quote. Valid values: Y or N. Note: Manufacturing Items must have corresponding Part Numbers defined in the Oracle CPQ Parts Database. |
|
|
IncludedInBasePrice |
String |
|
Included In Base Price |
Indicates whether the item is included in the base price. Valid values: Y or N. Note: The "IncludedInBasePrice" property is not applicable to the root BOM item. |
ModelPath | String | Model Path |
The path to a model in the BOM hierarchy. The format for a Model path is as follows: productFamilyVariableName:productLineVariableName:modelVariableName |
|||
BOMPrice | Float | BOM Price |
This field is used to associate BOM prices to Configuration attribute values using BOM Mapping |
|||
minSelectableItems | String | Min Selectable Items | The Minimum quantity orderable for item | |||
maxSelectableItems | String | Max Selectable Items | The Maximum quantity orderable for item |
Beginning in Release 18B, Oracle CPQ supports the "Option Class" BOM item type to enable inherited parent hierarchies for child BOM items. Option Class items are only added if they contain a descendant BOM item (child, grandchild, etc.) that is not an Option Class item.
Option Class Example
The following image displays a Configuration page for a cable channel provider that offers different channel options as part of their Sports Channel and Entertainment Channel plans.
When the user selects the Baseball channel and creates a transaction, the parent items (I.e. "Channels" and "Sports Channels") are automatically added as Line Items to the Transaction. The parent items are also added to the BOM Instance, which is sent to the Fulfillment System, to complete the order.
For parent items the Item Type is set to "Option Class", the Item Type for child items can be set to anything other than "Option Class". The BOM parent items will only be added to the BOM Instance when a nested child item is selected. During table-based BOM mapping, "Option Class" items are not added to the BOM instance unless they have a descendant that is not an "Option Class" item.
Advanced BML BOM Mapping rules can be used to add "Option Class" items that do not have a descendant that is not an "Option Class" item.
Administration
Download a Sample Data Table for BOM Item Definition
- Click Admin to go to the Admin Home Page.
-
Click BOM in the Products section.
The BOM Administration Platform page opens.
-
Click BOM Tables in the BOM Declaration section.
The Bills of Materials Tables page opens. This page is used access to BOM Mapping tables, shows mapping status, and activate tables.
-
Click BOM Item Definition.
The Edit BOM Table Definition page for the BOM Item Definition table appears.
- Click Download Sample Datatable.
Map a BOM Item Definition Table
- Click Admin to go to the Admin Home Page.
-
Click BOM in the Products section.
The BOM Administration Platform page opens.
-
Click BOM Tables in the BOM Declaration section.
The Bills of Materials Tables page opens. This page is used access to BOM Mapping tables, shows mapping status, and activate tables.
-
Click BOM Item Definition.
The Edit BOM Table Definition page for the BOM Item Definition table appears.
-
Select the appropriate table in the Table Name drop-down menu.
If the selected Data Table column names and data types match the default, the column mapping is automatic. If the column names and data types do not match, map the columns manually. Select the appropriate columns from the Column Mapping drop-down menus.
4. Click Save, when column mapping is complete.
Oracle CPQ 24D also supports cardinality for BOM items to control the minimum and maximum quantity orderable for each item. Administrators can activate and map Min Selectable Items and Max Selectable Items for the BOM Item Definition table, and then define minimum and maximum selectable values for a BOM item in the BOM Item Definition data table.
Existing customers upgrading to Oracle CPQ 24D need to perform the following procedure to enable cardinality for the BOM Item Definition.
Add BOM Item Definition table Min and Max Selectable Items columns
-
Navigate to Admin > Data Tables > BOM Tables.
-
Open the BOM Item Definition table (e.g. Oracle_BomItemDef).
-
Select the Schema tab.
-
Click the Add "+" icon to add the following String type columns:
-
minSelectableItems
-
maxSelectableItems
-
-
Save and deploy the data table.
Map BOM Item Definition table Min and Max Selectable Items columns
-
Navigate to Admin > BOM > BOM Tables.
-
Open the BOM Item Definition table.
-
Select the applicable Column Mapping options for the following columns:
-
Min Selectable Items
-
Max Selectable Items
-
-
Click Save.
Define Any Child Item in the BOM Hierarchy as a Model
Oracle CPQ parts can be added as a child item in the BOM hierarchy. This capability supports models as child items in the BOM hierarchy. Administrators can accomplish this using either the BOM Item Definition table or the Save BOM BML function.
The PartNumber column in the BOM Item Definition table can contain either the part number of a BOM item or the path to a model in the BOM hierarchy. As shown in the following figure, the format for defining the path to a model is as follows: productFamilyVariableName:productLineVariableName:modelVariableName
Notes:
- Entries in the PartNumber column that contain colons (:) represent a path to a model.
- For additional information about the BOM Item Definition table or the Save BOM BML function, refer to the Oracle CPQ BOM Mapping Implementation Guide.