---
id: object/table/900
type: object
title: Table 900 "Assembly Header"
summary: Table 900 "Assembly Header" in Base Application (Microsoft.Assembly.Document). 49 fields, 71 public procedures, 50 events. Present since at least BC23, still in BC30, changed in BC24-28, BC30.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "30"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 5a2bab694335ffb288481a893047bca4a4820d78577b400f90f306ffa34e977b
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Assembly/Document/AssemblyHeader.Table.al
    title: src/Layers/W1/BaseApp/Assembly/Document/AssemblyHeader.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/assembly-assemble-items
    - https://learn.microsoft.com/dynamics365/business-central/assembly-assemble-to-order-or-assemble-to-stock
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-assemble-items
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-create-blanket-assembly-orders
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-quote-an-assemble-to-order-sale
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-sell-assemble-to-order-items-and-inventory-items-together
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-sell-inventory-items-in-assemble-to-order-flows
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-sell-items-assembled-to-order
    - https://learn.microsoft.com/dynamics365/business-central/assembly-how-to-undo-assembly-posting
    - https://learn.microsoft.com/dynamics365/business-central/assembly-reports
    - https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-assembly
    - https://learn.microsoft.com/dynamics365/business-central/inventory-how-availability-overview
  objects: []
  features: []
  topics:
    - topic/business-central/analytics-business-intelligence-and-repo/built-in-reports/assembly-management
    - topic/business-central/business-functionality/assembly-management
    - topic/business-central/business-functionality/assembly-management/assembly-analytics
    - topic/business-central/business-functionality/inventory
    - topic/business-central/business-functionality/sustainability-management/sustainability-value-chain
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/12066
object_type: table
object_id: 900
name: Assembly Header
namespace: Microsoft.Assembly.Document
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "30"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 49
  procedures: 148
  events: 50
  subscribers: 0
relations:
  out: 22
  referenced_by: 10
  pages: 12
  extended_by: 1
  event_subscribers: 1
  calls: 18
  called_by: 0
  implements: 0
---

# Table 900 "Assembly Header"

> Table 900 "Assembly Header" in Base Application (Microsoft.Assembly.Document). 49 fields, 71 public procedures, 50 events. Present since at least BC23, still in BC30, changed in BC24-28, BC30.

Base Application · Microsoft.Assembly.Document · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Assembly/Document/AssemblyHeader.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 900 "Assembly Order"](../page/900.md) (11 Learn pages), [Page 902 "Assembly Orders"](../page/902.md) (10), [Page 904 "Assembly List"](../page/904.md) (10), [Page 916 "Assembly Order Statistics"](../page/916.md) (10), [Page 930 "Assembly Quote"](../page/930.md) (10), [Page 932 "Assembly Quotes"](../page/932.md) (10), [Page 940 "Blanket Assembly Order"](../page/940.md) (10), [Page 942 "Blanket Assembly Orders"](../page/942.md) (10), [Page 908 "Assembly Availability"](../page/908.md) (1), [Page 925 "Available - Assembly Headers"](../page/925.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Assembly Header |
| DataClassification | CustomerContent |
| Permissions | TableData "Assembly Line" = d |

## 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 | Document Type | Enum "Assembly Document Type" | Specifies the type of assembly document the record represents in assemble-to-order scenarios. | enum [Enum 901 "Assembly Document Type"](../enum/901.md) |
| 2 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. |  |
| 3 | Description | Text[100] | Specifies the description of the assembly item. |  |
| 4 | Search Description | Code[100] | — |  |
| 5 | Description 2 | Text[50] | Specifies information in addition to the description. |  |
| 6 | Creation Date | Date | — | not editable |
| 7 | Last Date Modified | Date | — | not editable |
| 10 | Item No. | Code[20] | Specifies the number of the item that is being assembled with the assembly order. | TableRelation [Table 27 "Item"](../table/27.md) (Item where(Type = const(Inventory))) |
| 12 | Variant Code | Code[10] | Specifies the variant of the item on the line. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) ("Item Variant".Code where("Item No." = field("Item No."), Code = field("Variant Code"))) |
| 15 | Inventory Posting Group | Code[20] | — | TableRelation [Table 94 "Inventory Posting Group"](../table/94.md) (Inventory Posting Group) |
| 16 | Gen. Prod. Posting Group | Code[20] | — | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 17 | Gen. Bus. Posting Group | Code[20] | Specifies the code for the General Business Posting Group that applies to the entry. | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 19 | Comment | Boolean | — | FlowField: exist("Assembly Comment Line" where("Document Type" = field("Document Type"), "Document No." = field("No."))); not editable |
| 20 | Location Code | Code[10] | Specifies the location to which you want to post output of the assembly item. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 21 | Shortcut Dimension 1 Code | Code[20] | Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(1), Blocked = const(false))) |
| 22 | Shortcut Dimension 2 Code | Code[20] | Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. | TableRelation [Table 349 "Dimension Value"](../table/349.md) ("Dimension Value".Code where("Global Dimension No." = const(2), Blocked = const(false))) |
| 23 | Posting Date | Date | Specifies the date on which the assembly order is posted. |  |
| 24 | Due Date | Date | Specifies the date when the assembled item is due to be available for use. |  |
| 25 | Starting Date | Date | Specifies the date when the assembly order is expected to start. |  |
| 27 | Ending Date | Date | Specifies the date when the assembly order is expected to finish. |  |
| 33 | Bin Code | Code[20] | Specifies the bin the assembly item is posted to as output and from where it is taken to storage or shipped if it is assembled to a sales order. | TableRelation [Table 7302 "Bin Content"](../table/7302.md), [Table 7354 "Bin"](../table/7354.md) (if (Quantity = filter(< 0)) "Bin Content"."Bin Code" where("Location Code" = field("Location Code"), "Item No." = field("Item No."), "Variant Code" = field("Variant Code")) else Bin.Code where("Location Code" = field("Location Code"))) |
| 40 | Quantity | Decimal | Specifies how many units of the assembly item that you expect to assemble with the assembly order. |  |
| 41 | Quantity (Base) | Decimal | — |  |
| 42 | Remaining Quantity | Decimal | Specifies how many units of the assembly item remain to be posted as assembled output. | not editable |
| 43 | Remaining Quantity (Base) | Decimal | — | not editable |
| 44 | Assembled Quantity | Decimal | Specifies how many units of the assembly item are posted as assembled output. | not editable |
| 45 | Assembled Quantity (Base) | Decimal | — | not editable |
| 46 | Quantity to Assemble | Decimal | Specifies how many of the assembly item units you want to partially post. To post the full quantity on the assembly order, leave the field unchanged. |  |
| 47 | Quantity to Assemble (Base) | Decimal | — |  |
| 48 | Reserved Quantity | Decimal | Specifies how many units of the assembly item are reserved for this assembly order header. | FlowField: sum("Reservation Entry".Quantity where("Source ID" = field("No."), "Source Type" = const(900), #pragma warning disable AL0603 "Source Subtype" = field("Document Type"), #pragma warning restore "Reservation Status" = const(Reservation))); not editable |
| 49 | Reserved Qty. (Base) | Decimal | Specifies how many assembly items, which are stated in the base unit of measure, are reserved for this assembly order header. <small>via [Page 925 "Available - Assembly Headers"](../page/925.md)</small> | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Source ID" = field("No."), "Source Type" = const(900), #pragma warning disable AL0603 "Source Subtype" = field("Document Type"), #pragma warning restore "Reservation Status" = const(Reservation))); not editable |
| 50 | Planning Flexibility | Enum "Reservation Planning Flexibility" | Specifies whether the supply represented by the assembly order is considered by the planning system when calculating action messages. | enum [Enum 340 "Reservation Planning Flexibility"](../enum/340.md) |
| 51 | MPS Order | Boolean | — |  |
| 54 | Assemble to Order | Boolean | Specifies if the assembly order is linked to a sales order, which indicates that the item is assembled to order. | FlowField: exist("Assemble-to-Order Link" where("Assembly Document Type" = field("Document Type"), "Assembly Document No." = field("No."))); not editable |
| 63 | Posting No. | Code[20] | — | not editable |
| 65 | Unit Cost | Decimal | Specifies the cost of one unit of the item or resource on the line. |  |
| 67 | Cost Amount | Decimal | Specifies the total unit cost of the assembly order. | not editable |
| 68 | Rolled-up Assembly Cost | Decimal | — | FlowField: sum("Assembly Line"."Cost Amount" where("Document Type" = field("Document Type"), "Document No." = field("No."), Type = filter(Item \| Resource))) |
| 75 | Indirect Cost % | Decimal | Specifies the percentage of the item's last purchase cost that includes indirect costs, such as freight that is associated with the purchase of the item. |  |
| 76 | Overhead Rate | Decimal | Specifies the indirect cost of the assembly item as an absolute amount. |  |
| 80 | Unit of Measure Code | Code[10] | Specifies how each unit of the item or resource is measured, such as in pieces or hours. By default, the value in the Base Unit of Measure field on the item or resource card is inserted. | TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md) ("Item Unit of Measure".Code where("Item No." = field("Item No."))) |
| 81 | Qty. per Unit of Measure | Decimal | — | not editable |
| 82 | Qty. Rounding Precision | Decimal | — | not editable |
| 83 | Qty. Rounding Precision (Base) | Decimal | — | not editable |
| 107 | No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series); not editable |
| 108 | Posting No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series) |
| 120 | Status | Option | Specifies if the document is open, waiting to be approved, invoiced for prepayment, or released to the next stage of processing. | OptionCaption: Open,Released; not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 9000 | Assigned User ID | Code[50] | Specifies the ID of the user who is responsible for the document. | TableRelation [Table 91 "User Setup"](../table/91.md) (User Setup); DataClassification EndUserIdentifiableInformation |

## Keys

- Key1: Document Type, No. (clustered)
- Key2: Document Type, Item No., Variant Code, Location Code, Due Date

## Events published

- `OnAfterInitDefaultDimensionSources(var AssemblyHeader: Record "Assembly Header"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; CallingFieldNo: Integer)` (integration)
- `OnAfterCalcEndDateFromStartDate(var AssemblyHeader: Record "Assembly Header"; var Result: Date)` (integration)
- `OnAfterCalcStartDateFromEndDate(var AssemblyHeader: Record "Assembly Header"; var Result: Date)` (integration)
- `OnAfterGetNoSeriesCode(AssemblyHeader: Record "Assembly Header"; var Result: Code[20])` (integration)
- `OnAfterGetSKU(AssemblyHeader: Record "Assembly Header"; var Result: Boolean)` (integration)
- `OnAfterCreateDim(var AssemblyHeader: Record "Assembly Header"; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])` (integration)
- `OnAfterFilterLinesForReservation(var AssemblyHeader: Record "Assembly Header"; ReservEntry: Record "Reservation Entry"; DocumentType: Option; AvailabilityFilter: Text; Positive: Boolean)` (integration)
- `OnAfterInitQtyToAssemble(var AssemblyHeader: Record "Assembly Header"; CallingFieldNo: Integer)` (integration)
- `OnAfterInitRecord(var AssemblyHeader: Record "Assembly Header")` (integration)
- `OnAfterInitRemaining(var AssemblyHeader: Record "Assembly Header"; CallingFieldNo: Integer)` (integration)
- `OnAfterRoundQty(AssemblyHeader: Record "Assembly Header"; var Qty: Decimal)` (integration)
- `OnAfterSetItemToPlanFilters(var AssemblyHeader: Record "Assembly Header"; var Item: Record Item; AssemblyDocumentType: Enum "Assembly Document Type")` (integration)
- `OnAfterSetReservationFilters(var ReservEntry: Record "Reservation Entry"; AssemblyHeader: Record "Assembly Header")` (integration)
- `OnAfterShowDimensions(var AssemblyHeader: Record "Assembly Header")` (integration)
- `OnAfterValidateShortcutDimCode(var AssemblyHeader: Record "Assembly Header"; var xAssemblyHeader: Record "Assembly Header"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnBeforeDoValidateDates(var AssemblyHeader: Record "Assembly Header"; var xAssemblyHeader: Record "Assembly Header"; FieldNumToCalculateFrom: Integer; NewDueDate: Date; NewEndDate: Date; NewStartDate: Date; var ValidateConfirmed: Boolean)` (integration)
- `OnBeforeOpenItemTrackingLines(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeShowDueDateBeforeWorkDateMsg(AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateDueDate(var AssemblyHeader: Record "Assembly Header"; NewDueDate: Date)` (integration)
- `OnBeforeReplaceLinesFromBOM(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; var ReturnValue: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeRunWhseSourceCreateDocument(var AssemblyHeader: Record "Assembly Header"; ShowRequestPage: Boolean; AssignedUserID: Code[50]; SortingMethod: Option; SetBreakBulkFilter: Boolean; DoNotFillQtyToHandle: Boolean; PrintDocument: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeCreateInvtMovement(var AssemblyHeader: Record "Assembly Header"; MakeATOInvtMvmt: Boolean; PrintDocumentForATOMvmt: Boolean; ShowErrorForATOMvmt: Boolean; var ATOMovementsCreated: Integer; var ATOTotalMovementsToBeCreated: Integer; var IsHandled: Boolean)` (integration)
- `OnValidateItemNoOnAfterGetDefaultBin(var AssemblyHeader: Record "Assembly Header"; Item: Record Item)` (integration)
- `OnValidateItemNoOnBeforeValidateDates(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnValidateLocationCodeOnBeforeValidateDates(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnValiateQuantityOnAfterCalcBaseQty(var AssemblyHeader: Record "Assembly Header"; CurrentFieldNo: Integer)` (integration)
- `OnBeforeValidateShortcutDimCode(var AssemblyHeader: Record "Assembly Header"; var xAssemblyHeader: Record "Assembly Header"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnBeforeValidateQuantityBase(var AssemblyHeader: Record "Assembly Header"; var xAssemblyHeader: Record "Assembly Header"; FieldNumber: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateQuantity(var AssemblyHeader: Record "Assembly Header"; var xAssemblyHeader: Record "Assembly Header"; FieldNumber: Integer; var IsHandled: Boolean)` (integration)
- `OnValidateVariantCodeOnBeforeUpdateAssemblyLines(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; CurrentFieldNo: Integer; CurrentFieldNum: Integer; var IsHandled: Boolean)` (integration)
- `OnValidateVariantCodeOnBeforeValidateDates(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateAssemblyLinesAndVerifyReserveQuantity(var AssemblyHeader: Record "Assembly Header"; var xAssemblyHeader: Record "Assembly Header"; CallingFieldNo: Integer; CurrentFieldNum: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeCalcBaseQty(var AssemblyHeader: Record "Assembly Header"; Qty: Decimal; FromFieldName: Text; ToFieldName: Text; var Result: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeCalcStartDateFromEndDate(var AssemblyHeader: Record "Assembly Header"; var Result: Date; var IsHandled: Boolean)` (integration)
- `OnBeforeCalcEndDateFromStartDate(var AssemblyHeader: Record "Assembly Header")` (integration)
- `OnBeforeCheckIsNotAsmToOrder(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean; xAssemblyHeader: Record "Assembly Header"; CurrentFieldNo: Integer; CallingFieldNo: Integer)` (integration)
- `OnBeforeShowReservation(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateDates(var AssemblyHeader: Record "Assembly Header"; FieldNumToCalculateFrom: Integer; var DoNotValidateButJustAssign: Boolean; var IsHandled: Boolean)` (integration)
- `OnUpdateAllLineDimOnBeforeConfirmUpdatedDimension(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `OnBeforeGetDefaultBin(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean; xAssemblyHeader: Record "Assembly Header")` (integration)
- `OnAfterGetDefaultBin(var AssemblyHeader: Record "Assembly Header")` (integration)
- `OnAfterRunWhseSourceCreateDocument(var AssemblyHeader: Record "Assembly Header"; ShowRequestPage: Boolean; AssignedUserID: Code[50]; SortingMethod: Option; SetBreakBulkFilter: Boolean; DoNotFillQtyToHandle: Boolean; PrintDocument: Boolean)` (integration)
- `OnBeforeCreateDim(var AssemblyHeader: Record "Assembly Header"; CurrentFieldNo: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; var IsHandled: Boolean)` (integration)
- `OnAfterValidateDates(var AssemblyHeader: Record "Assembly Header"; FieldNumToCalculateFrom: Integer; var DoNotValidateButJustAssign: Boolean)` (integration)
- `OnBeforeAssemblyLinesExist(var AssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeChangeGenBusPostingGroupAssemblyLines(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; var IsHandled: Boolean)` (integration)
- `ChangeGenBusPostingGroupAssemblyLinesOnBeforeConfirm(var AssemblyHeader: Record "Assembly Header"; xAssemblyHeader: Record "Assembly Header"; HideValidationDialog: Boolean; var Confirmed: Boolean; var IsHandled: Boolean)` (integration)
- `OnConfirmDeletionOnBeforeAssemblyLineLoop(var AssemblyLine: Record "Assembly Line"; var Confirmed: Boolean)` (integration)
- `OnAfterSetDescriptionsFromItem(var AssemblyHeader: Record "Assembly Header"; Item: Record Item)` (integration)
- `OnValidateVariantCodeOnAfterUpdateDescriptions(var AssemblyHeader: Record "Assembly Header"; ItemVariant: Record "Item Variant")` (integration)

## Trigger event subscribers

- OnAfterValidateEvent(Item No.): [Codeunit 6255 "Sust. Assembly Subscriber"](../codeunit/6255.md) OnAfterValidateNoEventOnAssemblyHeader

## Procedures

- `RefreshBOM()`
- `InitRecord()`
- `InitRemainingQty()`
- `InitQtyToAssemble()`
- `AssistEdit(OldAssemblyHeader: Record "Assembly Header"): Boolean`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `DeleteAssemblyLines()`
- `ShowReservation()`
- `ShowReservationEntries(Modal: Boolean)`
- `AutoReserveAsmLine(AssemblyLine: Record "Assembly Line")`
- `SetTestReservationDateConflict(NewTestReservationDateConflict: Boolean)`
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `AssemblyOrderLineExist(): Boolean`
- `GetRemainingQty(var RemainingQty: Decimal; var RemainingQtyBase: Decimal)`
- `GetReservationQty(var QtyReserved: Decimal; var QtyReservedBase: Decimal; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal): Decimal`
- `GetSourceCaption(): Text[80]`
- `SetReservationEntry(var ReservEntry: Record "Reservation Entry")`
- `SetReservationFilters(var ReservEntry: Record "Reservation Entry")`
- `ReservEntryExist(): Boolean`
- `SetItemToPlanFilters(var Item2: Record Item; DocumentType: Enum "Assembly Document Type")`
- `FindItemToPlanLines(var Item2: Record Item; DocumentType: Enum "Assembly Document Type"): Boolean`
- `ItemToPlanLinesExist(var Item2: Record Item; DocumentType: Enum "Assembly Document Type"): Boolean`
- `FilterLinesForReservation(ReservationEntry: Record "Reservation Entry"; DocumentType: Option; AvailabilityFilter: Text; Positive: Boolean)`
- `ShowDimensions()`
- `ShowStatistics()` (obsolete 27.0: the statistics action is refactored to use the RunObject property)
- `UpdateUnitCost()`
- `SetItemFilter(var Item2: Record Item)`
- `ShowAssemblyList()`
- `RoundQty(var Qty: Decimal)`
- `CalcActualCosts(var ActCost: array[5] of Decimal)`
- `CalcStartDateFromEndDate(EndingDate: Date): Date`
- `CalcEndDateFromStartDate(StartingDate: Date): Date`
- `CalcEndDateFromDueDate(DueDate: Date): Date`
- `CalcDueDateFromEndDate(EndingDate: Date): Date`
- `ValidateDates(FieldNumToCalculateFrom: Integer; DoNotValidateButJustAssign: Boolean)`
- `ValidateDueDate(NewDueDate: Date; CallValidateOnOtherDates: Boolean)`
- `ValidateEndDate(NewEndDate: Date; CallValidateOnOtherDates: Boolean)`
- `ValidateStartDate(NewStartDate: Date; CallValidateOnOtherDates: Boolean)`
- `GetDefaultBin()`
- `GetFromAssemblyBin(Location: Record Location; var BinCode: Code[20]): Boolean`
- `ValidateBinCode(NewBinCode: Code[20])`
- `CreatePick(ShowRequestPage: Boolean; AssignedUserID: Code[50]; SortingMethod: Option; SetBreakBulkFilter: Boolean; DoNotFillQtyToHandle: Boolean; PrintDocument: Boolean)`
- `PerformManualRelease()` (internal)
- `CreateInvtMovement(MakeATOInvtMvmt: Boolean; PrintDocumentForATOMvmt: Boolean; ShowErrorForATOMvmt: Boolean; var ATOMovementsCreated: Integer; var ATOTotalMovementsToBeCreated: Integer)`
- `CompletelyPicked(): Boolean`
- `IsInbound(): Boolean`
- `OpenItemTrackingLines()`
- `ItemExists(ItemNo: Code[20]): Boolean`
- `TestStatusOpen()`
- `SuspendStatusCheck(Suspend: Boolean)`
- `IsStatusCheckSuspended(): Boolean`
- `ShowTracking()`
- `ShowAsmToOrder()`
- `IsAsmToOrder(): Boolean`
- `CheckIsNotAsmToOrder()`
- `CheckIsNotAsmToOrder(CallingFieldNo: Integer)`
- `IsStandardCostItem(): Boolean`
- `ShowAvailability()`
- `ShowDueDateBeforeWorkDateMsg()`
- `AddBOMLine(BOMComp: Record "BOM Component")`
- `UpdateWarningOnLines()`
- `SetWarningsOff()`
- `SetWarningsOn()`
- `CalcTotalCost(var ExpCost: array[5] of Decimal): Decimal`
- `RowID1(): Text[250]`
- `CreateDimFromDefaultDim()`
- `GetQtyReservedFromStockState(): Enum "Reservation From Stock"` (internal)
- `AssemblyLinesExist(): Boolean`
- `ChangeGenBusPostingGroupAssemblyLines()`
- `GetHideValidationDialog(): Boolean`

Plus 27 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 904 "Assembly List"](../page/904.md)
- lookup page [Page 904 "Assembly List"](../page/904.md)
- Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Gen. Bus. Posting Group: TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md)
- Gen. Prod. Posting Group: TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md)
- Item No.: TableRelation [Table 27 "Item"](../table/27.md)
- No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Posting No. Series: TableRelation [Table 308 "No. Series"](../table/308.md)
- Reserved Qty. (Base): CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Reserved Quantity: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Shortcut Dimension 1 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Shortcut Dimension 2 Code: TableRelation [Table 349 "Dimension Value"](../table/349.md)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- Unit of Measure Code: TableRelation [Table 5404 "Item Unit of Measure"](../table/5404.md)
- Bin Code: TableRelation [Table 7302 "Bin Content"](../table/7302.md) (conditional)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md) (conditional)
- Rolled-up Assembly Cost: CalcFormula [Table 901 "Assembly Line"](../table/901.md)
- Assemble to Order: CalcFormula [Table 904 "Assemble-to-Order Link"](../table/904.md)
- Comment: CalcFormula [Table 906 "Assembly Comment Line"](../table/906.md)
- Assigned User ID: TableRelation [Table 91 "User Setup"](../table/91.md)
- Inventory Posting Group: TableRelation [Table 94 "Inventory Posting Group"](../table/94.md)

## Referenced by

10 fields in 10 objects relate to this table (TableRelation or CalcFormula).

- [Table 5700 "Stockkeeping Unit"](../table/5700.md): Qty. on Assembly Order
- [Table 6220 "Sustainability Cue"](../table/6220.md): Assembly Orders
- [Table 901 "Assembly Line"](../table/901.md): Document No.
- [Table 904 "Assemble-to-Order Link"](../table/904.md): Assembly Document No.
- [Table 906 "Assembly Comment Line"](../table/906.md): Document No.
- [Table 951 "Time Sheet Line"](../table/951.md): Assembly Order No.
- [Table 952 "Time Sheet Detail"](../table/952.md): Assembly Order No.
- [Table 955 "Time Sheet Line Archive"](../table/955.md): Assembly Order No.
- [Table 956 "Time Sheet Detail Archive"](../table/956.md): Assembly Order No.
- [Table extension 905 "Asm. Item"](../tableextension/905.md): Qty. on Assembly Order

## Pages and codeunits on this table

- [Page 30224 "APIV2 - Assembly Orders"](../page/30224.md) (source table)
- [Page 900 "Assembly Order"](../page/900.md) (source table)
- [Page 902 "Assembly Orders"](../page/902.md) (source table)
- [Page 904 "Assembly List"](../page/904.md) (source table)
- [Page 908 "Assembly Availability"](../page/908.md) (source table)
- [Page 913 "Assembly Availability Check"](../page/913.md) (source table)
- [Page 916 "Assembly Order Statistics"](../page/916.md) (source table)
- [Page 925 "Available - Assembly Headers"](../page/925.md) (source table)
- [Page 930 "Assembly Quote"](../page/930.md) (source table)
- [Page 932 "Assembly Quotes"](../page/932.md) (source table)
- [Page 940 "Blanket Assembly Order"](../page/940.md) (source table)
- [Page 942 "Blanket Assembly Orders"](../page/942.md) (source table)
- [Codeunit 900 "Assembly-Post"](../codeunit/900.md) (codeunit runs on it)
- [Codeunit 901 "Assembly-Post (Yes/No)"](../codeunit/901.md) (codeunit runs on it)
- [Codeunit 903 "Release Assembly Document"](../codeunit/903.md) (codeunit runs on it)
- [Codeunit 9131 "Check Assembly Document"](../codeunit/9131.md) (codeunit runs on it)

## Extended by

- [Table extension 6251 "Sustainability Assembly Header"](../tableextension/6251.md)

## 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 905 "Assembly Line Management"](../codeunit/905.md) (14 calls: `AddBOMLine → AddBOMLine`, `CompletelyPicked → CompletelyPicked`, `CreatePick → CreateWhseItemTrkgForAsmLines`, …)
- [Codeunit 408 "DimensionManagement"](../codeunit/408.md) (7 calls: `CreateDim → GetRecDefaultDimID`, `CreateDim → UpdateGlobalDimFromDimSetID`, `InitDefaultDimensionSources → AddDimSource`, …)
- [Codeunit 5404 "Lead-Time Management"](../codeunit/5404.md) (6 calls: `CalcDueDateFromEndDate → GetPlannedDueDate`, `CalcEndDateFromDueDate → GetPlannedEndingDate`, `CalcEndDateFromStartDate → GetPlannedEndingDate`, …)
- [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) (4 calls: `OnDelete → DeleteLine`, `OnModify → VerifyChange`, `OpenItemTrackingLines → CallItemTracking`, …)
- [Codeunit 7302 "WMS Management"](../codeunit/7302.md) (3 calls: `GetDefaultBin → GetDefaultBin`, `ValidateBinCode → FindBin`, `ValidateBinCode → FindBinContent`)
- [Page 456 "No. Series"](../page/456.md) (3 calls: `AssistEdit → (object)`, `InitRecord → (object)`, `OnInsert → (object)`)
- [Codeunit 27 "Confirm Management"](../codeunit/27.md) (2 calls: `ChangeGenBusPostingGroupAssemblyLines → GetResponseOrDefault`, `DoValidateDates → GetResponse`)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (2 calls: `CalcBaseQty → CalcBaseQty`, `RoundQty → RoundQty`)
- [Codeunit 5896 "Calc. Inventory Adjmt. - Order"](../codeunit/5896.md) (1 call: `CalcActualCosts → CalcActualUsageCosts`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (1 call: `RowID1 → ComposeRowID`)
- [Codeunit 7317 "Whse. Integration Management"](../codeunit/7317.md) (1 call: `ValidateBinCode → CheckBinTypeAndCode`)
- [Codeunit 903 "Release Assembly Document"](../codeunit/903.md) (1 call: `PerformManualRelease → (object)`)
- [Codeunit 912 "Calculate Assembly Cost"](../codeunit/912.md) (1 call: `UpdateUnitCost → CalcOverHeadAmt`)
- [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) (1 call: `GetQtyReservedFromStockState → GetReservedQtyFromInventory`)
- [Codeunit 937 "Asm. ReservCheckDateConfl"](../codeunit/937.md) (1 call: `ValidateDueDate → AssemblyHeaderCheck`)
- [Codeunit 99000845 "Reservation Management"](../codeunit/99000845.md) (1 call: `DeleteAssemblyLines → DeleteDocumentReservation`)
- [Page 36 "Assembly BOM"](../page/36.md) (1 call: `ShowAssemblyList → (object)`)
- [Page 497 "Reservation Entries"](../page/497.md) (1 call: `ShowReservationEntries → (object)`)

## Recent changes

- 2026-10-02 [#12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026](../../changes/bcapps/12066.md) (main, BC30, obsoletion)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-28, BC30

## Deprecations

- procedure ShowStatistics: Pending 27.0 (#if not CLEAN27), "the statistics action is refactored to use the RunObject property"

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## 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: "Assembly Header")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
