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

# Table extension 99000758 "Mfg. Item Journal Line"

> Table extension 99000758 "Mfg. Item Journal Line" in Base Application (Microsoft.Inventory.Journal), extends "Item Journal Line". 24 fields, 27 public procedures, 39 events. Introduced in BC26, still in BC30, changed in BC27-28.

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

Extends [Item Journal Line](../table/83.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 |
|---|---|---|---|---|
| 5838 | Operation No. | Code[10] | Specifies the number of the production operation on the item journal line when the journal functions as an output journal. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | TableRelation [Table 5409 "Prod. Order Routing Line"](../table/5409.md) (if ("Order Type" = const(Production)) "Prod. Order Routing Line"."Operation No." where(Status = const(Released), "Prod. Order No." = field("Order No."), "Routing No." = field("Routing No."), "Routing Reference No." = field("Routing Reference No."))); DataClassification CustomerContent |
| 5849 | Concurrent Capacity | Decimal | Specifies the concurrent capacity. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5839 | Work Center No. | Code[20] | — | TableRelation [Table 99000754 "Work Center"](../table/99000754.md) (Work Center); not editable; DataClassification CustomerContent |
| 5841 | Setup Time | Decimal | Specifies the time required to set up the machines for this journal line. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5842 | Run Time | Decimal | Specifies the run time of the operations represented by this journal line. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5843 | Stop Time | Decimal | Specifies the stop time of this capacity ledger entry. <small>via [Page 99000773 "Capacity Journal"](../page/99000773.md)</small> | DataClassification CustomerContent |
| 5846 | Output Quantity | Decimal | Specifies the quantity of the produced item that can be posted as output on the journal line. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5847 | Scrap Quantity | Decimal | Specifies the number of units produced incorrectly, and therefore cannot be used. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5851 | Setup Time (Base) | Decimal | — | DataClassification CustomerContent |
| 5852 | Run Time (Base) | Decimal | — | DataClassification CustomerContent |
| 5853 | Stop Time (Base) | Decimal | — | DataClassification CustomerContent |
| 5856 | Output Quantity (Base) | Decimal | — | DataClassification CustomerContent |
| 5857 | Scrap Quantity (Base) | Decimal | — | DataClassification CustomerContent |
| 5873 | Starting Time | Time | Specifies the starting time of the operation on the item journal line. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5874 | Ending Time | Time | Specifies the ending time of the operation on the item journal line. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5882 | Routing No. | Code[20] | — | TableRelation [Table 99000763 "Routing Header"](../table/99000763.md) (Routing Header); not editable; DataClassification CustomerContent |
| 5883 | Routing Reference No. | Integer | — | DataClassification CustomerContent |
| 5884 | Prod. Order Comp. Line No. | Integer | Specifies the production order component line number. <small>via [Page 99000846 "Consumption Journal"](../page/99000846.md)</small> | TableRelation [Table 5407 "Prod. Order Component"](../table/5407.md) (if ("Order Type" = const(Production)) "Prod. Order Component"."Line No." where(Status = const(Released), "Prod. Order No." = field("Order No."), "Prod. Order Line No." = field("Order Line No."))); DataClassification CustomerContent |
| 5885 | Finished | Boolean | Specifies that the operation represented by the output journal line is finished. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | DataClassification CustomerContent |
| 5895 | Stop Code | Code[10] | Specifies the stop code. <small>via [Page 99000773 "Capacity Journal"](../page/99000773.md)</small> | TableRelation [Table 99000761 "Stop"](../table/99000761.md); DataClassification CustomerContent |
| 5896 | Scrap Code | Code[10] | Specifies why an item has been scrapped. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | TableRelation [Table 99000762 "Scrap"](../table/99000762.md); DataClassification CustomerContent |
| 5898 | Work Center Group Code | Code[10] | — | TableRelation [Table 99000756 "Work Center Group"](../table/99000756.md) (Work Center Group); not editable; DataClassification CustomerContent |
| 5899 | Work Shift Code | Code[10] | Specifies the work shift code for this Journal line. <small>via [Page 5510 "Production Journal"](../page/5510.md)</small> | TableRelation [Table 99000750 "Work Shift"](../table/99000750.md) (Work Shift); DataClassification CustomerContent |
| 5900 | Rev. Capacity Ledger Entry No. | Integer | Reversed Capacity Ledger Entry No. <small>caption</small> | TableRelation [Table 5832 "Capacity Ledger Entry"](../table/5832.md) (Microsoft.Manufacturing.Capacity."Capacity Ledger Entry"); DataClassification CustomerContent |

## Events published

- `OnAfterCopyFromProdOrderComp(var ItemJournalLine: Record "Item Journal Line"; ProdOrderComponent: Record "Prod. Order Component")` (integration)
- `OnAfterCopyFromProdOrderLine(var ItemJournalLine: Record "Item Journal Line"; ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnBeforeCopyFromProdOrderComp(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderComp: Record "Prod. Order Component"; var IsHandled: Boolean)` (integration)
- `OnBeforeCreateProdDim(var ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnCreateProdDimOnBeforeCreateDimSetIDArr(var ItemJournalLine: Record "Item Journal Line"; var DimSetIDArr: array[10] of Integer; var IsHandled: Boolean)` (integration)
- `OnCreateProdDimOnAfterCreateDimSetIDArr(var ItemJournalLine: Record "Item Journal Line"; var DimSetIDArr: array[10] of Integer; var i: Integer)` (integration)
- `OnCreateDimWithProdOrderLineOnAfterInitDefaultDimensionSources(var ItemJournalLine: Record "Item Journal Line"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; FieldNo: Integer)` (integration)
- `OnValidateOrderNoOrderTypeProduction(var ItemJournalLine: Record "Item Journal Line"; ProductionOrder: Record "Production Order")` (integration)
- `OnBeforeGetProdOrderRoutingLine(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnValidateCapUnitofMeasureCodeOnBeforeRoutingCostPerUnit(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (integration)
- `OnValidateItemNoOnAfterProdOrderCompSetFilters(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderComp: Record "Prod. Order Component"; var IsHandled: Boolean)` (integration)
- `OnValidateItemNoOnAfterValidateProdOrderCompLineNo(var ItemJournalLine: Record "Item Journal Line"; ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnValidateItemNoOnAfterSetProdOrderLineItemNoFilter(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnValidateItemNoOnAfterCalcShouldCopyFromSingleProdOrderLine(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line"; var ShouldCopyFromSingleProdOrderLine: Boolean)` (integration)
- `OnValidateItemNoOnAfterCalcShouldThrowRevaluationError(var ItemJournalLine: Record "Item Journal Line"; var ShouldThrowRevaluationError: Boolean)` (integration)
- `OnValidateOrderLineNoOnAfterProdOrderLineSetFilters(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnOrderLineNoOnValidateOnAfterAssignProdOrderLineValues(var ItemJournalLine: Record "Item Journal Line"; ProdOrderLine: Record "Prod. Order Line")` (integration)
- `OnBeforeLastOutputOperation(ItemJournalLine: Record "Item Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnLastOutputOperationOnBeforeTestRoutingNo(var ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnAfterItemPosting(var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var NextOperationNoIsEmpty: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeItemPosting(var ItemJournalLine: Record "Item Journal Line"; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateQuantityIsBalanced(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeConfirmOutputOnFinishedOperation(var ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforeCheckProdOrderCompBinCode(var ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnLookupProdOrderCompOnBeforeSetTableView(var ProdOrderComponent: Record "Prod. Order Component"; var ItemJournalLine: Record "Item Journal Line")` (integration)
- `OnLookupProdOrderCompBeforeRunModal(var ProdOrderComp: Record "Prod. Order Component"; var IsHandled: Boolean)` (integration)
- `OnBeforeCopyFromMachineCenter(var ItemJournalLine: Record "Item Journal Line"; var MachineCenter: Record "Machine Center"; var IsHandled: Boolean)` (integration)
- `OnBeforeCopyFromWorkCenter(var ItemJournalLine: Record "Item Journal Line"; var WorkCenter: Record "Work Center"; var IsHandled: Boolean)` (integration)
- `OnAfterCopyFromWorkCenter(var ItemJournalLine: Record "Item Journal Line"; WorkCenter: Record "Work Center")` (integration)
- `OnAfterCopyFromMachineCenter(var ItemJournalLine: Record "Item Journal Line"; MachineCenter: Record "Machine Center")` (integration)
- `OnValidateConcurrentCapacityOnAfterCalcTotalTime(var ItemJournalLine: Record "Item Journal Line"; var TotalTime: Integer; xItemJournalLine: Record "Item Journal Line")` (integration)
- `OnAfterSubcontractingWorkCenterUsed(ItemJournalLine: Record "Item Journal Line"; WorkCenter: Record "Work Center"; var Result: Boolean)` (integration)
- `OnAfterOutputValuePosting(var ItemJournalLine: Record "Item Journal Line"; var Result: Boolean)` (integration)
- `OnBeforeValidateScrapCode(var ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnBeforePostingItemJnlFromProduction(var ItemJournalLine: Record "Item Journal Line"; Print: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateScrapQuantityBase(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; FieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateOutputQuantityBase(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; FieldNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeValidateProdOrderCompLineNo(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean)` (integration)
- `OnValidateConcurrentCapacityOnBeforeTimeValidation(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var SkipTimeValidation: Boolean)` (integration)

## Procedures

- `CheckProdOrderCompBinCode()`
- `CopyFromProdOrderComp(ProdOrderComp: Record "Prod. Order Component")`
- `CopyFromProdOrderLine(ProdOrderLine: Record "Prod. Order Line")`
- `CopyFromWorkCenter(WorkCenter: Record "Work Center")`
- `CopyFromMachineCenter(MachineCenter: Record "Machine Center")`
- `CreateProdDim()`: Creates and assigns a dimension set ID to an item journal line record based on the dimensions of the associated production order, production order line, and production order component.
- `CreateDimWithProdOrderLine()`
- `GetProdOrderRoutingLine(var ProdOrderRoutingLine: Record "Prod. Order Routing Line")`
- `FindProdOrderComponent(var ProdOrderComponent: Record "Prod. Order Component"): Boolean`
- `ErrorIfSubcontractingWorkCenterUsed()`
- `ItemPosting(): Boolean`: Determines if the next operation number on the associated production order routing line exists.
- `LastOutputOperation(ItemJnlLine2: Record "Item Journal Line"): Boolean`: Determines whether the operation specified in the provided item journal line record is the last output operation in the associated production order routing line.
- `LookupProdOrderLine()`
- `LookupProdOrderComp()`
- `OutputValuePosting(): Boolean`: Determines if an output value posting should be performed for an item journal line.
- `PostingItemJnlFromProduction(Print: Boolean)`: Posts an item journal line record from a production order.
- `PreviewPostItemJnlFromProduction()` (internal)
- `SubcontractingWorkCenterUsed(): Boolean`: Determines whether a subcontracting work center is used in an item journal line.
- `CheckWhse(LocationCode: Code[20]; var QtyToPost: Decimal)`: Checks warehouse settings for a provided location and adjusts the output quantity for an item journal line record based on these settings and the entry type of the record.
- `RunOnValidateOrderNoOrderTypeProduction(var ItemJournalLine: Record "Item Journal Line"; ProductionOrder: Record "Production Order")` (internal)
- `RunOnValidateCapUnitofMeasureCodeOnBeforeRoutingCostPerUnit(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderRoutingLine: Record "Prod. Order Routing Line"; var IsHandled: Boolean)` (internal)
- `RunOnValidateItemNoOnAfterValidateProdOrderCompLineNo(var ItemJournalLine: Record "Item Journal Line"; ProdOrderLine: Record "Prod. Order Line")` (internal)
- `RunOnValidateItemNoOnAfterSetProdOrderLineItemNoFilter(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line")` (internal)
- `RunOnValidateItemNoOnAfterCalcShouldCopyFromSingleProdOrderLine(var ItemJournalLine: Record "Item Journal Line"; xItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line"; var ShouldCopyFromSingleProdOrderLine: Boolean)` (internal)
- `RunOnValidateItemNoOnAfterCalcShouldThrowRevaluationError(var ItemJournalLine: Record "Item Journal Line"; var ShouldThrowRevaluationError: Boolean)` (internal)
- `RunOnValidateOrderLineNoOnAfterProdOrderLineSetFilters(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line")` (internal)
- `RunOnOrderLineNoOnValidateOnAfterAssignProdOrderLineValues(var ItemJournalLine: Record "Item Journal Line"; ProdOrderLine: Record "Prod. Order Line")` (internal)

Plus 4 local procedures.

## Relations

- Prod. Order Comp. Line No.: TableRelation [Table 5407 "Prod. Order Component"](../table/5407.md)
- Operation No.: TableRelation [Table 5409 "Prod. Order Routing Line"](../table/5409.md)
- Rev. Capacity Ledger Entry No.: TableRelation [Table 5832 "Capacity Ledger Entry"](../table/5832.md)
- extends [Table 83 "Item Journal Line"](../table/83.md)
- Work Shift Code: TableRelation [Table 99000750 "Work Shift"](../table/99000750.md)
- Work Center No.: TableRelation [Table 99000754 "Work Center"](../table/99000754.md)
- Work Center Group Code: TableRelation [Table 99000756 "Work Center Group"](../table/99000756.md)
- Stop Code: TableRelation [Table 99000761 "Stop"](../table/99000761.md)
- Scrap Code: TableRelation [Table 99000762 "Scrap"](../table/99000762.md)
- Routing No.: TableRelation [Table 99000763 "Routing Header"](../table/99000763.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 241 "Item Jnl.-Post"](../codeunit/241.md) (2 calls: `PostingItemJnlFromProduction → (object)`, `PreviewPostItemJnlFromProduction → Preview`)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (2 calls: `CalcBaseTime → TimeRndPrecision`, `ValidateQuantityIsBalanced → ValidateQtyIsBalanced`)
- [Codeunit 242 "Item Jnl.-Post+Print"](../codeunit/242.md) (1 call: `PostingItemJnlFromProduction → (object)`)

## Across versions

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

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