---
id: object/table/5405
type: object
title: Table 5405 "Production Order"
summary: Table 5405 "Production Order" in Base Application (Microsoft.Manufacturing.Document). 56 fields, 22 public procedures, 40 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: f1920e293b37420ccc450d757b5f80d50a9cd2955ef476009b254873ac3e67b9
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Manufacturing/Document/ProductionOrder.Table.al
    title: src/Layers/W1/BaseApp/Manufacturing/Document/ProductionOrder.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/production-about-production-orders
    - https://learn.microsoft.com/dynamics365/business-central/subcontract-order
    - https://learn.microsoft.com/dynamics365/business-central/subcontract-setup-configurator
    - https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-mfg
    - https://learn.microsoft.com/dynamics365/business-central/production-how-to-create-production-orders
    - https://learn.microsoft.com/dynamics365/business-central/production-manage-manufacturing
    - https://learn.microsoft.com/dynamics365/business-central/finance-about-finished-production-order-costs
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/manufacturing
    - topic/business-central/business-functionality/manufacturing/subcontracting
    - topic/business-central/business-functionality/sustainability-management/sustainability-value-chain
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/12068
    - change/bcapps/10878
    - change/bcapps/9067
object_type: table
object_id: 5405
name: Production Order
namespace: Microsoft.Manufacturing.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: 56
  procedures: 82
  events: 40
  subscribers: 0
relations:
  out: 31
  referenced_by: 35
  pages: 13
  extended_by: 2
  event_subscribers: 2
  calls: 10
  called_by: 0
  implements: 0
---

# Table 5405 "Production Order"

> Table 5405 "Production Order" in Base Application (Microsoft.Manufacturing.Document). 56 fields, 22 public procedures, 40 events. Present since at least BC23, still in BC30, changed in BC24-28, BC30.

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

Learn documents this table through its pages: [Page 99000831 "Released Production Order"](../page/99000831.md) (4 Learn pages), [Page 9325 "Firm Planned Prod. Orders"](../page/9325.md) (2), [Page 99000815 "Production Order List"](../page/99000815.md) (2), [Page 99000829 "Firm Planned Prod. Order"](../page/99000829.md) (2), [Page 99000867 "Finished Production Order"](../page/99000867.md) (2), [Page 9323 "Simulated Production Orders"](../page/9323.md) (1), [Page 9324 "Planned Production Orders"](../page/9324.md) (1), [Page 9326 "Released Production Orders"](../page/9326.md) (1), [Page 9327 "Finished Production Orders"](../page/9327.md) (1), [Page 99000813 "Planned Production Order"](../page/99000813.md) (1), [Page 99000816 "Production Order Statistics"](../page/99000816.md) (1), [Page 99000912 "Simulated Production Order"](../page/99000912.md) (1), [Page 99000914 "Change Production Order Status"](../page/99000914.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Production Order |
| DataClassification | CustomerContent |
| Permissions | TableData "Prod. Order Capacity Need" = r |

## 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 | Status | Enum "Production Order Status" | Specifies the status of the production order. | enum [Enum 5405 "Production Order Status"](../enum/5405.md) |
| 2 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation [Table 5405 "Production Order"](../table/5405.md) ("Production Order"."No." where(Status = field(Status))) |
| 3 | Description | Text[100] | Specifies the description of the production order. |  |
| 4 | Search Description | Code[100] | Specifies the search description. |  |
| 5 | Description 2 | Text[50] | Specifies information in addition to the description. |  |
| 6 | Creation Date | Date | Specifies the date on which you created the production order. | not editable |
| 7 | Last Date Modified | Date | Specifies when the production order card was last modified. | not editable |
| 9 | Source Type | Enum "Prod. Order Source Type" | Specifies the source type of the production order. | enum [Enum 5407 "Prod. Order Source Type"](../enum/5407.md) |
| 10 | Source No. | Code[20] | Specifies the number of the source document that the entry originates from. | TableRelation [Table 27 "Item"](../table/27.md), [Table 36 "Sales Header"](../table/36.md), [Table 99000773 "Family"](../table/99000773.md) (if ("Source Type" = const(Item)) Item where(Type = const(Inventory), "Production Blocked" = filter(<> Output)) else if ("Source Type" = const(Family)) Family else if (Status = const(Simulated), "Source Type" = const("Sales Header")) "Sales Header"."No." where("Document Type" = const(Quote)) else if ...) |
| 11 | Routing No. | Code[20] | Specifies the routing number used for this production order. | TableRelation [Table 99000763 "Routing Header"](../table/99000763.md) (Routing Header) |
| 12 | Variant Code | Code[10] | Specifies the variant code for production order item. | TableRelation [Table 5401 "Item Variant"](../table/5401.md) (if ("Source Type" = const(Item)) "Item Variant".Code where("Item No." = field("Source No."), Code = field("Variant Code"), "Production Blocked" = filter(<> Output))) |
| 15 | Inventory Posting Group | Code[20] | Specifies links between business transactions made for the item and an inventory account in the general ledger, to group amounts for that item type. | TableRelation [Table 94 "Inventory Posting Group"](../table/94.md) (Inventory Posting Group) |
| 16 | Gen. Prod. Posting Group | Code[20] | Specifies the item's product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 251 "Gen. Product Posting Group"](../table/251.md) (Gen. Product Posting Group) |
| 17 | Gen. Bus. Posting Group | Code[20] | Specifies the vendor's or customer's trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. | TableRelation [Table 250 "Gen. Business Posting Group"](../table/250.md) (Gen. Business Posting Group) |
| 19 | Comment | Boolean | — | FlowField: exist("Prod. Order Comment Line" where(Status = field(Status), "Prod. Order No." = field("No."))); not editable |
| 20 | Starting Time | Time | Specifies the starting time of the production order. |  |
| 21 | Starting Date | Date | Specifies the starting date of the production order. |  |
| 22 | Ending Time | Time | Specifies the ending time of the production order. |  |
| 23 | Ending Date | Date | Specifies the ending date of the production order. |  |
| 24 | Due Date | Date | Specifies the due date of the production order. |  |
| 25 | Finished Date | Date | Specifies the actual finishing date of a finished production order. | not editable |
| 28 | Blocked | Boolean | Specifies that the posting of consumption and output transactions for the released production order is blocked. |  |
| 30 | 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))) |
| 31 | 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))) |
| 32 | Location Code | Code[10] | Specifies the location code to which you want to post the finished product from this production order. | TableRelation [Table 14 "Location"](../table/14.md) (Location where("Use As In-Transit" = const(false))) |
| 33 | Bin Code | Code[20] | Specifies a bin to which you want to post the finished items. | TableRelation [Table 7354 "Bin"](../table/7354.md) (if ("Source Type" = const(Item)) Bin.Code where("Location Code" = field("Location Code"), "Item Filter" = field("Source No.")) else if ("Source Type" = filter(<> Item)) Bin.Code where("Location Code" = field("Location Code"))) |
| 34 | Replan Ref. No. | Code[20] | — | not editable |
| 35 | Replan Ref. Status | Enum "Production Order Status" | — | enum [Enum 5405 "Production Order Status"](../enum/5405.md); not editable |
| 38 | Low-Level Code | Integer | — | not editable |
| 40 | Quantity | Decimal | Specifies how many units of the item or the family to produce (production quantity). |  |
| 41 | Unit Cost | Decimal | — |  |
| 42 | Cost Amount | Decimal | — |  |
| 47 | Work Center Filter | Code[20] | — | TableRelation [Table 99000754 "Work Center"](../table/99000754.md) (Work Center); FlowFilter |
| 48 | Capacity Type Filter | Enum "Capacity Type" | — | FlowFilter; enum [Enum 5871 "Capacity Type"](../enum/5871.md) |
| 49 | Capacity No. Filter | Code[20] | — | TableRelation [Table 99000754 "Work Center"](../table/99000754.md), [Table 99000758 "Machine Center"](../table/99000758.md) (if ("Capacity Type Filter" = const("Machine Center")) "Machine Center" else if ("Capacity Type Filter" = const("Work Center")) "Work Center"); FlowFilter |
| 50 | Date Filter | Date | — | FlowFilter |
| 51 | Expected Operation Cost Amt. | Decimal | — | FlowField: sum("Prod. Order Routing Line"."Expected Operation Cost Amt." where(Status = field(Status), "Prod. Order No." = field("No."))); not editable |
| 52 | Expected Component Cost Amt. | Decimal | — | FlowField: sum("Prod. Order Component"."Cost Amount" where(Status = field(Status), "Prod. Order No." = field("No."), "Due Date" = field("Date Filter"))); not editable |
| 55 | Actual Time Used | Decimal | — | FlowField: sum("Capacity Ledger Entry".Quantity where("Order Type" = const(Production), "Order No." = field("No."), Type = field("Capacity Type Filter"), "No." = field("Capacity No. Filter"), "Posting Date" = field("Date Filter"))); not editable |
| 56 | Allocated Capacity Need | Decimal | — | FlowField: sum("Prod. Order Capacity Need"."Needed Time" where(Status = field(Status), "Prod. Order No." = field("No."), Type = field("Capacity Type Filter"), "No." = field("Capacity No. Filter"), "Work Center No." = field("Work Center Filter"), Date = field("Date Filter"), "Requested Only" = const(false))); not editable |
| 57 | Expected Capacity Need | Decimal | — | FlowField: sum("Prod. Order Capacity Need"."Needed Time" where(Status = field(Status), "Prod. Order No." = field("No."), Type = field("Capacity Type Filter"), "No." = field("Capacity No. Filter"), "Work Center No." = field("Work Center Filter"), Date = field("Date Filter"), "Requested Only" = const(false))); not editable |
| 80 | No. Series | Code[20] | — | TableRelation [Table 308 "No. Series"](../table/308.md) (No. Series); not editable |
| 82 | Planned Order No. | Code[20] | — |  |
| 83 | Firm Planned Order No. | Code[20] | — |  |
| 85 | Simulated Order No. | Code[20] | — |  |
| 92 | Expected Material Ovhd. Cost | Decimal | — | FlowField: sum("Prod. Order Component"."Overhead Amount" where(Status = field(Status), "Prod. Order No." = field("No."))); not editable |
| 94 | Expected Capacity Ovhd. Cost | Decimal | — | FlowField: sum("Prod. Order Routing Line"."Expected Capacity Ovhd. Cost" where(Status = field(Status), "Prod. Order No." = field("No."))); not editable |
| 95 | Inventory Adjmt. Entry Exists | Boolean | Inventory Adjmt. Entry (Order) Exists <small>caption</small> | FlowField: exist("Inventory Adjmt. Entry (Order)" where("Order Type" = const(Production), "Order No." = field("No."), "Completely Invoiced" = const(false))); not editable |
| 98 | Starting Date-Time | DateTime | Specifies the starting date and starting time of the production order. |  |
| 99 | Ending Date-Time | DateTime | Specifies the ending date and ending time of the production order. |  |
| 110 | Document Put-away Status | Option | Specifies the status of the warehouse put-away. | OptionCaption: ,Partially Put Away,Completely Put Away; not editable |
| 200 | Reopened | Boolean | Specifies if the production order is reopened. | not editable |
| 290 | Manual Scheduling | Boolean | Specifies that the End/Due Dates on the production have been scheduled manually. | not editable |
| 480 | Dimension Set ID | Integer | — | TableRelation [Table 480 "Dimension Set Entry"](../table/480.md) (Dimension Set Entry); not editable |
| 7300 | Completely Picked | Boolean | Specifies whether all production components have been completely picked. | FlowField: min("Prod. Order Component"."Completely Picked" where(Status = field(Status), "Prod. Order No." = field("No."), "Supplied-by Line No." = filter(0))) |
| 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: Status, No. (clustered)
- Key2: No., Status
- Key3: Search Description
- Key4: Low-Level Code, Replan Ref. No., Replan Ref. Status
- Key5: Source Type, Source No.
- Key6: Description
- Key7: Source No.
- Key8: Starting Date

## Events published

- `OnAfterInitDefaultDimensionSources(var ProductionOrder: Record "Production Order"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; CallingFieldNo: Integer)` (integration)
- `OnAdjustStartEndingDateOnBeforeSetDueDate(var ProductionOrder: Record "Production Order"; var ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean)` (integration)
- `OnAfterOnDelete(var ProductionOrder: Record "Production Order"; var RefreshOrder: Boolean)` (integration)
- `OnAfterCreateDim(var ProductionOrder: Record "Production Order"; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; xProductionOrder: Record "Production Order")` (integration)
- `OnAfterValidateShortcutDimCode(var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnAfterUpdateDateTime(var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; CallingFieldNo: Integer)` (integration)
- `OnBeforeAssignItemNo(var ProdOrder: Record "Production Order"; xProdOrder: Record "Production Order"; var Item: Record Item; CallingFieldNo: Integer)` (integration)
- `OnBeforeAssignFamily(var ProdOrder: Record "Production Order"; xProdOrder: Record "Production Order"; var Family: Record Family; CallingFieldNo: Integer)` (integration)
- `OnBeforeAssignSalesHeader(var ProdOrder: Record "Production Order"; xProdOrder: Record "Production Order"; var SalesHeader: Record "Sales Header"; CallingFieldNo: Integer)` (integration)
- `OnBeforeGetNoSeriesCode(var ProductionOrder: Record "Production Order"; MfgSetup: Record "Manufacturing Setup"; var NoSeriesCode: Code[20]; var IsHandled: Boolean)` (integration)
- `OnBeforeDeleteFnshdProdOrderRelations(var ProdOrder: Record "Production Order")` (integration)
- `OnBeforeDeleteProdOrderLines(ProductionOrder: Record "Production Order"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnBeforeDeleteRelations(var ProdOrder: Record "Production Order")` (integration)
- `OnBeforeMultiLevelMessage(var IsHandled: Boolean; var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; CurrentFieldNo: Integer)` (integration)
- `OnBeforeUpdateEndingDate(var ProdOrderLine: Record "Prod. Order Line"; ProdOrder: Record "Production Order"; var IsHandled: Boolean; CurrFieldNo: Integer)` (integration)
- `OnBeforeUpdateProdOrderLineDueDate(var ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean; var CalculateProdOrder: Codeunit "Calculate Prod. Order")` (integration)
- `OnBeforeValidateShortcutDimCode(var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; FieldNumber: Integer; var ShortcutDimCode: Code[20])` (integration)
- `OnBeforeValidateVariantCode(var ProductionOrder: Record "Production Order"; xProductionOrder: Record "Production Order"; FieldNumber: Integer; var IsHandled: Boolean)` (integration)
- `OnValidateDueDateOnAfterModify(ProductionOrder: Record "Production Order")` (integration)
- `OnValidateSourceNoOnSourceTypeEnumExtension(var ProductionOrder: Record "Production Order")` (integration)
- `OnUpdateEndingDateOnBeforeCalcProdOrderRecalculate(var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnUpdateStartingEndingTimeOnBeforeProdOrderLineModify(var ProdOrderLine: Record "Prod. Order Line"; var ProductionOrder: Record "Production Order")` (integration)
- `OnUpdateEndingDateOnBeforeProdOrderLineModify(var ProdOrderLine: Record "Prod. Order Line"; var ProductionOrder: Record "Production Order")` (integration)
- `OnBeforeInitRecord(var ProductionOrder: Record "Production Order")` (integration)
- `OnAfterInitRecord(var ProductionOrder: Record "Production Order")` (integration)
- `OnBeforeOnInsert(var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; var InvtAdjmtEntryOrder: Record "Inventory Adjmt. Entry (Order)"; var IsHandled: Boolean)` (integration)
- `OnBeforeShowErrorOnRename(var IsHandled: Boolean; var ProductionOrder: Record "Production Order")` (integration)
- `OnBeforeRunCreatePickFromWhseSource(var ProductionOrder: Record "Production Order"; AssignedUserID: Code[50]; SortingMethod: Option; PrintDocument: Boolean; DoNotFillQtyToHandle: Boolean; SetBreakBulkFilter: Boolean; HideValidationDialog: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeTestNoSeries(ProductionOrder: Record "Production Order"; MfgSetup: Record "Manufacturing Setup"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckStatusNotFinished(ProductionOrder: Record "Production Order"; var IsHandled: Boolean)` (integration)
- `OnBeforeCreateDim(var ProductionOrder: Record "Production Order"; var IsHandled: Boolean)` (integration)
- `OnGetDefaultBinOnBeforeThirdPrioritySetBinCode(var ProductionOrder: Record "Production Order"; xProductionOrder: Record "Production Order"; var IsHandled: Boolean)` (integration)
- `OnInsertOnBeforeStatusCheck(var ProductionOrder: Record "Production Order"; var IsHandled: Boolean)` (integration)
- `OnBeforeConfirmUpdateAllLineDim(var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; NewParentDimSetID: Integer; OldParentDimSetID: Integer; var Confirmed: Boolean; var IsHandled: Boolean)` (integration)
- `OnValidateShortcutDimCodeOnBeforeUpdateAllLineDim(var ProductionOrder: Record "Production Order"; var xProductionOrder: Record "Production Order"; FieldNumber: Integer)` (integration)
- `OnShowDocDimOnAfterSetDimensionSetID(var ProductionOrder: Record "Production Order"; xProductionOrder: Record "Production Order")` (integration)
- `OnUpdateAllLineDimOnAfterUpdateProdOrderCompDim(var ProductionOrder: Record "Production Order"; var ProdOrderLine: Record "Prod. Order Line"; NewParentDimSetID: Integer; OldParentDimSetID: Integer)` (integration)
- `OnAfterDeleteProdOrderRelations(var ProductionOrder: Record "Production Order"; var ProdOrderCommentLine: Record "Prod. Order Comment Line"; var WhsePickRequest: Record "Whse. Pick Request"; var ReservationManagement: Codeunit "Reservation Management"; var ItemTrackingManagement: Codeunit "Item Tracking Management")` (integration)
- `OnCreatePickOnBeforeFindProdOrderComponent(var ProdOrderComponent: Record "Prod. Order Component")` (integration)
- `OnCreatePickOnBeforeRunCreatePickFromWhseSource(var ProdOrderComponent: Record "Prod. Order Component")` (integration)

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 99000783 "Prod. Document Attachment Mgt."](../codeunit/99000783.md) DeleteAttachedDocumentsOnAfterDeleteProductionOrder
- OnBeforeInsertEvent: [Codeunit 99000788 "Mfg. Experience Tier"](../codeunit/99000788.md) BlockInsertProductionOrder

## Procedures

- `InitRecord()`
- `TestNoSeries()`
- `AssistEdit(OldProdOrder: Record "Production Order"): Boolean`
- `GetNoSeriesCode(): Code[20]`
- `CheckProdOrderStatus(Name: Text[80])`
- `DeleteProdOrderRelations()`
- `DeleteFinishedProdOrderRelations()`
- `AdjustStartEndingDate()`
- `UpdateDatetime()`
- `CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]])`
- `ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20])`
- `Navigate()`
- `GetHeaderPutAwayStatus(SkipLineNo: Integer): Integer`
- `CreatePick(AssignedUserID: Code[50]; SortingMethod: Option; SetBreakBulkFilter: Boolean; DoNotFillQtyToHandle: Boolean; PrintDocument: Boolean)`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `CreateInvtPutAwayPick()`
- `SetUpdateEndDate()`
- `ShowDocDim()`
- `ProdOrderLineExist(): Boolean`
- `IsStatusLessThanReleased(): Boolean`
- `CreateDimFromDefaultDim()`
- `GetQtyReservedFromStockState(): Enum "Reservation From Stock"` (internal)

Plus 20 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 99000815 "Production Order List"](../page/99000815.md)
- lookup page [Page 99000815 "Production Order List"](../page/99000815.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)
- Source No.: TableRelation [Table 27 "Item"](../table/27.md) (conditional)
- No. Series: TableRelation [Table 308 "No. Series"](../table/308.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)
- Source No.: TableRelation [Table 36 "Sales Header"](../table/36.md) (conditional)
- Dimension Set ID: TableRelation [Table 480 "Dimension Set Entry"](../table/480.md)
- Variant Code: TableRelation [Table 5401 "Item Variant"](../table/5401.md)
- No.: TableRelation [Table 5405 "Production Order"](../table/5405.md)
- Completely Picked: CalcFormula [Table 5407 "Prod. Order Component"](../table/5407.md)
- Expected Component Cost Amt.: CalcFormula [Table 5407 "Prod. Order Component"](../table/5407.md)
- Expected Material Ovhd. Cost: CalcFormula [Table 5407 "Prod. Order Component"](../table/5407.md)
- Expected Capacity Ovhd. Cost: CalcFormula [Table 5409 "Prod. Order Routing Line"](../table/5409.md)
- Expected Operation Cost Amt.: CalcFormula [Table 5409 "Prod. Order Routing Line"](../table/5409.md)
- Allocated Capacity Need: CalcFormula [Table 5410 "Prod. Order Capacity Need"](../table/5410.md)
- Expected Capacity Need: CalcFormula [Table 5410 "Prod. Order Capacity Need"](../table/5410.md)
- Comment: CalcFormula [Table 5414 "Prod. Order Comment Line"](../table/5414.md)
- Actual Time Used: CalcFormula [Table 5832 "Capacity Ledger Entry"](../table/5832.md)
- Inventory Adjmt. Entry Exists: CalcFormula [Table 5896 "Inventory Adjmt. Entry (Order)"](../table/5896.md)
- Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md) (conditional)
- Assigned User ID: TableRelation [Table 91 "User Setup"](../table/91.md)
- Inventory Posting Group: TableRelation [Table 94 "Inventory Posting Group"](../table/94.md)
- Capacity No. Filter: TableRelation [Table 99000754 "Work Center"](../table/99000754.md) (conditional)
- Work Center Filter: TableRelation [Table 99000754 "Work Center"](../table/99000754.md)
- Capacity No. Filter: TableRelation [Table 99000758 "Machine Center"](../table/99000758.md) (conditional)
- Routing No.: TableRelation [Table 99000763 "Routing Header"](../table/99000763.md)
- Source No.: TableRelation [Table 99000773 "Family"](../table/99000773.md) (conditional)

## Referenced by

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

- [Table 9056 "Manufacturing Cue"](../table/9056.md): Firm Plan. Prod. Orders - All, Planned Prod. Orders - All, Released Prod. Orders - All, Rlsd. Prod. Orders Until Today, Simulated Prod. Orders
- [Table 20560 "Subcontractor WIP Ledger Entry"](../table/20560.md): Prod. Order No.
- [Table 20574 "Subc. Prod. Rtng. Comment"](../table/20574.md): Prod. Order No.
- [Table 5405 "Production Order"](../table/5405.md): No.
- [Table 5406 "Prod. Order Line"](../table/5406.md): Prod. Order No.
- [Table 5407 "Prod. Order Component"](../table/5407.md): Prod. Order No.
- [Table 5408 "Prod. Ord. Line Tracking Buff."](../table/5408.md): Prod. Order No.
- [Table 5409 "Prod. Order Routing Line"](../table/5409.md): Prod. Order No.
- [Table 5410 "Prod. Order Capacity Need"](../table/5410.md): Prod. Order No.
- [Table 5411 "Prod. Order Routing Tool"](../table/5411.md): Prod. Order No.
- [Table 5412 "Prod. Order Routing Personnel"](../table/5412.md): Prod. Order No.
- [Table 5413 "Prod. Order Rtng Qlty Meas."](../table/5413.md): Prod. Order No.
- [Table 5414 "Prod. Order Comment Line"](../table/5414.md): Prod. Order No.
- [Table 5415 "Prod. Order Rtng Comment Line"](../table/5415.md): Prod. Order No.
- [Table 5416 "Prod. Order Comp. Cmt Line"](../table/5416.md): Prod. Order No.
- [Table 6220 "Sustainability Cue"](../table/6220.md): Released Prod. Orders
- [Table extension 20512 "Subc. Purchase Line"](../tableextension/20512.md): Subc. Prod. Order No.
- [Table extension 20513 "Subc. Purch. Rcpt. Line"](../tableextension/20513.md): Subc. Prod. Order No.
- [Table extension 20514 "Subc. Purch. Inv. Line"](../tableextension/20514.md): Subc. Prod. Order No.
- [Table extension 20515 "Subc. Purch. CrMemo Line"](../tableextension/20515.md): Subc. Prod. Order No.
- [Table extension 20516 "Subc. Purchase Line Archive"](../tableextension/20516.md): Subc. Prod. Order No.
- [Table extension 20517 "Subc. Transfer Line"](../tableextension/20517.md): Subc. Prod. Order No.
- [Table extension 20518 "Subc. Transfer Rcpt. Line Ext"](../tableextension/20518.md): Subc. Prod. Order No.
- [Table extension 20519 "Subc. Transfer Shpt. Line Ext"](../tableextension/20519.md): Subc. Prod. Order No.
- [Table extension 20523 "Subc. DirectTrans. Line Ext"](../tableextension/20523.md): Prod. Order No.
- [Table extension 99000751 "Mfg. Purchase Line"](../tableextension/99000751.md): Prod. Order No.
- [Table extension 99000752 "Mfg. Purchase Line Archive"](../tableextension/99000752.md): Prod. Order No.
- [Table extension 99000754 "Mfg. Purch. Invoice Line"](../tableextension/99000754.md): Prod. Order No.
- [Table extension 99000755 "Mfg. Purch. Receipt Line"](../tableextension/99000755.md): Prod. Order No.
- [Table extension 99000781 "Mfg. Warehouse Source Filter"](../tableextension/99000781.md): Prod. Order No.
- [Table extension 99000860 "Mfg. Requisition Line"](../tableextension/99000860.md): Prod. Order No.

## Pages and codeunits on this table

- [Page 9323 "Simulated Production Orders"](../page/9323.md) (source table)
- [Page 9324 "Planned Production Orders"](../page/9324.md) (source table)
- [Page 9325 "Firm Planned Prod. Orders"](../page/9325.md) (source table)
- [Page 9326 "Released Production Orders"](../page/9326.md) (source table)
- [Page 9327 "Finished Production Orders"](../page/9327.md) (source table)
- [Page 99000813 "Planned Production Order"](../page/99000813.md) (source table)
- [Page 99000815 "Production Order List"](../page/99000815.md) (source table)
- [Page 99000816 "Production Order Statistics"](../page/99000816.md) (source table)
- [Page 99000829 "Firm Planned Prod. Order"](../page/99000829.md) (source table)
- [Page 99000831 "Released Production Order"](../page/99000831.md) (source table)
- [Page 99000867 "Finished Production Order"](../page/99000867.md) (source table)
- [Page 99000912 "Simulated Production Order"](../page/99000912.md) (source table)
- [Page 99000914 "Change Production Order Status"](../page/99000914.md) (source table)
- [Codeunit 5407 "Prod. Order Status Management"](../codeunit/5407.md) (codeunit runs on it)
- [Codeunit 99000750 "ProdOrderChangeStatusBulk"](../codeunit/99000750.md) (codeunit runs on it)

## Extended by

- [Table extension 20505 "Subc. Production Order Ext."](../tableextension/20505.md)
- [Table extension 6242 "Sust. Production Order"](../tableextension/6242.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 408 "DimensionManagement"](../codeunit/408.md) (6 calls: `CreateDim → GetRecDefaultDimID`, `InitDefaultDimensionSources → AddDimSource`, `ShowDocDim → EditDimensionSet`, …)
- [Codeunit 5404 "Lead-Time Management"](../codeunit/5404.md) (5 calls: `InitRecord → GetPlannedEndingDate`, `UpdateEndingDate → GetPlannedEndingDate`, `UpdateEndingDate → SetManualScheduling`, …)
- [Codeunit 99000773 "Calculate Prod. Order"](../codeunit/99000773.md) (4 calls: `UpdateEndingDate → Recalculate`, `UpdateEndingDate → SetParameter`, `UpdateStartingEndingTime → Recalculate`, …)
- [Codeunit 5996 "Prod. Order Warehouse Mgt."](../codeunit/5996.md) (3 calls: `GetDefaultBin → GetDefaultBin`, `GetDefaultBin → GetLastOperationFromBinCode`, `ValidateWarehousePutAwayLocation → CompareProdOrderWithProdOrderLinesForLocation`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (2 calls: `CreatePick → InitItemTrackingForTempWhseWorksheetLine`, `DeleteProdOrderRelations → DeleteWhseItemTrkgLines`)
- [Page 456 "No. Series"](../page/456.md) (2 calls: `AssistEdit → (object)`, `OnInsert → (object)`)
- [Codeunit 99000756 "VersionManagement"](../codeunit/99000756.md) (1 call: `GetDefaultBin → GetRtngVersion`)
- [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) (1 call: `GetQtyReservedFromStockState → GetReservedQtyFromInventory`)
- [Codeunit 99000845 "Reservation Management"](../codeunit/99000845.md) (1 call: `DeleteProdOrderRelations → DeleteDocumentReservation`)
- [Report 7323 "Create Invt Put-away/Pick/Mvmt"](../report/7323.md) (1 call: `CreateInvtPutAwayPick → (object)`)

## Recent changes

- 2026-09-30 [#12068 Bug 651757: [Repair Item] [Manufacturing] Warehouse Pick is not generated for Make-to-Order subassembly after registered put-away](../../changes/bcapps/12068.md) (main, BC30, fix)
- 2026-09-03 [#10878 Ruleset hardening: promote five low-risk rules to Error](../../changes/bcapps/10878.md) (main, BC30, refactor)
- 2026-08-16 [#9067 Production Definition Wizard - Implementation](../../changes/bcapps/9067.md) (main, BC30, feature)

## Across versions

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

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