Codeunit 99000837 "Prod. Order Line-Reserve"
Base Application · Microsoft.Manufacturing.Document
Across versions
- BC23present
- BC241 events added
- BC2524 procedures added, 5 events added
- BC269 procedures added, 1 procedures removed
- BC2734 procedures changed, 4 events added
- BC28-29unchanged
- BC301 events removed
Neighbourhood 22 connected objects and pages
Base Application · Microsoft.Manufacturing.Document · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Permissions | TableData “Reservation Entry” = rimd, TableData “Prod. Order Line” = rimd, TableData “Prod. Order Component” = rimd, TableData “Action Message Entry” = rm |
Events published
OnAfterCallItemTracking(var ProdOrderLine: Record "Prod. Order Line")(integration)OnBeforeTransferPOLineToPOLine(var OldProdOrderLine: Record "Prod. Order Line"; var NewProdOrderLine: Record "Prod. Order Line")(integration)OnBeforeSetTrackingFilterFromItemJnlLine(OldReservEntry: Record "Reservation Entry"; var NewItemJnlLine: Record "Item Journal Line"; var ItemTrackingFilterIsSet: Boolean; var IsHandled: Boolean)(integration)OnBeforeSetNewTrackingFromItemJnlLine(var CreateReservEntry: Codeunit "Create Reserv. Entry"; var NewItemJnlLine: Record "Item Journal Line"; OldReservEntry: Record "Reservation Entry"; var IsHandled: Boolean)(integration)OnBeforeTransferPOLineToItemJnlLineReservEntry(OldReservEntry: Record "Reservation Entry"; ProdOrderLine: Record "Prod. Order Line"; ItemJnlLine: Record "Item Journal Line"; var TransferQty: Decimal; var IsHandled: Boolean)(integration)OnDeleteLineOnAfterDeleteReservEntries(var ProdOrderLine: Record "Prod. Order Line")(integration)OnTransferPOLineToItemJnlLineOnBeforeHandleItemTrackingOutput(var OldProdOrderLine: Record "Prod. Order Line"; var NewItemJnlLine: Record "Item Journal Line"; var OldReservEntry: Record "Reservation Entry"; var IsHandled: Boolean)(integration)OnTransferPOLineToItemJnlLineOnBeforeTestItemJnlLineFields(var ItemJournalLine: Record "Item Journal Line"; var ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean)(integration)OnVerifyChangeOnBeforeHasError(NewProdOrderLine: Record "Prod. Order Line"; OldProdOrderLine: Record "Prod. Order Line"; var HasError: Boolean; var ShowError: Boolean)(integration)OnCallItemTrackingOnBeforeItemTrackingLinesRunModal(var ProdOrderLine: Record "Prod. Order Line"; var ItemTrackingLines: Page "Item Tracking Lines")(integration)OnDeleteLineConfirmOnAfterReservEntry2Modify(var ReservEntry: Record "Reservation Entry")(integration)OnBeforeCallItemTracking(var ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean)(integration)OnBeforeAutoReserveProdOrderLine(ReservSummEntryNo: Integer; var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; Description: Text[100]; AvailabilityDate: Date; var IsReserved: Boolean; Search: Text[1]; NextStep: Integer; CalcReservEntry: Record "Reservation Entry")+ BC25 (integration)OnCreateReservationOnBeforeCreateReservEntry(var ProdOrderLine: Record "Prod. Order Line"; var Quantity: Decimal; var QuantityBase: Decimal; var ReservationEntry: Record "Reservation Entry"; var TrackingSpecification: Record "Tracking Specification"; var IsHandled: Boolean; ExpectedReceiptDate: Date; Description: Text[100]; ShipmentDate: Date)+ BC24 (integration)OnSetSourceForReservationOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; ProdOrderLine: Record "Prod. Order Line")+ BC25 Δ BC27 − BC30 (integration, obsolete 27.0)OnAfterInitFromProdOrderLine(var TrackingSpecification: Record "Tracking Specification"; ProdOrderLine: Record "Prod. Order Line")+ BC25 (integration)OnAfterTransferInventoryProfileFromProdOrderLine(var InventoryProfile: Record "Inventory Profile"; ProdOrderLine: Record "Prod. Order Line")+ BC25 (integration)OnSetProdOrderLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; ProdOrderLine: Record "Prod. Order Line")+ BC26 (integration)OnAfterGetSourceValue(ReservationEntry: Record "Reservation Entry"; var SourceRecordRef: RecordRef; ReturnOption: Option "Net Qty. (Base)","Gross Qty. (Base)")+ BC25 (integration)OnBeforeTransferPlanningLineToPOLine(var OldRequisitionLine: Record "Requisition Line"; var ProdOrderLine: Record "Prod. Order Line"; TransferQty: Decimal; TransferAll: Boolean; var IsHandled: Boolean)+ BC27 (integration)OnTransferPlanningLineToPOLineOnBeforeCheckFields(var OldRequisitionLine: Record "Requisition Line"; var ProdOrderLine: Record "Prod. Order Line"; TransferQty: Decimal; TransferAll: Boolean; var IsHandled: Boolean)+ BC27 (integration)OnTransferReqLineToPOLineOnBeforeTransfer(var OldReservEntry: Record "Reservation Entry"; var OldReqLine: Record "Requisition Line"; var ProdOrderLine: Record "Prod. Order Line")+ BC27 (integration)OnBeforeAssignForPlanning(var ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean)+ BC27 (integration)
Event subscriptions
- OnGetQtyPerUOMFromSourceRecRef subscribes to Page “Reservation” OnGetQtyPerUOMFromSourceRecRef
- ReservationOnSetReservSource subscribes to Page “Reservation” OnSetReservSource
- ReservationOnDrillDownTotalQuantity subscribes to Page “Reservation” OnDrillDownTotalQuantity
- ReservationOnFilterReservEntry subscribes to Page “Reservation” OnFilterReservEntry
- ReservationOnRelatesToEntrySummary subscribes to Page “Reservation” OnAfterRelatesToSummEntry
- OnDrillDownTotalQuantity subscribes to Codeunit “Item Ledger Entry-Reserve” OnDrillDownTotalQuantity
- OnCreateReservation subscribes to Codeunit “Reservation Management” OnCreateReservation
- OnLookupDocument subscribes to Codeunit “Reservation Management” OnLookupDocument
- OnLookupLine subscribes to Codeunit “Reservation Management” OnLookupLine
- OnFilterReservFor subscribes to Codeunit “Reservation Management” OnFilterReservFor
- OnCalculateRemainingQty subscribes to Codeunit “Reservation Management” OnCalculateRemainingQty
- OnGetSourceRecordValue subscribes to Codeunit “Reservation Management” OnGetSourceRecordValue
- OnUpdateStatistics subscribes to Codeunit “Reservation Management” OnUpdateStatistics
- OnLookupReserved subscribes to Page “Reservation Entries” OnLookupReserved
- OnAfterAutoReserveOneLine subscribes to Codeunit “Reservation Management” OnAfterAutoReserveOneLine
- OnAutoReserveOnBeforeStopReservation subscribes to Codeunit “Reservation Management” OnAutoReserveOnBeforeStopReservation
- OnAutoTrackOnCheckSourceType subscribes to Codeunit “Reservation Management” OnAutoTrackOnCheckSourceType
- OnIssueActionMessageOnSetSourceTypeFromSKU subscribes to Codeunit “Reservation Management” OnIssueActionMessageOnSetSourceTypeFromSKU
- CheckSourceTypeSubtype subscribes to Codeunit “Create Reserv. Entry” OnCheckSourceTypeSubtype
- OnRevertDateToSourceDate subscribes to Codeunit “Reservation Engine Mgt.” OnRevertDateToSourceDate
- OnGetActivePointerFieldsOnBeforeAssignArrayValues subscribes to Codeunit “Reservation Engine Mgt.” OnGetActivePointerFieldsOnBeforeAssignArrayValues
- OnAfterCreateText subscribes to Codeunit “Reservation Engine Mgt.” OnCreateText
- OnBeforeSummEntryNo subscribes to Table “Reservation Entry” OnAfterSummEntryNo
- ReservationEntryOnUpdateSourceCost subscribes to Table “Reservation Entry” OnUpdateSourceCost
- OrderTrackingManagementOnSetSourceRecord subscribes to Codeunit “OrderTrackingManagement” OnSetSourceRecord
- OnInsertOrderTrackingEntry subscribes to Codeunit “OrderTrackingManagement” OnInsertOrderTrackingEntry
- OnDrillOrdersUpCaseElse subscribes to Codeunit “OrderTrackingManagement” OnDrillOrdersUpCaseElse
- OnDerivePlanningFilterOnSetRequisitionLineFilters subscribes to Codeunit “OrderTrackingManagement” OnDerivePlanningFilterOnSetRequisitionLineFilters
- OnDerivePlanningFilterOnSetToReservationFilter subscribes to Codeunit “OrderTrackingManagement” OnDerivePlanningFilterOnSetToReservationFilter
- OnTransferToTrackingEntrySourceTypeElseCase subscribes to Table “Inventory Profile” OnTransferToTrackingEntrySourceTypeElseCase
- OnAfterSetSupplyPriority subscribes to Codeunit “Inventory Profile Offsetting” OnAfterSetSupplyPriority
- OnSetSourceForProdOrderLine subscribes to Codeunit “Reservation Management” OnSetSourceForProdOrderLine
- OnGetDocumentReservationDeleteQstOnElseCase subscribes to Codeunit “Reservation Management” OnGetDocumentReservationDeleteQstOnElseCase
- OnGetDefaultDampenerPeriod subscribes to Codeunit “Reservation Management” OnGetDefaultDampenerPeriod
- OnSetReservationSourceFilterByRefOrderType subscribes to Codeunit “Req. Line-Reserve” OnSetReservationSourceFilterByRefOrderType
Procedures
CreateReservation(var ProdOrderLine: Record "Prod. Order Line"; Description: Text[100]; ExpectedReceiptDate: Date; Quantity: Decimal; QuantityBase: Decimal; ForReservationEntry: Record "Reservation Entry")CreateReservationSetFrom(TrackingSpecification: Record "Tracking Specification")Caption(ProdOrderLine: Record "Prod. Order Line"): TextFindReservEntry(ProdOrderLine: Record "Prod. Order Line"; var ReservationEntry: Record "Reservation Entry"): BooleanVerifyChange(var NewProdOrderLine: Record "Prod. Order Line"; var OldProdOrderLine: Record "Prod. Order Line")VerifyQuantity(var NewProdOrderLine: Record "Prod. Order Line"; var OldProdOrderLine: Record "Prod. Order Line")UpdatePlanningFlexibility(var ProdOrderLine: Record "Prod. Order Line")TransferPOLineToPOLine(var OldProdOrderLine: Record "Prod. Order Line"; var NewProdOrderLine: Record "Prod. Order Line"; TransferQty: Decimal; TransferAll: Boolean)TransferPOLineToItemJnlLine(var OldProdOrderLine: Record "Prod. Order Line"; var NewItemJournalLine: Record "Item Journal Line"; TransferQty: Decimal)DeleteLineConfirm(var ProdOrderLine: Record "Prod. Order Line"): BooleanDeleteLine(var ProdOrderLine: Record "Prod. Order Line")AssignForPlanning(var ProdOrderLine: Record "Prod. Order Line")Block(SetBlocked: Boolean)CallItemTracking(var ProdOrderLine: Record "Prod. Order Line")UpdateItemTrackingAfterPosting(ProdOrderLine: Record "Prod. Order Line")InitFromProdOrderLine(var TrackingSpecification: Record "Tracking Specification"; var ProdOrderLine: Record "Prod. Order Line")+ BC25TransferInventoryProfileFromProdOrderLine(var InventoryProfile: Record "Inventory Profile"; var ProdOrderLine: Record "Prod. Order Line"; var TrackingReservationEntry: Record "Reservation Entry")+ BC25TransferPlanningLineToPOLine(var OldRequisitionLine: Record "Requisition Line"; var NewProdOrderLine: Record "Prod. Order Line"; TransferQty: Decimal; TransferAll: Boolean)+ BC27
Plus 15 local procedures.
Triggers
OnRun
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 99000845 “Reservation Management” (14 calls:
AutoReserveProdOrderLine → GetAvailabilityFilter,AutoReserveProdOrderLine → InsertReservationEntries,AutoReserveProdOrderLine → SetQtyToReserveDownToTrackedQuantity, …) - Codeunit 99000830 “Create Reserv. Entry” (7 calls:
CreateReservation → CreateReservEntry,CreateReservation → CreateReservEntryFor,CreateReservation → CreateReservEntryFrom, …) - Codeunit 99000831 “Reservation Engine Mgt.” (2 calls:
TransferPOLineToItemJnlLine → InitRecordSet,TransferPOLineToItemJnlLine → NEXTRecord) - Codeunit 99000833 “Req. Line-Reserve” (2 calls:
TransferPlanningLineToPOLine → (object),TransferPlanningLineToPOLine → FindReservEntry) - Codeunit 99000841 “Item Ledger Entry-Reserve” (1 call:
OnDrillDownTotalQuantity → DrillDownTotalQuantity) - Codeunit 99000891 “Mfg. Item Tracking Mgt.” (1 call:
CallItemTracking → ShowItemTrackingForProdOrderComp) - Page 5406 “Prod. Order Line List” (1 call:
ShowSourceLines → (object)) - Page 99000813 “Planned Production Order” (1 call:
OnLookupDocument → (object)) - Page 99000829 “Firm Planned Prod. Order” (1 call:
OnLookupDocument → (object)) - Page 99000831 “Released Production Order” (1 call:
OnLookupDocument → (object)) - Page 99000912 “Simulated Production Order” (1 call:
OnLookupDocument → (object))
Called by
- Table 5406 “Prod. Order Line” (6 calls:
BlockDynamicTracking → Block,CheckEndingDate → AssignForPlanning,OnDelete → DeleteLine, …) - Codeunit 5407 “Prod. Order Status Management” (2 calls:
FlushProdOrderProcessProdOrderRtngLine → TransferPOLineToItemJnlLine,TransProdOrderLine → TransferPOLineToPOLine) - Codeunit 99000766 “Mfg. Whse. Activity Post” (2 calls:
PostOutputLine → TransferPOLineToItemJnlLine,PostOutputLine → UpdateItemTrackingAfterPosting) - Codeunit 99000822 “Mfg. Item Jnl.-Post Line” (2 calls:
PostOutput → TransferPOLineToItemJnlLine,UpdateProdOrderLine → AssignForPlanning) - Codeunit 20407 “Qlty. Manufactur. Integration” (1 call:
AttemptCreateInspectionReleased → FindReservEntry) - Codeunit 99000849 “Mfg. ReservCheckDateConfl” (1 call:
ProdOrderLineCheck → FindReservEntry) - Codeunit 99000869 “Mfg. Invt. Profile Offsetting” (1 call:
TransProdOrderToProfile → TransferInventoryProfileFromProdOrderLine) - Page 99000814 “Planned Prod. Order Lines” (1 call:
OnDeleteRecord → DeleteLineConfirm) - Page 99000830 “Firm Planned Prod. Order Lines” (1 call:
OnDeleteRecord → DeleteLineConfirm) - Page 99000832 “Released Prod. Order Lines” (1 call:
OnDeleteRecord → DeleteLineConfirm) - Page 99000913 “Simulated Prod. Order Lines” (1 call:
OnDeleteRecord → DeleteLineConfirm)
Recent changes
- 2026-10-02 #12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026 (main, BC30, obsoletion)
- 2026-08-16 #9067 Production Definition Wizard - Implementation (main, BC30, feature)
Deprecations
- procedure OnSetSourceForReservationOnBeforeUpdateReservation: Pending 27.0 (#if not CLEAN27), “This event is never raised.”
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: "codeunit", object_name: "Prod. Order Line-Reserve"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.