---
id: object/table/5409
type: object
title: Table 5409 "Prod. Order Routing Line"
summary: Table 5409 "Prod. Order Routing Line" in Base Application (Microsoft.Manufacturing.Document). 63 fields, 17 public procedures, 39 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: 3b7bfa1ad1c3e8c4885441112dafc21f625cc152c45a12d728bd62adc6c88e2a
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Manufacturing/Document/ProdOrderRoutingLine.Table.al
    title: src/Layers/W1/BaseApp/Manufacturing/Document/ProdOrderRoutingLine.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/production-how-to-create-routings
    - https://learn.microsoft.com/dynamics365/business-central/value-chain-howto-mfg
    - https://learn.microsoft.com/dynamics365/business-central/production-how-to-view-the-load-on-work-centers
  objects: []
  features: []
  topics:
    - topic/business-central/analytics-business-intelligence-and-repo/built-in-reports/manufacture
    - topic/business-central/business-functionality/manufacturing/manufacturing-analytics
    - topic/business-central/business-functionality/set-up-business-central/set-up-manufacturing
    - topic/business-central/business-functionality/sustainability-management/sustainability-value-chain
  localizations:
    - localization/it
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9067
    - change/bcapps/9463
object_type: table
object_id: 5409
name: Prod. Order Routing Line
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:
  - it
ms_search_form_ids: []
counts:
  fields: 63
  procedures: 77
  events: 39
  subscribers: 0
relations:
  out: 18
  referenced_by: 36
  pages: 5
  extended_by: 2
  event_subscribers: 15
  calls: 4
  called_by: 0
  implements: 0
---

# Table 5409 "Prod. Order Routing Line"

> Table 5409 "Prod. Order Routing Line" in Base Application (Microsoft.Manufacturing.Document). 63 fields, 17 public procedures, 39 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/ProdOrderRoutingLine.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 99000817 "Prod. Order Routing"](../page/99000817.md) (2 Learn pages), [Page 99000915 "Work Center Task List"](../page/99000915.md) (1), [Page 99000916 "Machine Center Task List"](../page/99000916.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Prod. Order Routing Line |
| DataClassification | CustomerContent |
| Permissions | TableData "Prod. Order Capacity Need" = rimd |

## 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 | Routing No. | Code[20] | Specifies the routing number. | TableRelation [Table 99000763 "Routing Header"](../table/99000763.md) (Routing Header) |
| 3 | Routing Reference No. | Integer | Specifies that the routing reference number. | not editable |
| 4 | Operation No. | Code[10] | Specifies the operation number. | NotBlank |
| 5 | Next Operation No. | Code[30] | Specifies the next operation number. |  |
| 6 | Previous Operation No. | Code[30] | Specifies the previous operation number. |  |
| 7 | Type | Enum "Capacity Type" | Specifies the type of operation. | enum [Enum 5871 "Capacity Type"](../enum/5871.md) |
| 8 | No. | Code[20] | Specifies the number of the involved entry or record, according to the specified number series. | TableRelation [Table 99000754 "Work Center"](../table/99000754.md), [Table 99000758 "Machine Center"](../table/99000758.md) (if (Type = const("Work Center")) "Work Center" else if (Type = const("Machine Center")) "Machine Center") |
| 9 | Work Center No. | Code[20] | — | TableRelation [Table 99000754 "Work Center"](../table/99000754.md) (Work Center); not editable |
| 10 | Work Center Group Code | Code[10] | — | TableRelation [Table 99000756 "Work Center Group"](../table/99000756.md) (Work Center Group); not editable |
| 11 | Description | Text[100] | Specifies the description of the operation. |  |
| 12 | Setup Time | Decimal | Specifies the setup time of the operation. |  |
| 13 | Run Time | Decimal | Specifies the run time of the operation. |  |
| 14 | Wait Time | Decimal | Specifies the wait time after processing. |  |
| 15 | Move Time | Decimal | Specifies the move time. |  |
| 16 | Fixed Scrap Quantity | Decimal | Specifies the fixed scrap quantity. |  |
| 17 | Lot Size | Decimal | Specifies the lot size. |  |
| 18 | Scrap Factor % | Decimal | Specifies the scrap factor in percent. |  |
| 19 | Setup Time Unit of Meas. Code | Code[10] | Specifies the setup time unit of measure. | TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md) (Capacity Unit of Measure) |
| 20 | Run Time Unit of Meas. Code | Code[10] | Specifies the run time unit of measure. | TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md) (Capacity Unit of Measure) |
| 21 | Wait Time Unit of Meas. Code | Code[10] | Specifies the unit of measure code that applies to the wait time. | TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md) (Capacity Unit of Measure) |
| 22 | Move Time Unit of Meas. Code | Code[10] | Specifies the unit of measure code that applies to the move time. | TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md) (Capacity Unit of Measure) |
| 23 | Description 2 | Text[50] | Specifies additional description text. |  |
| 27 | Minimum Process Time | Decimal | — |  |
| 28 | Maximum Process Time | Decimal | — |  |
| 30 | Concurrent Capacities | Decimal | Specifies the concurrent capacity of the operation. |  |
| 31 | Send-Ahead Quantity | Decimal | Specifies the send-ahead quantity of the operation. |  |
| 34 | Routing Link Code | Code[10] | Specifies a routing link code. | TableRelation [Table 99000777 "Routing Link"](../table/99000777.md) (Routing Link) |
| 35 | Standard Task Code | Code[10] | Specifies the standard task code that applies to the operation. | TableRelation [Table 99000778 "Standard Task"](../table/99000778.md) (Standard Task) |
| 40 | Unit Cost per | Decimal | Specifies the unit cost for this operation if it is different than the unit cost on the work center card. |  |
| 41 | Recalculate | Boolean | — |  |
| 50 | Sequence No. (Forward) | Integer | — | not editable |
| 51 | Sequence No. (Backward) | Integer | — | not editable |
| 52 | Fixed Scrap Qty. (Accum.) | Decimal | — | not editable |
| 53 | Scrap Factor % (Accumulated) | Decimal | — | not editable |
| 55 | Sequence No. (Actual) | Integer | — | not editable |
| 56 | Direct Unit Cost | Decimal | — |  |
| 57 | Indirect Cost % | Decimal | — |  |
| 58 | Overhead Rate | Decimal | — |  |
| 70 | Starting Time | Time | Specifies the starting time of the routing line (operation). |  |
| 71 | Starting Date | Date | Specifies the starting date of the routing line (operation). |  |
| 72 | Ending Time | Time | Specifies the ending time of the routing line (operation). |  |
| 73 | Ending Date | Date | Specifies the ending date of the routing line (operation). |  |
| 74 | Status | Enum "Production Order Status" | Specifies the status of the routing line. | enum [Enum 5405 "Production Order Status"](../enum/5405.md) |
| 75 | Prod. Order No. | Code[20] | Specifies the number of the related production order. | TableRelation [Table 5405 "Production Order"](../table/5405.md) ("Production Order"."No." where(Status = field(Status))); not editable; NotBlank |
| 76 | Unit Cost Calculation | Enum "Unit Cost Calculation Type" | — | enum [Enum 5409 "Unit Cost Calculation Type"](../enum/5409.md) |
| 77 | Input Quantity | Decimal | — |  |
| 78 | Critical Path | Boolean | — | not editable |
| 79 | Routing Status | Enum "Prod. Order Routing Status" | Specifies the status of the routing line, such as Planned, In Progress, or Finished. | enum [Enum 99000765 "Prod. Order Routing Status"](../enum/99000765.md) |
| 81 | Flushing Method | Enum "Flushing Method Routing" | Specifies the method to use to calculate and handle output at the work or machine center. Manual: Output must be posted manually by using the output journal. Forward: Output is automatically calculated and posted when you change the status of a simulated, planned (or firm planned) production order t... | enum [Enum 5428 "Flushing Method Routing"](../enum/5428.md) |
| 90 | Expected Operation Cost Amt. | Decimal | Specifies the total cost of operations. It is automatically calculated from the capacity need, when a production order is refreshed or replanned. | not editable |
| 91 | Expected Capacity Need | Decimal | — | not editable |
| 96 | Expected Capacity Ovhd. Cost | Decimal | Specifies the capacity overhead. It is automatically calculated from the capacity need, when a production order is refreshed or replanned. | not editable |
| 98 | Starting Date-Time | DateTime | Specifies the starting date and the starting time, which are combined in a format called "starting date-time". |  |
| 99 | Ending Date-Time | DateTime | Specifies the ending date and the ending time, which are combined in a format called "ending date-time". |  |
| 100 | Schedule Manually | Boolean | Specifies that the underlying capacity need is recalculated each time a change is made in the schedule of the routing. |  |
| 101 | Location Code | Code[10] | Specifies the location where the machine or work center on the production order routing line operates. | not editable |
| 7301 | Open Shop Floor Bin Code | Code[20] | Specifies the corresponding bin at the machine or work center, if the location code matches the setup of that machine or work center. | not editable |
| 7302 | To-Production Bin Code | Code[20] | Specifies the bin that holds components with a flushing method, that involves a warehouse activity to bring the items to the bin. | not editable |
| 7303 | From-Production Bin Code | Code[20] | Specifies the corresponding bin at the machine or work center if the location code matches the setup of that machine or work center. | not editable |
| 7304 | Posted Output Quantity | Decimal | Specifies the total output quantity that has been posted to the capacity ledger. Value expressed in base unit of measure. | FlowField: sum("Capacity Ledger Entry"."Output Quantity" where("Routing No." = field("Routing No."), "Order No." = field("Prod. Order No."), "Operation No." = field("Operation No."), "Order Type" = const(Production), "Routing Reference No." = field("Routing Reference No."))); not editable |
| 7305 | Posted Scrap Quantity | Decimal | Specifies the total scrap quantity that has been posted to the capacity ledger. Value expressed in base unit of measure. | FlowField: sum("Capacity Ledger Entry"."Scrap Quantity" where("Routing No." = field("Routing No."), "Order No." = field("Prod. Order No."), "Operation No." = field("Operation No."), "Order Type" = const(Production), "Routing Reference No." = field("Routing Reference No."))); not editable |
| 7306 | Posted Run Time | Decimal | Specifies the total run time that has been posted to the capacity ledger. | FlowField: sum("Capacity Ledger Entry"."Run Time" where("Routing No." = field("Routing No."), "Order No." = field("Prod. Order No."), "Operation No." = field("Operation No."), "Order Type" = const(Production), "Routing Reference No." = field("Routing Reference No."))); not editable |
| 7307 | Posted Setup Time | Decimal | Specifies the total set up time that has been posted to the capacity ledger. | FlowField: sum("Capacity Ledger Entry"."Setup Time" where("Routing No." = field("Routing No."), "Order No." = field("Prod. Order No."), "Operation No." = field("Operation No."), "Order Type" = const(Production), "Routing Reference No." = field("Routing Reference No."))); not editable |

## Keys

- Key1: Status, Prod. Order No., Routing Reference No., Routing No., Operation No. (clustered)
- Key2: Prod. Order No., Routing Reference No., Status, Routing No., Operation No.
- Key3: Status, Prod. Order No., Routing Reference No., Routing No., Sequence No. (Forward)
- Key4: Status, Prod. Order No., Routing Reference No., Routing No., Sequence No. (Backward)
- Key5: Status, Prod. Order No., Routing Reference No., Routing No., Sequence No. (Actual)
- Key6: Work Center No.
- Key7: Type, No., Starting Date
- Key8: Status, Work Center No.
- Key9: Prod. Order No., Status, Flushing Method
- Key10: Starting Date, Starting Time, Routing Status
- Key11: Ending Date, Ending Time, Routing Status
- Key12: Type, No., Status

## Events published

- `OnAfterCalcStartingEndingDates(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var xProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line"; CallingFieldNo: Integer)` (integration)
- `OnAfterCopyFromRoutingLine(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; RoutingLine: Record "Routing Line")` (integration)
  - subscribers: [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnAfterCopyFromRoutingLine
- `OnAfterDeleteRelations(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; SkipUpdateOfCompBinCodes: Boolean)` (integration)
  - subscribers: [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnAfterDeleteProdOrderRoutingLineRelations
- `OnAfterFillDefaultLocationAndBins(var ProdOrderRoutingLine: Record "Prod. Order Routing Line")` (integration)
- `OnAfterWorkCenterTransferFields(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; WorkCenter: Record "Work Center")` (integration)
  - subscribers: [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnAfterWorkCenterTransferFields, [Codeunit 6254 "Sust. Manufacturing Subscriber"](../codeunit/6254.md) OnAfterWorkCenterTransferProdOrderRoutingLineFields
- `OnAfterMachineCtrTransferFields(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; WorkCenter: Record "Work Center"; MachineCenter: Record "Machine Center")` (integration)
  - subscribers: [Codeunit 6254 "Sust. Manufacturing Subscriber"](../codeunit/6254.md) OnAfterMachineCtrTransferProdOrderRoutingLineFields
- `OnAfterSetRecalcStatus(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnAfterTransferFromStdTaskTool(var ProdOrderRoutingTool: Record "Prod. Order Routing Tool"; StandardTaskTool: Record "Standard Task Tool")` (integration)
- `OnAfterTransferFromStdTaskPersonnel(var ProdOrderRoutingPersonnel: Record "Prod. Order Routing Personnel"; StandardTaskPersonnel: Record "Standard Task Personnel")` (integration)
- `OnAfterTransferFromStdTaskQltyMeasure(var ProdOrderRtngQltyMeas: Record "Prod. Order Rtng Qlty Meas."; StandardTaskQualityMeasure: Record "Standard Task Quality Measure")` (integration)
- `OnAfterTransferFromStdTaskComment(var ProdOrderRtngCommentLine: Record "Prod. Order Rtng Comment Line"; StandardTaskDescription: Record "Standard Task Description")` (integration)
- `OnAfterUpdateDateTime(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var xProdOrderRoutingLine: Record "Prod. Order Routing Line"; CallingFieldNo: Integer)` (integration)
- `OnAfterValidateNo(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var xProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnBeforeAdjustComponents(var ProdOrderComp: Record "Prod. Order Component")` (integration)
- `OnBeforeCalcStartingEndingDates(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var Direction: Option Forward,Backward; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckRoutingNoNotBlank(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckIfSubcontractingPurchOrderExist(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; xProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeDeleteRelations(var ProdOrderRoutingLine: Record "Prod. Order Routing Line")` (integration)
- `OnBeforeFillDefaultLocationAndBins(var ProdOrderRoutingLine: Record "Prod. Order Routing Line")` (integration)
- `OnBeforeSetNextOperations(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeTerminationProcessesErr(var IsHandled: Boolean; var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; xProdOrderRoutingLine: Record "Prod. Order Routing Line")` (integration)
- `OnCalcStartingEndingDatesOnBeforeCalculateRouting(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnCheckPreviousAndNextOnAfterProdOrderRoutingPageRunModal(var TempRemainingProdOrderRoutingLine: Record "Prod. Order Routing Line" temporary)` (integration)
- `OnValidateRoutingStatusOnBeforeConfirm(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnValidateNoOnBeforeModifyCapNeedEntries(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; xProdOrderRoutingLine: Record "Prod. Order Routing Line")` (integration)
- `OnAfterCopyFromPlanningRoutingLine(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; PlanningRoutingLine: Record "Planning Routing Line")` (integration)
  - subscribers: [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnAfterCopyFromPlanningRoutingLine
- `OnValidateStandardTaskCodeOnBeforeProdOrderRtngCommentLineInsert(var ProdOrderRtngCommentLine: Record "Prod. Order Rtng Comment Line"; StdTaskComment: Record "Standard Task Description")` (integration)
- `OnAfterUpdateComponentsBin(var TempProdOrderRoutingLine: Record "Prod. Order Routing Line"; FromTrigger: Option)` (integration)
- `OnAfterUpdateOfComponentsBinRequired(ProdOrderRoutingLine: Record "Prod. Order Routing Line"; FromTrigger: Option; var Result: Boolean)` (integration)
- `OnCalculateRoutingBackOnAfterCalculateProdOrderDates(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnCalculateRoutingBackOnBeforeCalculateProdOrderDates(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnCalculateRoutingForwardOnAfterCalculateProdOrderDates(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnCalculateRoutingForwardOnBeforeCalculateProdOrderDates(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnBeforeRunTimePer(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean; var Result: Decimal)` (integration)
- `OnMachineCtrTransferFieldsOnAfterWorkCenterTransferFields(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; WorkCenter: Record "Work Center"; MachineCenter: Record "Machine Center"; var SkipUpdateDescription: Boolean; xProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeWorkCenterTransferFields(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; WorkCenter: Record "Work Center"; var SkipUpdateDescription: Boolean; xProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeShowMessage(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var MessageText: Text; var IsHandled: Boolean)` (integration)
- `OnBeforeNextOperationExist(var ProdOrderRoutingLine: Record "Prod. Order Routing Line")` (integration)
- `OnCheckPreviousAndNextOnBeforeInsertTempRemainingProdOrderRtngLine(ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ProdOrderRoutingLineFiltered: Record "Prod. Order Routing Line"; var TempDeletedProdOrderRoutingLine: Record "Prod. Order Routing Line" temporary; var ErrorOnNext: Boolean; var ErrorOnPrevious: Boolean)` (integration)

## Trigger event subscribers

- OnAfterDeleteEvent: [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnAfterDeleteProdOrderRtngLine
- OnAfterValidateEvent(No.): [Codeunit 6254 "Sust. Manufacturing Subscriber"](../codeunit/6254.md) OnAfterSetRecalcStatus
- OnBeforeDeleteEvent: [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnBeforeDeleteProdOrderRtngLine
- OnBeforeInsertEvent: [Codeunit 99000788 "Mfg. Experience Tier"](../codeunit/99000788.md) BlockInsertProdOrderRoutingLine
- OnBeforeValidateEvent(No.): [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnBeforeValidateNo
- OnBeforeValidateEvent(Operation No.): [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnBeforeValidateOperationNo
- OnBeforeValidateEvent(Routing Link Code): [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnBeforeValidateRoutingLinkCode
- OnBeforeValidateEvent(Transfer WIP Item): [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnBeforeValidateTransferWIPItem
- OnBeforeValidateEvent(Type): [Codeunit 20520 "Subc. Prod. Order Rtng. Ext."](../codeunit/20520.md) OnBeforeValidateType

## Procedures

- `Caption(): Text`
- `CopyFromPlanningRoutingLine(PlanningRoutingLine: Record "Planning Routing Line")`
- `CopyFromRoutingLine(RoutingLine: Record "Routing Line")`
- `FillDefaultLocationAndBins()`
- `CalcStartingEndingDates(PlanningDirection: Option Forward,Backward)`
- `SetRecalcStatus()`
- `RunTimePer(): Decimal`
- `UpdateDatetime()`
- `CheckPreviousAndNext()`
- `SetNextOperations(var RtngLine: Record "Prod. Order Routing Line")`
- `SubcontractingPurchOrderExist(): Boolean`
- `UpdateComponentsBin(FromTrigger: Option Insert,Modify,Delete)`
- `SetSkipUpdateOfCompBinCodes(Setting: Boolean)`
- `SetHideValidationDialog(NewHideValidationDialog: Boolean)`
- `IsSerial(): Boolean`
- `GetStartingEndingDateAndTime(var StartingTime: Time; var StartingDate: Date; var EndingTime: Time; var EndingDate: Date)`
- `NextOperationExist(): Boolean`

Plus 21 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 99000817 "Prod. Order Routing"](../page/99000817.md)
- lookup page [Page 99000817 "Prod. Order Routing"](../page/99000817.md)
- Prod. Order No.: TableRelation [Table 5405 "Production Order"](../table/5405.md)
- Posted Output Quantity: CalcFormula [Table 5832 "Capacity Ledger Entry"](../table/5832.md)
- Posted Run Time: CalcFormula [Table 5832 "Capacity Ledger Entry"](../table/5832.md)
- Posted Scrap Quantity: CalcFormula [Table 5832 "Capacity Ledger Entry"](../table/5832.md)
- Posted Setup Time: CalcFormula [Table 5832 "Capacity Ledger Entry"](../table/5832.md)
- No.: TableRelation [Table 99000754 "Work Center"](../table/99000754.md) (conditional)
- Work Center No.: TableRelation [Table 99000754 "Work Center"](../table/99000754.md)
- Work Center Group Code: TableRelation [Table 99000756 "Work Center Group"](../table/99000756.md)
- No.: TableRelation [Table 99000758 "Machine Center"](../table/99000758.md) (conditional)
- Routing No.: TableRelation [Table 99000763 "Routing Header"](../table/99000763.md)
- Routing Link Code: TableRelation [Table 99000777 "Routing Link"](../table/99000777.md)
- Standard Task Code: TableRelation [Table 99000778 "Standard Task"](../table/99000778.md)
- Move Time Unit of Meas. Code: TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md)
- Run Time Unit of Meas. Code: TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md)
- Setup Time Unit of Meas. Code: TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md)
- Wait Time Unit of Meas. Code: TableRelation [Table 99000780 "Capacity Unit of Measure"](../table/99000780.md)

## Referenced by

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

- [Table 20560 "Subcontractor WIP Ledger Entry"](../table/20560.md): Operation No., Routing Reference No.
- [Table 20574 "Subc. Prod. Rtng. Comment"](../table/20574.md): Operation No., Routing Reference No.
- [Table 5405 "Production Order"](../table/5405.md): Expected Capacity Ovhd. Cost, Expected Operation Cost Amt.
- [Table 5411 "Prod. Order Routing Tool"](../table/5411.md): Operation No., Routing Reference No.
- [Table 5412 "Prod. Order Routing Personnel"](../table/5412.md): Operation No., Routing Reference No.
- [Table 5413 "Prod. Order Rtng Qlty Meas."](../table/5413.md): Operation No., Routing Reference No.
- [Table 5415 "Prod. Order Rtng Comment Line"](../table/5415.md): Operation No., Routing Reference No.
- [Table 9056 "Manufacturing Cue"](../table/9056.md): Prod. Orders Routings-in Prog., Prod. Orders Routings-in Queue
- [Table extension 20517 "Subc. Transfer Line"](../tableextension/20517.md): Prev. Operation No., Subc. Operation No.
- [Table 5406 "Prod. Order Line"](../table/5406.md): Expected Operation Cost Amt.
- [Table 99000754 "Work Center"](../table/99000754.md): Prod. Order Need Amount
- [Table 99000758 "Machine Center"](../table/99000758.md): Prod. Order Need Amount
- [Table extension 20512 "Subc. Purchase Line"](../tableextension/20512.md): Subc. Operation No.
- [Table extension 20513 "Subc. Purch. Rcpt. Line"](../tableextension/20513.md): Subc. Operation No.
- [Table extension 20514 "Subc. Purch. Inv. Line"](../tableextension/20514.md): Subc. Operation No.
- [Table extension 20515 "Subc. Purch. CrMemo Line"](../tableextension/20515.md): Subc. Operation No.
- [Table extension 20516 "Subc. Purchase Line Archive"](../tableextension/20516.md): Subc. Operation No.
- [Table extension 20518 "Subc. Transfer Rcpt. Line Ext"](../tableextension/20518.md): Subc. Operation No.
- [Table extension 20519 "Subc. Transfer Shpt. Line Ext"](../tableextension/20519.md): Subc. Operation No.
- [Table extension 20523 "Subc. DirectTrans. Line Ext"](../tableextension/20523.md): Operation No.
- [Table extension 6248 "Sust. Prod. Order Line"](../tableextension/6248.md): Expected Operation Total CO2e
- [Table extension 99000751 "Mfg. Purchase Line"](../tableextension/99000751.md): Operation No.
- [Table extension 99000752 "Mfg. Purchase Line Archive"](../tableextension/99000752.md): Operation No.
- [Table extension 99000754 "Mfg. Purch. Invoice Line"](../tableextension/99000754.md): Operation No.
- [Table extension 99000755 "Mfg. Purch. Receipt Line"](../tableextension/99000755.md): Operation No.
- [Table extension 99000758 "Mfg. Item Journal Line"](../tableextension/99000758.md): Operation No.
- [Table extension 99000860 "Mfg. Requisition Line"](../tableextension/99000860.md): Operation No.

## Pages and codeunits on this table

- [Page 20502 "Subc. Routing Info Factbox"](../page/20502.md) (source table)
- [Page 5408 "Prod. Order Routing Lines"](../page/5408.md) (source table)
- [Page 99000817 "Prod. Order Routing"](../page/99000817.md) (source table)
- [Page 99000915 "Work Center Task List"](../page/99000915.md) (source table)
- [Page 99000916 "Machine Center Task List"](../page/99000916.md) (source table)

## Extended by

- [Table extension 20506 "Subc. ProdOrderRtngLine Ext."](../tableextension/20506.md)
- [Table extension 6247 "Sust. Prod. Order Routing Line"](../tableextension/6247.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 99000773 "Calculate Prod. Order"](../codeunit/99000773.md) (6 calls: `CalcStartingEndingDates → CalculateRoutingFromActual`, `CalculateRoutingBack → CalculateProdOrderDates`, `CalculateRoutingBack → CalculateRoutingFromActual`, …)
- [Codeunit 99000772 "Prod. Order Route Management"](../codeunit/99000772.md) (4 calls: `CalcStartingEndingDates → CalcSequenceFromActual`, `CalculateRoutingBack → CalcSequenceFromActual`, `CalculateRoutingForward → CalcSequenceFromActual`, …)
- [Codeunit 99000849 "Mfg. ReservCheckDateConfl"](../codeunit/99000849.md) (2 calls: `CalcStartingEndingDates → ProdOrderLineCheck`, `ShiftTimeForwardOnParentProdOrderLines → ProdOrderLineCheck`)
- [Codeunit 27 "Confirm Management"](../codeunit/27.md) (1 call: `CheckPreviousAndNext → GetResponse`)

## Recent changes

- 2026-08-16 [#9067 Production Definition Wizard - Implementation](../../changes/bcapps/9067.md) (main, BC30, feature)
- 2026-07-30 [#9463 [Extensibility Request] issue 30336: add OnValidateNoOnBeforeModifyCapNeedEntries event in Prod. Order Routing Line](../../changes/bcapps/9463.md) (main, BC30, feature)

## Across versions

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

## Countries that replace it

[IT](../../localizations/it.md)

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