---
id: object/tableextension/20506
type: object
title: Table extension 20506 "Subc. ProdOrderRtngLine Ext."
summary: Table extension 20506 "Subc. ProdOrderRtngLine Ext." in Subcontracting (Microsoft.Manufacturing.Subcontracting), extends "Prod. Order Routing Line". 9 fields, 3 public procedures. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - tableextension
  - subcontracting
versions:
  introduced: "29"
  last_changed: null
  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: 5856c1c15315960b6905d22944421d8a266a683e0ffad2ec6b2a3ffd9d48f527
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subcontracting/app/src/Manufacturing/SubcProdOrderRtngLineExt.TableExt.al
    title: src/Apps/W1/Subcontracting/app/src/Manufacturing/SubcProdOrderRtngLineExt.TableExt.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/5409
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/10278
    - change/bcapps/9892
    - change/bcapps/8747
object_type: tableextension
object_id: 20506
name: Subc. ProdOrderRtngLine Ext.
namespace: Microsoft.Manufacturing.Subcontracting
app: Subcontracting
extends: Prod. Order Routing Line
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 9
  procedures: 9
  events: 0
  subscribers: 0
relations:
  out: 6
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table extension 20506 "Subc. ProdOrderRtngLine Ext."

> Table extension 20506 "Subc. ProdOrderRtngLine Ext." in Subcontracting (Microsoft.Manufacturing.Subcontracting), extends "Prod. Order Routing Line". 9 fields, 3 public procedures. Introduced in BC29, still in BC30.

Subcontracting · Microsoft.Manufacturing.Subcontracting · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subcontracting/app/src/Manufacturing/SubcProdOrderRtngLineExt.TableExt.al) · facts from BC29

Extends [Prod. Order Routing Line](../table/5409.md).

## 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 |
|---|---|---|---|---|
| 20550 | Vendor No. Subc. Price | Code[20] | Vendor No. Subcontracting Prices <small>caption</small> | TableRelation [Table 23 "Vendor"](../table/23.md); not editable; DataClassification CustomerContent |
| 20551 | Subcontracting | Boolean | Specifies whether the Work Center Group is set up with a Vendor for Subcontracting. | FlowField: exist("Work Center" where("No." = field("Work Center No."), "Subcontractor No." = filter(<> ''))); not editable |
| 20560 | Transfer WIP Item | Boolean | Specifies whether the production order parent item (WIP item) is transferred to the subcontractor for this operation. | DataClassification CustomerContent |
| 20561 | Transfer Description | Text[100] | Specifies the operation-specific description used on transfer orders for the semi-finished item as it is shipped to the subcontracting location. If empty, the standard description is used. | DataClassification CustomerContent |
| 20562 | Transfer Description 2 | Text[50] | Specifies an additional operation-specific description line used on transfer orders for the semi-finished item as it is shipped to the subcontracting location. | DataClassification CustomerContent |
| 20563 | WIP Qty. (Base) at Subc. | Decimal | Specifies the total work-in-progress quantity (base) of the production order parent item currently held at the subcontractor location for this operation, as tracked by Subcontracting WIP Entries. | FlowField: sum("Subcontractor WIP Ledger Entry"."Quantity (Base)" where("Prod. Order Status" = field(Status), "Prod. Order No." = field("Prod. Order No."), "Prod. Order Line No." = field("Prod. Order Line Filter"), "Routing Reference No." = field("Routing Reference No."), "Routing No." = field("Routing No."), ...; not editable |
| 20564 | WIP Qty. (Base) in Transit | Decimal | Specifies the outstanding quantity of the production order parent item on transfer orders that is currently in transit to the subcontractor for this operation. | FlowField: sum("Subcontractor WIP Ledger Entry"."Quantity (Base)" where("Prod. Order Status" = field(Status), "Prod. Order No." = field("Prod. Order No."), "Prod. Order Line No." = field("Prod. Order Line Filter"), "Routing Reference No." = field("Routing Reference No."), "Routing No." = field("Routing No."), ...; not editable |
| 20534 | WIP Location Filter | Code[10] | Specifies the location filter used for FlowField calculations. | TableRelation [Table 14 "Location"](../table/14.md); FlowFilter |
| 20535 | Prod. Order Line Filter | Integer | Specifies the production order line filter used for FlowField calculations. | FlowFilter |

## Procedures

- `TransferRoutingComments(RoutingLine: Record "Routing Line")` (internal): Replaces the dedicated production-order routing comments for the operation with the comments from the specified Routing Line.
- `TransferStandardTaskComments(StandardTaskCode: Code[10])` (internal): Replaces the dedicated production-order routing comments for the operation with the comments defined for the specified Standard Task.
- `CheckForSubcontractingPurchaseLineTypeMismatch()` (internal): Checks if the prod. order routing line has a linked purchase order line. In case of mismatching last operation or not last operation on changing the prod. order routing line order an error will be thrown if the type does not match with purchase line

Plus 6 local procedures.

## Triggers

OnBeforeDelete

## Relations

- WIP Location Filter: TableRelation [Table 14 "Location"](../table/14.md)
- WIP Qty. (Base) at Subc.: CalcFormula [Table 20560 "Subcontractor WIP Ledger Entry"](../table/20560.md)
- WIP Qty. (Base) in Transit: CalcFormula [Table 20560 "Subcontractor WIP Ledger Entry"](../table/20560.md)
- Vendor No. Subc. Price: TableRelation [Table 23 "Vendor"](../table/23.md)
- extends [Table 5409 "Prod. Order Routing Line"](../table/5409.md)
- Subcontracting: CalcFormula [Table 99000754 "Work Center"](../table/99000754.md)

## Recent changes

- 2026-08-21 [#10278 Subcontracting Operation Notes](../../changes/bcapps/10278.md) (main, BC30, feature)
- 2026-08-18 [#9892 [main] Bug 644283: Renumber Subcontracting app object ids as it clashes with partner range](../../changes/bcapps/9892.md) (main, BC30, refactor)
- 2026-08-18 [#8747 [Subcontracting] Disable "WIP Item Transfer" for Machine Center](../../changes/bcapps/8747.md) (main, BC30, fix)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

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). 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: "tableextension", object_name: "Subc. ProdOrderRtngLine Ext.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
