---
id: object/tableextension/20502
type: object
title: Table extension 20502 "Subc. Prod Order Comp Ext."
summary: Table extension 20502 "Subc. Prod Order Comp Ext." in Subcontracting (Microsoft.Manufacturing.Subcontracting), extends "Prod. Order Component". 9 fields. 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: 205ef3f53e53dad16d90a09aaed8b0d71d3c0967597ebbc602c8df95838097af
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Subcontracting/app/src/Manufacturing/SubcProdOrderCompExt.TableExt.al
    title: src/Apps/W1/Subcontracting/app/src/Manufacturing/SubcProdOrderCompExt.TableExt.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/5407
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/9892
object_type: tableextension
object_id: 20502
name: Subc. Prod Order Comp Ext.
namespace: Microsoft.Manufacturing.Subcontracting
app: Subcontracting
extends: Prod. Order Component
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: 0
  events: 0
  subscribers: 0
relations:
  out: 9
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 0
  called_by: 0
  implements: 0
---

# Table extension 20502 "Subc. Prod Order Comp Ext."

> Table extension 20502 "Subc. Prod Order Comp Ext." in Subcontracting (Microsoft.Manufacturing.Subcontracting), extends "Prod. Order Component". 9 fields. 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/SubcProdOrderCompExt.TableExt.al) · facts from BC29

Extends [Prod. Order Component](../table/5407.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 |
|---|---|---|---|---|
| 20522 | Component Supply Method | Enum "Component Supply Method" | Specifies how components are supplied to the subcontractor for the production order component. Vendor-supplied - components are provided by the subcontractor. Consignment at Vendor - components are owned by your company but stored at the subcontractor location. Transfer to Vendor - components are se... | enum [Enum 20500 "Component Supply Method"](../enum/20500.md); DataClassification CustomerContent |
| 20523 | Subc. Original Location Code | Code[10] | Original Location Code <small>caption</small> | TableRelation [Table 14 "Location"](../table/14.md); DataClassification CustomerContent |
| 20524 | Subc. Qty. transf. to Subcontr | Decimal | Specifies the item amount transferred to the subcontractor. | FlowField: sum("Item Ledger Entry".Quantity where("Entry Type" = const(Transfer), "Subc. Prod. Order No." = field("Prod. Order No."), "Subc. Prod. Order Line No." = field("Prod. Order Line No."), "Prod. Order Comp. Line No." = field("Line No."), "Subc. Purch. Order No." = field("Subc. Purchase Order Filter"), ...; not editable |
| 20525 | Subc. Qty. in Transit (Base) | Decimal | Specifies the items that are in transit. | FlowField: sum("Transfer Line"."Qty. in Transit (Base)" where("Subc. Prod. Order No." = field("Prod. Order No."), "Subc. Prod. Order Line No." = field("Prod. Order Line No."), "Subc. Prod. Ord. Comp Line No." = field("Line No."), "Subc. Purch. Order No." = field("Subc. Purchase Order Filter"), "Subc. Return Or...; not editable |
| 20526 | Subc. Qty.on TransOrder (Base) | Decimal | Specifies the item amount that is on the transfer order. | FlowField: sum("Transfer Line"."Outstanding Qty. (Base)" where("Subc. Prod. Order No." = field("Prod. Order No."), "Subc. Prod. Order Line No." = field("Prod. Order Line No."), "Subc. Prod. Ord. Comp Line No." = field("Line No."), "Subc. Purch. Order No." = field("Subc. Purchase Order Filter"), "Subc. Return O...; not editable |
| 20527 | Subc. Purchase Order Filter | Code[20] | — | TableRelation [Table 38 "Purchase Header"](../table/38.md) ("Purchase Header"."No." where("Document Type" = const(Order), "Subc. Order" = const(true))); FlowFilter |
| 20528 | Subc. Orig. Bin Code | Code[20] | Original Bin Code <small>caption</small> | TableRelation [Table 7354 "Bin"](../table/7354.md); DataClassification CustomerContent |
| 20530 | RetQtyInTransit (Base) | Decimal | Specifies the items that are in transit for return. <small>via [Page 20503 "Subc. Prod. Order Components"](../page/20503.md)</small> | FlowField: sum("Transfer Line"."Qty. in Transit (Base)" where("Subc. Prod. Order No." = field("Prod. Order No."), "Subc. Prod. Order Line No." = field("Prod. Order Line No."), "Subc. Prod. Ord. Comp Line No." = field("Line No."), "Subc. Purch. Order No." = field("Subc. Purchase Order Filter"), "Subc. Return Or...; not editable |
| 20531 | RetQtyOnTransOrder (Base) | Decimal | Specifies the item amount that is on the transfer order to be returned. <small>via [Page 20503 "Subc. Prod. Order Components"](../page/20503.md)</small> | FlowField: sum("Transfer Line"."Outstanding Qty. (Base)" where("Subc. Prod. Order No." = field("Prod. Order No."), "Subc. Prod. Order Line No." = field("Prod. Order Line No."), "Subc. Prod. Ord. Comp Line No." = field("Line No."), "Subc. Purch. Order No." = field("Subc. Purchase Order Filter"), "Subc. Return O...; not editable |

## Relations

- Subc. Original Location Code: TableRelation [Table 14 "Location"](../table/14.md)
- Subc. Qty. transf. to Subcontr: CalcFormula [Table 32 "Item Ledger Entry"](../table/32.md)
- Subc. Purchase Order Filter: TableRelation [Table 38 "Purchase Header"](../table/38.md)
- extends [Table 5407 "Prod. Order Component"](../table/5407.md)
- RetQtyInTransit (Base): CalcFormula [Table 5741 "Transfer Line"](../table/5741.md)
- RetQtyOnTransOrder (Base): CalcFormula [Table 5741 "Transfer Line"](../table/5741.md)
- Subc. Qty. in Transit (Base): CalcFormula [Table 5741 "Transfer Line"](../table/5741.md)
- Subc. Qty.on TransOrder (Base): CalcFormula [Table 5741 "Transfer Line"](../table/5741.md)
- Subc. Orig. Bin Code: TableRelation [Table 7354 "Bin"](../table/7354.md)

## Recent changes

- 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)

## 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. Prod Order Comp Ext.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
