---
id: object/tableextension/99000750
type: object
title: Table extension 99000750 "Mfg. Item"
summary: Table extension 99000750 "Mfg. Item" in Base Application (Microsoft.Inventory.Item), extends "Item". 14 fields, 4 public procedures, 3 events. Introduced in BC26, still in BC30, changed in BC27-28, BC30.
tier: official
language: en
tags:
  - tableextension
  - base application
versions:
  introduced: "26"
  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: d252083b57a4491b43319c5d7a04f2e0cbdd9b578da1fe54d4b5d604f4ce4aa6
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Manufacturing/Inventory/Item/MfgItem.TableExt.al
    title: src/Layers/W1/BaseApp/Manufacturing/Inventory/Item/MfgItem.TableExt.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects:
    - object/table/27
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes:
    - change/bcapps/12066
object_type: tableextension
object_id: 99000750
name: Mfg. Item
namespace: Microsoft.Inventory.Item
app: Base Application
extends: Item
first_version: "26"
last_version: "30"
present_in:
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "27"
  - "28"
  - "30"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 14
  procedures: 8
  events: 3
  subscribers: 0
relations:
  out: 14
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 3
  called_by: 0
  implements: 0
---

# Table extension 99000750 "Mfg. Item"

> Table extension 99000750 "Mfg. Item" in Base Application (Microsoft.Inventory.Item), extends "Item". 14 fields, 4 public procedures, 3 events. Introduced in BC26, still in BC30, changed in BC27-28, BC30.

Base Application · Microsoft.Inventory.Item · BC26-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Manufacturing/Inventory/Item/MfgItem.TableExt.al) · facts from BC29

Extends [Item](../table/27.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 |
|---|---|---|---|---|
| 200 | Cost of Open Production Orders | Decimal | — | FlowField: sum("Prod. Order Line"."Cost Amount" where(Status = filter(Planned \| "Firm Planned" \| Released), "Item No." = field("No."))) |
| 5420 | Scheduled Receipt (Qty.) | Decimal | Specifies how many units of the item are scheduled for production orders. The program automatically calculates and updates the contents of the field, using the Remaining Quantity field on production order lines. <small>via [Page 4410 "SOA Multi Items Availability"](../page/4410.md)</small> | FlowField: sum("Prod. Order Line"."Remaining Qty. (Base)" where(Status = filter("Firm Planned" \| Released), "Item No." = field("No."), "Variant Code" = field("Variant Filter"), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "L...; not editable |
| 5421 | Scheduled Need (Qty.) | Decimal | — | obsolete Removed 28.0; #if not CLEANSCHEMA28; FlowField: sum("Prod. Order Component"."Remaining Qty. (Base)" where(Status = filter(Planned .. Released), "Item No." = field("No."), "Variant Code" = field("Variant Filter"), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Lo...; not editable |
| 5429 | Reserved Qty. on Prod. Order | Decimal | — | FlowField: sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("No."), "Source Type" = const(5406), "Source Subtype" = filter("1" .. "3"), "Reservation Status" = const(Reservation), "Location Code" = field("Location Filter"), "Variant Code" = field("Variant Filter"), "Expected Receipt Date" = fi...; not editable |
| 5430 | Res. Qty. on Prod. Order Comp. | Decimal | — | FlowField: - sum("Reservation Entry"."Quantity (Base)" where("Item No." = field("No."), "Source Type" = const(5407), "Source Subtype" = filter("1" .. "3"), "Reservation Status" = const(Reservation), "Location Code" = field("Location Filter"), "Variant Code" = field("Variant Filter"), "Shipment Date" = field("D...; not editable |
| 8011 | Production Blocked | Enum "Item Production Blocked" | Specifies which transactions with the item cannot be processed on production documents, except requisition worksheet, planning worksheet and journals. | enum [Enum 99000774 "Item Production Blocked"](../enum/99000774.md); DataClassification CustomerContent |
| 99000750 | Routing No. | Code[20] | Specifies the production route that contains the operations needed to manufacture this item. <small>via [Page extension 99000750 "Mfg. Item Card"](../pageextension/99000750.md)</small> | TableRelation [Table 99000763 "Routing Header"](../table/99000763.md) (Routing Header); DataClassification CustomerContent |
| 99000751 | Production BOM No. | Code[20] | Specifies the production BOM that is used to manufacture this item. <small>via [Page extension 99000750 "Mfg. Item Card"](../pageextension/99000750.md)</small> | TableRelation [Table 99000771 "Production BOM Header"](../table/99000771.md) (Production BOM Header); DataClassification CustomerContent |
| 99000765 | Planned Order Receipt (Qty.) | Decimal | — | FlowField: sum("Prod. Order Line"."Remaining Qty. (Base)" where(Status = const(Planned), "Item No." = field("No."), "Variant Code" = field("Variant Filter"), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Location Code" = fie...; not editable |
| 99000766 | FP Order Receipt (Qty.) | Decimal | — | FlowField: sum("Prod. Order Line"."Remaining Qty. (Base)" where(Status = const("Firm Planned"), "Item No." = field("No."), "Variant Code" = field("Variant Filter"), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Location Code...; not editable |
| 99000767 | Rel. Order Receipt (Qty.) | Decimal | — | FlowField: sum("Prod. Order Line"."Remaining Qty. (Base)" where(Status = const(Released), "Item No." = field("No."), "Variant Code" = field("Variant Filter"), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Location Code" = fi...; not editable |
| 99000769 | Planned Order Release (Qty.) | Decimal | — | FlowField: sum("Prod. Order Line"."Remaining Qty. (Base)" where(Status = const(Planned), "Item No." = field("No."), "Variant Code" = field("Variant Filter"), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Location Code" = fie...; not editable |
| 99000777 | Qty. on Prod. Order | Decimal | Specifies how many units of the item are allocated to production orders, meaning listed on outstanding production order lines. <small>via [Page extension 99000750 "Mfg. Item Card"](../pageextension/99000750.md)</small> | FlowField: sum("Prod. Order Line"."Remaining Qty. (Base)" where(Status = filter(Planned .. Released), "Item No." = field("No."), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Location Code" = field("Location Filter"), "Varia...; not editable |
| 99000778 | Qty. on Component Lines | Decimal | Specifies how many units of the item are allocated as production order components, meaning listed under outstanding production order lines. <small>via [Page extension 99000750 "Mfg. Item Card"](../pageextension/99000750.md)</small> | FlowField: sum("Prod. Order Component"."Remaining Qty. (Base)" where(Status = filter(Planned .. Released), "Item No." = field("No."), "Shortcut Dimension 1 Code" = field("Global Dimension 1 Filter"), "Shortcut Dimension 2 Code" = field("Global Dimension 2 Filter"), "Location Code" = field("Location Filter"), "...; not editable |

## Keys

- Key8: Production BOM No.
- Key9: Routing No.

## Events published

- `OnBeforeValidateProductionBOMNo(var Item: Record Item; xItem: Record Item; var IsHandled: Boolean)` (integration)
- `OnValidateProductionBOMNoOnAfterCodeunitRun(ProductionBOMHeader: Record "Production BOM Header"; var Item: Record Item)` (integration)
- `OnValidateProductionBOMNoOnAfterProcessStatusCertified(ProductionBOMHeader: Record "Production BOM Header"; var Item: Record Item)` (integration)

## Procedures

- `SetHideNonInventoryValidateOnStdCost(NewHideNonInventoryValidateOnStdCost: Boolean)` (obsolete 27.0: procedure that was implemented to bypass the error has now been identified as unnecessary)
- `CanHideNonInventoryValidateOnStdCost(): Boolean` (obsolete 27.0: procedure that was implemented to bypass the error has now been identified as unnecessary)
- `OpenActiveProdBOMForItem(ProdBOMNo: Code[20]; ItemNo: Code[20])` (internal)
- `CheckItemAndVariantForProdBlocked(ItemNo: Code[20]; VariantCode: Code[20]; ItemProductionBlockedToCheck: Enum "Item Production Blocked")` (internal)

Plus 1 local procedures.

## Relations

- extends [Table 27 "Item"](../table/27.md)
- Res. Qty. on Prod. Order Comp.: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Reserved Qty. on Prod. Order: CalcFormula [Table 337 "Reservation Entry"](../table/337.md)
- Cost of Open Production Orders: CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- FP Order Receipt (Qty.): CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- Planned Order Receipt (Qty.): CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- Planned Order Release (Qty.): CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- Qty. on Prod. Order: CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- Rel. Order Receipt (Qty.): CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- Scheduled Receipt (Qty.): CalcFormula [Table 5406 "Prod. Order Line"](../table/5406.md)
- Qty. on Component Lines: CalcFormula [Table 5407 "Prod. Order Component"](../table/5407.md)
- Scheduled Need (Qty.): CalcFormula [Table 5407 "Prod. Order Component"](../table/5407.md)
- Routing No.: TableRelation [Table 99000763 "Routing Header"](../table/99000763.md)
- Production BOM No.: TableRelation [Table 99000771 "Production BOM Header"](../table/99000771.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 99000756 "VersionManagement"](../codeunit/99000756.md) (1 call: `OpenActiveProdBOMForItem → GetBOMVersion`)
- [Page 99000786 "Production BOM"](../page/99000786.md) (1 call: `OpenActiveProdBOMForItem → (object)`)
- [Page 99000809 "Production BOM Version"](../page/99000809.md) (1 call: `OpenActiveProdBOMForItem → (object)`)

## Recent changes

- 2026-10-02 [#12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026](../../changes/bcapps/12066.md) (main, BC30, obsoletion)

## Across versions

- Present in: BC26-30
- Changed (declaration) in: BC27-28, BC30

## Deprecations

- procedure CanHideNonInventoryValidateOnStdCost: Pending 27.0 (#if not CLEAN27), "procedure that was implemented to bypass the error has now been identified as unnecessary"
- procedure SetHideNonInventoryValidateOnStdCost: Pending 27.0 (#if not CLEAN27), "procedure that was implemented to bypass the error has now been identified as unnecessary"
- field Scheduled Need (Qty.): Removed 28.0 (#if not CLEANSCHEMA28), "Use the field 'Qty. on Component Lines' instead"

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