---
title: "Codeunit 99000773 Calculate Prod. Order"
author: "Jonas Paprotka"
url: https://jonas-paprotka.de/ref/codeunit/99000773-calculate-prod-order/
type: codeunit
id: 99000773
name: "Calculate Prod. Order"
app: "Base Application"
namespace: Microsoft.Manufacturing.Document
versions: "17-28"
build: 28.5.54151.54365
source: "https://jonas-paprotka.de/ref/codeunit/99000773-calculate-prod-order/source/29/"
checked: 2026-09-20
subject: "Microsoft Dynamics 365 Business Central"
license: "Content © 2026 Jonas Paprotka. Quote freely with attribution and a link."
---

# Codeunit 99000773 Calculate Prod. Order

Jonas Paprotka, https://jonas-paprotka.de/ref/codeunit/99000773-calculate-prod-order/

| | |
| --- | --- |
| App | Base Application |
| Namespace | Microsoft.Manufacturing.Document |
| Versions | 17-28 |
| Source file | Manufacturing/Document/CalculateProdOrder.Codeunit.al |

## Procedures

| Name | Parameters | Returns | Access | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- | --- |
| TransferTaskInfo | (var Record Prod. Order Routing Line, Code[20]) | - | public | 17-28 | - | - |
| CalculateComponents | () | - | public | 17-28 | - | - |
| CalculateRoutingFromActual | (Record Prod. Order Routing Line, Option, Boolean) | - | public | 17-28 | - | - |
| CalculateProdOrderDates | (var Record Prod. Order Line, Boolean) | - | public | 17-28 | - | - |
| Calculate | (Record Prod. Order Line, Option, Boolean, Boolean, Boolean, Boolean) | Boolean | public | 17-28 | - | - |
| Recalculate | (var Record Prod. Order Line, Option, Boolean) | - | public | 17-28 | - | - |
| BlockDynamicTracking | (Boolean) | - | public | 17-28 | - | - |
| SetParameter | (Boolean) | - | public | 17-28 | - | - |
| SetProdOrderLineBinCodeFromRoute | (var Record Prod. Order Line, Code[10], Code[20]) | - | public | 17-28 | - | - |
| SetProdOrderLineBinCodeFromProdRtngLines | (var Record Prod. Order Line) | - | public | 17-28 | - | - |
| SetProdOrderLineBinCodeFromPlanningRtngLines | (var Record Prod. Order Line, Record Requisition Line) | - | public | 17-28 | - | - |
| FindAndSetProdOrderLineBinCodeFromProdRtngLines | (Option, Code[20], Integer) | - | public | 17-19 | Pending 17.0 | Replaced by FindAndSetProdOrderLineBinCodeFromProdRoutingLines with enum Production Order Status. |
| FindAndSetProdOrderLineBinCodeFromProdRoutingLines | (Enum Production Order Status, Code[20], Integer) | - | public | 17-28 | - | - |
| AssignProdOrderLineBinCodeFromProdRtngLineMachineCenter | (var Record Prod. Order Routing Line) | - | public | 17-28 | - | - |
| InitProdOrderRoutingLine | (var Record Prod. Order Routing Line, Record Routing Line) | - | public | 19-28 | - | - |
| TransferBOM | (Code[20], Integer, Decimal, Decimal) | Boolean | public | 19-28 | - | - |

## Events

| Kind | Name | Parameters | Versions | Obsolete | Reason |
| --- | --- | --- | --- | --- | --- |
| Integration event | OnAfterCalculate | (Record Prod. Order Line, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterInsertProdRoutingLine | (var Record Prod. Order Routing Line, Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnAfterTransferBOM | (Record Production Order, Record Prod. Order Line, Code[20], Integer, Decimal, Decimal, Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnAfterTransferTaskInfo | (var Record Prod. Order Routing Line, Code[20]) | 17-28 | - | - |
| Integration event | OnAfterTransferRouting | (var Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnAfterTransferRoutingLine | (var Record Prod. Order Line, var Record Routing Line, var Record Prod. Order Routing Line) | 17-28 | - | - |
| Integration event | OnAfterTransferBOMComponent | (var Record Prod. Order Line, var Record Production BOM Line, var Record Prod. Order Component, Decimal, Decimal) | 17-28 | - | - |
| Integration event | OnAfterProdOrderCompFilter | (var Record Prod. Order Component, Record Production BOM Line) | 17-28 | - | - |
| Integration event | OnAfterProdOrderCompInsert | (var Record Prod. Order Component, Record Production BOM Line) | 17-28 | - | - |
| Integration event | OnBeforeCalculate | (var Record Item Ledger Entry, var Record Capacity Ledger Entry, Option, Boolean, Boolean, Boolean, Boolean, var Boolean, var Record Prod. Order Line) | 17-18 | - | - |
| Integration event | OnBeforeCalculateProdOrderDates | (var Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnBeforeCopyProdBOMComments | (var Record Production BOM Comment Line, var Record Production BOM Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeProdOrderCompModify | (var Record Prod. Order Component, var Record Production BOM Line, Decimal, Decimal) | 17-28 | - | - |
| Integration event | OnBeforeTransferBOM | (var Record Production Order, var Record Prod. Order Line, Code[20], Integer, Decimal, Decimal, Boolean, var Boolean, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeTransferBOMComponent | (Record Production Order, Record Prod. Order Line, var Record Production BOM Line, var Boolean, var Boolean) | 17-22 | - | - |
| Integration event | OnBeforeTransferRouting | (var Record Production Order, var Record Prod. Order Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeUpdateProdOrderDates | (var Record Production Order, var Record Prod. Order Line) | 17-18 | - | - |
| Integration event | OnCalculateOnAfterGetpLanningParameterAtSKUCalcComponents | (var Record Prod. Order Line, var Record Stockkeeping Unit) | 17-28 | - | - |
| Integration event | OnCalculateOnBeforeCheckNextOperation | (Record Production Order, Record Prod. Order Line, var Record Prod. Order Routing Line, var Boolean) | 17-28 | - | - |
| Integration event | OnCalculateOnBeforeCheckPrevOperation | (Record Production Order, Record Prod. Order Line, var Record Prod. Order Routing Line, var Boolean) | 17-28 | - | - |
| Integration event | OnCalculateComponentsOnBeforeUpdateRoutingLinkCode | (var Record Prod. Order Component, Record Prod. Order Line, var Boolean) | 17-28 | - | - |
| Integration event | OnCalculateProdOrderDatesOnAfterSetFilters | (var Record Prod. Order Routing Line, Record Production Order, Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnCalculateProdOrderDatesOnSetBeforeDueDate | (var Record Prod. Order Line, var Boolean) | 17-28 | - | - |
| Integration event | OnCalculateProdOrderDatesOnBeforeUpdateDatetime | (var Record Prod. Order Line, Date, Boolean) | 17-28 | - | - |
| Integration event | OnCalculateRoutingFromActualOnAfterSetProdOrderRoutingLineFilters | (var Record Prod. Order Routing Line) | 17-28 | - | - |
| Integration event | OnCalculateRoutingFromActualOnBeforeCalcStartEndDate | (var Record Prod. Order Routing Line, var Boolean) | 17-28 | - | - |
| Integration event | OnTransferBOMOnAfterCalcReqQty | (Record Production BOM Line, Record Prod. Order Routing Line, Record Prod. Order Line, var Decimal, Decimal, Decimal) | 17-28 | - | - |
| Integration event | OnTransferBOMOnAfterSetFiltersProdBOMLine | (var Record Production BOM Line, Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnTransferBOMOnBeforeProcessItem | (Record Production BOM Line, Decimal, var Boolean) | 17-28 | - | - |
| Integration event | OnTransferBOMOnBeforeProcessProdBOM | (Record Production BOM Line, Decimal, Decimal, var Decimal) | 17-20 | - | - |
| Integration event | OnTransferBOMProcessItemOnAfterGetPlanningParameters | (var Record Prod. Order Line, var Record Stockkeeping Unit) | 17-28 | - | - |
| Integration event | OnTransferBOMProcessItemOnBeforeGetPlanningParameters | (var Record Prod. Order Component, Record Production BOM Line) | 17-19 | - | - |
| Integration event | OnTransferRoutingOnbeforeValidateDirectUnitCost | (var Record Prod. Order Routing Line, Record Prod. Order Line, Record Routing Line) | 17-28 | - | - |
| Integration event | OnCalculateRoutingOnBeforeSetLeadTime | (var Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnAfterCalculateComponents | (Record Prod. Order Line) | 17-28 | - | - |
| Integration event | OnBeforeRecalculate | (var Record Prod. Order Line, Boolean, Boolean) | 17-28 | - | - |
| Integration event | OnAfterRecalculate | (var Record Prod. Order Line, Boolean, Boolean) | 17-28 | - | - |
| Integration event | OnRecalculateOnBeforeCalculateRouting | (var Record Prod. Order Line, var Boolean) | 17-28 | - | - |
| Integration event | OnBeforeCalculate | (var Record Item Ledger Entry, var Record Capacity Ledger Entry, Option, Boolean, Boolean, Boolean, Boolean, var Boolean, var Record Prod. Order Line, var Boolean) | 19-24 | - | - |
| Integration event | OnBeforeCalculateRoutingFromActual | (Record Prod. Order Routing Line, Option, Boolean, var Boolean) | 19-28 | - | - |
| Integration event | OnBeforeUpdateProdOrderDates | (var Record Production Order, var Record Prod. Order Line, var Boolean) | 19-28 | - | - |
| Integration event | OnCopyRoutingToolsOnAfterRoutingToolSetFilters | (var Record Routing Tool, Record Prod. Order Routing Line, Code[20]) | 19-28 | - | - |
| Integration event | OnTransferRoutingOnBeforeCalcRoutingCostPerUnit | (var Record Prod. Order Routing Line, Record Prod. Order Line, Record Routing Line) | 19-28 | - | - |
| Integration event | OnTransferBOMProcessItemOnBeforeGetPlanningParameters | (var Record Prod. Order Component, Record Production BOM Line, Record Stockkeeping Unit) | 20-28 | - | - |
| Integration event | OnAfterRecalculateProcedure | (var Record Prod. Order Line) | 20-28 | - | - |
| Integration event | OnTransferBOMProcessItemOnBeforeSetFlushingMethod | (var Record Prod. Order Line, var Record Stockkeeping Unit, var Record Prod. Order Component, Record Production BOM Line, var Boolean) | 20-28 | - | - |
| Integration event | OnBeforeAssignProdOrderLineBinCodeFromProdRtngLineMachineCenter | (var Record Prod. Order Routing Line, var Record Machine Center, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeSetProdOrderLineBinCode | (var Record Prod. Order Line, Code[20], Code[10], var Boolean) | 21-28 | - | - |
| Integration event | OnCalculateOnAfterCalcShouldCheckIfEntriesExist | (var Record Prod. Order Line, var Boolean, var Boolean) | 21-28 | - | - |
| Integration event | OnCalculateOnAfterItemLedgEntrySetFilters | (Record Prod. Order Line, var Record Item Ledger Entry) | 21-28 | - | - |
| Integration event | OnTransferBOMOnBeforeProcessProdBOM | (Record Production BOM Line, Decimal, Decimal, var Decimal, var Record Prod. Order Line) | 21-28 | - | - |
| Integration event | OnAfterSetPlanningLevelCode | (var Record Prod. Order Component, var Record Production BOM Line, var Record Stockkeeping Unit, var Record Stockkeeping Unit, var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeCopyRoutingComments | (var Record Routing Comment Line, Record Prod. Order Routing Line, Code[20], var Boolean) | 21-28 | - | - |
| Integration event | OnBeforeProcessRoutingLine | (var Record Routing Line, var Record Prod. Order Routing Line, Record Prod. Order Line, Record Production Order, var Boolean) | 22-28 | - | - |
| Integration event | OnBeforeTransferBOMComponent | (Record Production Order, Record Prod. Order Line, var Record Production BOM Line, var Boolean, var Boolean, Integer) | 23-28 | - | - |
| Integration event | OnCalculateRoutingOnBeforeUpdateProdOrderRoutingLineDates | (var Record Prod. Order Routing Line, var Record Prod. Order Line, var Boolean) | 23-28 | - | - |
| Integration event | OnBeforeCalculate | (var Record Item Ledger Entry, var Record Capacity Ledger Entry, Option, Boolean, Boolean, var Boolean, Boolean, var Boolean, var Record Prod. Order Line, var Boolean) | 25-28 | - | - |
| Integration event | OnBeforeCheckProdOrderLineQuantity | (Record Prod. Order Line, var Boolean) | 25-28 | - | - |
| Integration event | OnCalculateOnBeforeCalcComponents | (Record Prod. Order Line, Boolean, var Boolean) | 25-28 | - | - |
| Integration event | OnBeforeGetDefaultBin | (var Record Prod. Order Component, var Record Location, var Record Item, var Codeunit Prod. Order Warehouse Mgt., var Code[20], var Boolean) | 26-28 | - | - |
| Integration event | OnBeforeFindProdOrderRoutingLine | (var Record Prod. Order Line, var Record Production BOM Line, var Boolean, var Decimal) | 26-28 | - | - |
| Integration event | OnCalculateRoutingFromActualOnAfterCalculateRoutingLine | (var Record Prod. Order Routing Line) | 27-28 | - | - |
| Integration event | OnTransferBOMOnAfterProcessProdBOM | (var Record Production BOM Line, Decimal, Decimal, var Decimal, Record Prod. Order Line) | 28 | - | - |
| Integration event | OnTransferBOMOnBeforeTransferNestedProdBOM | (Record Production BOM Line, Decimal, Decimal, var Decimal, var Record Prod. Order Line, var Boolean) | 28 | - | - |
| Integration event | OnCalculateOnAfterCapLedgEntrySetFilters | (var Record Prod. Order Line, var Record Capacity Ledger Entry) | 28 | - | - |

## Source

Symbols: Microsoft.BaseApplication.symbols.437dbf0e-84ff-417a-965d-ed2bb9650972, https://dynamicssmb2.pkgs.visualstudio.com/DynamicsBCPublicFeeds/_packaging/MSSymbols/nuget/v3/index.json, highest build per major on 2026-09-20.
AL source 29: https://github.com/microsoft/BCApps, MIT, releases/29.x at a66254c3b8b5bb1cea290dc8f9d097aec4381153.

Jonas Paprotka, 2026-09-20.
