---
id: object/table/99000764
type: object
title: Table 99000764 "Routing Line"
summary: Table 99000764 "Routing Line" in Base Application (Microsoft.Manufacturing.Routing). 35 fields, 5 public procedures, 12 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28, 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: 1bbc4e210901dfc099d496255ed852c964a9d1be691e0a56ece79d2961c777cd
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Manufacturing/Routing/RoutingLine.Table.al
    title: src/Layers/W1/BaseApp/Manufacturing/Routing/RoutingLine.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
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/set-up-business-central/set-up-manufacturing
  localizations:
    - localization/it
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9067
object_type: table
object_id: 99000764
name: Routing Line
namespace: Microsoft.Manufacturing.Routing
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"
  - "28"
  - "30"
source_major: "29"
obsolete: null
countries:
  - it
ms_search_form_ids: []
counts:
  fields: 35
  procedures: 19
  events: 12
  subscribers: 0
relations:
  out: 15
  referenced_by: 5
  pages: 4
  extended_by: 2
  event_subscribers: 4
  calls: 2
  called_by: 0
  implements: 0
---

# Table 99000764 "Routing Line"

> Table 99000764 "Routing Line" in Base Application (Microsoft.Manufacturing.Routing). 35 fields, 5 public procedures, 12 events. Present since at least BC23, still in BC30, changed in BC24-25, BC28, BC30.

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

Learn documents this table through its pages: [Page 99000765 "Routing Lines"](../page/99000765.md) (1 Learn page), [Page 99000767 "Routing Version Lines"](../page/99000767.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Routing Line |
| DataClassification | CustomerContent |
| LookupPageId | Routing Line List |
| DrillDownPageId | Routing Line List |

## 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] | — | TableRelation [Table 99000763 "Routing Header"](../table/99000763.md) (Routing Header); NotBlank |
| 2 | Version Code | Code[20] | — | TableRelation [Table 99000786 "Routing Version"](../table/99000786.md) ("Routing Version"."Version Code" where("Routing No." = field("Routing No."))) |
| 4 | Operation No. | Code[10] | Specifies the operation number for this routing line. | NotBlank |
| 5 | Next Operation No. | Code[30] | Specifies the next operation number. You use this field if you use parallel routings. |  |
| 6 | Previous Operation No. | Code[30] | Specifies the previous operation number, which is automatically assigned. |  |
| 7 | Type | Enum "Capacity Type Routing" | Specifies the kind of capacity type to use for the actual operation. | enum [Enum 5872 "Capacity Type Routing"](../enum/5872.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 a description of the entry. |  |
| 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 according to the value in the Wait Time Unit of Measure field. |  |
| 15 | Move Time | Decimal | Specifies the move time according to the value in the Move Time Unit of Measure field. |  |
| 16 | Fixed Scrap Quantity | Decimal | Specifies the fixed scrap quantity. |  |
| 17 | Lot Size | Decimal | Specifies the number of items that are included in the same operation at the same time. The run time on routing lines is reduced proportionally to the lot size. For example, if the lot size is two pieces, the run time will be reduced by half. |  |
| 18 | Scrap Factor % | Decimal | Specifies the scrap factor in percent. |  |
| 19 | Setup Time Unit of Meas. Code | Code[10] | Specifies the unit of measure code that applies to the setup time of the operation. | 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 unit of measure code that applies to the run time of the operation. | 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 | Specifies a minimum process time. |  |
| 28 | Maximum Process Time | Decimal | Specifies a maximum process time. |  |
| 30 | Concurrent Capacities | Decimal | Specifies the number of machines or persons that are working concurrently. |  |
| 31 | Send-Ahead Quantity | Decimal | Specifies the send-ahead quantity. |  |
| 34 | Routing Link Code | Code[10] | Specifies the routing link code. | TableRelation [Table 99000777 "Routing Link"](../table/99000777.md) (Routing Link) |
| 35 | Standard Task Code | Code[10] | Specifies a standard task. | 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 | — | not editable |
| 45 | Comment | Boolean | — | FlowField: exist("Routing Comment Line" where("Routing No." = field("Routing No."), "Version Code" = field("Version Code"), "Operation No." = field("Operation No."))); not editable |
| 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 |

## Keys

- Key1: Routing No., Version Code, Operation No. (clustered)
- Key2: Routing No., Version Code, Sequence No. (Forward)
- Key3: Routing No., Version Code, Sequence No. (Backward)
- Key4: Work Center No.
- Key5: Type, No.
- Key6: Routing Link Code

## Events published

- `OnAfterDeleteRelations(RoutingLine: Record "Routing Line")` (integration)
  - subscribers: [Codeunit 20568 "Subc. Routing Line Ext."](../codeunit/20568.md) OnAfterDeleteRoutingLineRelations
- `OnAfterWorkCenterTransferFields(var RoutingLine: Record "Routing Line"; WorkCenter: Record "Work Center")` (integration)
  - subscribers: [Codeunit 6254 "Sust. Manufacturing Subscriber"](../codeunit/6254.md) OnAfterWorkCenterTransferFields
- `OnAfterMachineCtrTransferFields(var RoutingLine: Record "Routing Line"; WorkCenter: Record "Work Center"; MachineCenter: Record "Machine Center")` (integration)
  - subscribers: [Codeunit 6254 "Sust. Manufacturing Subscriber"](../codeunit/6254.md) OnAfterMachineCtrTransferFields
- `OnBeforeTestStatus(var RoutingLine: Record "Routing Line"; var IsHandled: Boolean)` (integration)
- `OnCertifiedRoutingVersionExistsOnBeforeCalculate(var RtngVersionCode: Code[20]; var RtngHeaderNo: Code[20]; CalculationDate: Date; var IsHandled: Boolean)` (integration)
- `OnValidateStandardTaskCodeOnBeforeRtngQltyMeasureInsert(var RoutingQualityMeasure: Record "Routing Quality Measure"; StandardTaskQualityMeasure: Record "Standard Task Quality Measure")` (integration)
- `OnValidateStandardTaskCodeOnBeforeRtngPersonnelInsert(var RoutingPersonnel: Record "Routing Personnel"; StandardTaskPersonnel: Record "Standard Task Personnel")` (integration)
- `OnValidateStandardTaskCodeOnBeforeRtngToolInsert(var RoutingTool: Record "Routing Tool"; StandardTaskTool: Record "Standard Task Tool")` (integration)
- `OnValidateStandardTaskCodeOnBeforeRtngCommentLineInsert(var RoutingCommentLine: Record "Routing Comment Line"; StdTaskComment: Record "Standard Task Description")` (integration)
- `OnMachineCtrTransferFieldsOnAfterWorkCenterTransferFields(var RoutingLine: Record "Routing Line"; xRoutingLine: Record "Routing Line"; WorkCenter: Record "Work Center"; MachineCenter: Record "Machine Center"; var IsHandled: Boolean)` (integration)
- `OnBeforeWorkCenterTransferFields(var RoutingLine: Record "Routing Line"; xRoutingLine: Record "Routing Line"; WorkCenter: Record "Work Center"; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateStandardTaskCode(var RoutingLine: Record "Routing Line"; xRoutingLine: Record "Routing Line"; var IsHandled: Boolean)` (integration)

## Trigger event subscribers

- OnBeforeInsertEvent: [Codeunit 99000788 "Mfg. Experience Tier"](../codeunit/99000788.md) BlockInsertRoutingLine

## Procedures

- `TestStatus()`
- `DeleteRelations()`
- `SetRecalcStatus()`
- `CertifiedRoutingVersionExists(RtngHeaderNo: Code[20]; CalculationDate: Date): Boolean`
- `CheckIfRoutingCertified(RoutingLineType: Enum "Capacity Type Routing"; No: Code[20])`

Plus 2 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 99000775 "Routing Line List"](../page/99000775.md)
- lookup page [Page 99000775 "Routing Line List"](../page/99000775.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)
- Comment: CalcFormula [Table 99000775 "Routing Comment Line"](../table/99000775.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)
- Version Code: TableRelation [Table 99000786 "Routing Version"](../table/99000786.md)

## Referenced by

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

- [Table 20573 "Subc. Routing Comment Line"](../table/20573.md): Operation No.
- [Table 99000775 "Routing Comment Line"](../table/99000775.md): Operation No.
- [Table 99000802 "Routing Tool"](../table/99000802.md): Operation No.
- [Table 99000803 "Routing Personnel"](../table/99000803.md): Operation No.
- [Table 99000805 "Routing Quality Measure"](../table/99000805.md): Operation No.

## Pages and codeunits on this table

- [Page 20463 "Qlty. Routing Line Lookup"](../page/20463.md) (source table)
- [Page 99000765 "Routing Lines"](../page/99000765.md) (source table)
- [Page 99000767 "Routing Version Lines"](../page/99000767.md) (source table)
- [Page 99000775 "Routing Line List"](../page/99000775.md) (source table)

## Extended by

- [Table extension 20560 "Subc. Routing Line"](../tableextension/20560.md)
- [Table extension 6245 "Sust. Routing Line"](../tableextension/6245.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 99000752 "Check Routing Lines"](../codeunit/99000752.md) (2 calls: `CertifiedRoutingVersionExists → Calculate`, `CertifiedRoutingVersionExists → NeedsCalculation`)
- [Codeunit 99000756 "VersionManagement"](../codeunit/99000756.md) (1 call: `CertifiedRoutingVersionExists → GetRtngVersion`)

## Recent changes

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