Table 99000772 "Production BOM Line"
Base Application · Microsoft.Manufacturing.ProductionBOM
Across versions
- BC23present
- BC24declaration changed
- BC25unchanged
- BC264 procedures added
- BC271 events added
- BC2820 fields changed, 1 fields added
- BC29-30unchanged
Neighbourhood 19 connected objects and pages
Base Application · Microsoft.Manufacturing.ProductionBOM · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 99000788 “Production BOM Lines” (3 Learn pages), Page 99000789 “Production BOM Version Lines” (1).
Properties
| Property | Value |
|---|---|
| Caption | Production BOM Line |
| DataClassification | CustomerContent |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Production BOM No. | Code[20] | — | TableRelation Table 99000771 “Production BOM Header” (Production BOM Header); NotBlank |
| 2 | Line No. | Integer | — | |
| 3 | Version Code | Code[20] | — | TableRelation Table 99000779 “Production BOM Version” (“Production BOM Version”.“Version Code” where(“Production BOM No.” = field(“Production BOM No.”))) |
| 10 | Type Δ BC28 | Enum “Production BOM Line Type” | Specifies the type of production BOM line. | enum Enum 99000772 “Production BOM Line Type” |
| 11 | No. Δ BC28 | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation Table 27 “Item”, Table 99000771 “Production BOM Header” (if (Type = const(Item)) Item where(Type = filter(Inventory | “Non-Inventory”)) else if (Type = const(“Production BOM”)) “Production BOM Header”) |
| 12 | Description Δ BC28 | Text[100] | Specifies a description of the production BOM line. | |
| 13 | Unit of Measure Code Δ BC28 | Code[10] | Specifies how each unit of the item is measured, such as in pieces or tons. By default, the value in the Base Unit of Measure field on the item card is inserted. | TableRelation Table 204 “Unit of Measure”, Table 5404 “Item Unit of Measure” (if (Type = const(Item)) “Item Unit of Measure”.Code where(“Item No.” = field(“No.”)) else if (Type = const(“Production BOM”)) “Unit of Measure”) |
| 14 | Quantity Δ BC28 | Decimal | — | not editable |
| 15 | Position Δ BC28 | Code[10] | Specifies the position of the component on the bill of material. | |
| 16 | Position 2 Δ BC28 | Code[10] | Specifies more exactly whether the component is to appear at a certain position in the BOM to represent a certain production process. | |
| 17 | Position 3 Δ BC28 | Code[10] | Specifies the third reference number for the component position on a bill of material, such as the alternate position number of a component on a print card. | |
| 18 | Lead-Time Offset Δ BC28 | DateFormula | Specifies the total number of days required to produce this item. | |
| 19 | Routing Link Code Δ BC28 | Code[10] | Specifies the routing link code. | TableRelation Table 99000777 “Routing Link” (Routing Link) |
| 20 | Scrap % Δ BC28 | Decimal | Specifies the percentage of the item that you expect to be scrapped in the production process. | |
| 21 | Variant Code Δ BC28 | Code[10] | Specifies the variant of the item on the line. | TableRelation Table 5401 “Item Variant” (if (Type = const(Item)) “Item Variant”.Code where(“Item No.” = field(“No.”))) |
| 22 | Comment | Boolean | — | FlowField: exist(“Production BOM Comment Line” where(“Production BOM No.” = field(“Production BOM No.”), “Version Code” = field(“Version Code”), “BOM Line No.” = field(“Line No.”))); not editable |
| 23 | Description 2 + BC28 | Text[50] | Specifies additional description text. | |
| 28 | Starting Date Δ BC28 | Date | Specifies the date from which this production BOM is valid. | |
| 29 | Ending Date Δ BC28 | Date | Specifies the date from which this production BOM is no longer valid. | |
| 40 | Length Δ BC28 | Decimal | Specifies the length of one item unit when measured in the specified unit of measure. | |
| 41 | Width Δ BC28 | Decimal | Specifies the width of one item unit when measured in the specified unit of measure. | |
| 42 | Weight Δ BC28 | Decimal | Specifies the weight of one item unit when measured in the specified unit of measure. | |
| 43 | Depth Δ BC28 | Decimal | Specifies the depth of one item unit when measured in the specified unit of measure. | |
| 44 | Calculation Formula Δ BC28 | Enum “Quantity Calculation Formula” | Specifies how to calculate the Quantity field. | enum Enum 5444 “Quantity Calculation Formula” |
| 45 | Quantity per Δ BC28 | Decimal | Specifies how many units of the component are required to produce the parent item. |
Keys
- Key1: Production BOM No., Version Code, Line No. (clustered)
- Key2: Type, No.
Events published
OnAfterTestStatus(ProductionBOMLine: Record "Production BOM Line"; ProductionBOMHeader: Record "Production BOM Header"; ProductionBOMVersion: Record "Production BOM Version")(integration)OnAfterValidateNo(var ProductionBOMLine: Record "Production BOM Line")(integration)OnBeforeGetBOMHeaderQtyPerUOM(var ProductionBOMLine: Record "Production BOM Line"; Item: Record Item; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeGetBOMLineQtyPerUOM(var ProductionBOMLine: Record "Production BOM Line"; Item: Record Item; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeGetQtyPerUnitOfMeasure(var ProductionBOMLine: Record "Production BOM Line"; var Result: Decimal; var IsHandled: Boolean)(integration)OnBeforeValidateRoutingLinkCode(var ProductionBOMLine: Record "Production BOM Line"; xProductionBOMLine: Record "Production BOM Line"; CallingFieldNo: Integer; var IsHandled: Boolean)(integration)OnBeforeTestStatus(var ProductionBOMLine: Record "Production BOM Line"; var IsHandled: Boolean)(integration)OnDeleteOnCaseTypeElse(var ProductionBOMLine: Record "Production BOM Line")(integration)OnValidateCalculationFormulaEnumExtension(var ProductionBOMLine: Record "Production BOM Line")(integration)OnValidateNoOnAfterAssignItemFields(var ProductionBOMLine: Record "Production BOM Line"; Item: Record Item; var xProductionBOMLine: Record "Production BOM Line"; CallingFieldNo: Integer)(integration)- subscribers: Codeunit 6254 “Sust. Manufacturing Subscriber” OnValidateNoOnAfterAssignItemFields
OnBeforeValidateNo(var ProductionBOMLine: Record "Production BOM Line"; xProductionBOMLine: Record "Production BOM Line"; CallingFieldNo: Integer; var IsHandled: Boolean)+ BC27 (integration)OnValidateNoOnAfterAssignProdBOMFields(var ProductionBOMLine: Record "Production BOM Line"; ProductionBOMHeader: Record "Production BOM Header"; var xProductionBOMLine: Record "Production BOM Line"; CallingFieldNo: Integer)(integration)
Trigger event subscribers
- OnBeforeInsertEvent: Codeunit 99000788 “Mfg. Experience Tier” BlockInsertProductionBOMLine
Procedures
TestStatus()GetQtyPerUnitOfMeasure(): DecimalGetBOMHeaderQtyPerUOM(Item: Record Item): DecimalGetBOMLineQtyPerUOM(Item: Record Item): DecimalSelectMultipleItems()+ BC26: Opens a page for selecting multiple items to add to the document. Selected items are added to the document.AddItems(SelectionFilter: Text)+ BC26: Adds items to the document based on the provided selection filter.AddItem(var ProductionBOMLine: Record "Production BOM Line"; ItemNo: Code[20])+ BC26: Adds an item to the document.InitNewLine(var NewProductionBOMLine: Record "Production BOM Line")+ BC26: Initializes a new Production BOM Line based on the current Production BOM Line.
Triggers
OnDelete, OnInsert, OnModify
Relations
- Unit of Measure Code: TableRelation Table 204 “Unit of Measure” (conditional)
- No.: TableRelation Table 27 “Item” (conditional)
- Variant Code: TableRelation Table 5401 “Item Variant”
- Unit of Measure Code: TableRelation Table 5404 “Item Unit of Measure” (conditional)
- No.: TableRelation Table 99000771 “Production BOM Header” (conditional)
- Production BOM No.: TableRelation Table 99000771 “Production BOM Header”
- Comment: CalcFormula Table 99000776 “Production BOM Comment Line”
- Routing Link Code: TableRelation Table 99000777 “Routing Link”
- Version Code: TableRelation Table 99000779 “Production BOM Version”
Referenced by
1 fields in 1 objects relate to this table (TableRelation or CalcFormula).
- Table 99000776 “Production BOM Comment Line”: BOM Line No.
Pages and codeunits on this table
- Page 99000788 “Production BOM Lines” (source table)
- Page 99000789 “Production BOM Version Lines” (source table)
Extended by
Calls
From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an Object::"Name" argument. Interface dispatch and calls through events are not counted, so the list is not complete.
- Codeunit 5402 “Unit of Measure Management” (3 calls:
GetBOMHeaderQtyPerUOM → GetQtyPerUnitOfMeasure,GetBOMLineQtyPerUOM → GetQtyPerUnitOfMeasure,GetQtyPerUnitOfMeasure → GetQtyPerUnitOfMeasure)
Recent changes
- 2026-08-16 #9067 Production Definition Wizard - Implementation (main, BC30, feature)
Ask your agent
Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: bcatlas_resolve_node(object_type: "table", object_name: "Production BOM Line"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.