---
id: object/codeunit/99000845
type: object
title: Codeunit 99000845 "Reservation Management"
summary: Codeunit 99000845 "Reservation Management" in Base Application (Microsoft.Inventory.Tracking). 52 public procedures, 90 events. Present since at least BC23, still in BC30, changed in BC24-29.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "29"
  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: 01dc5a112766f50344065e8b398b9d7ff6e910d7c705c589865501d1671806c6
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Tracking/ReservationManagement.Codeunit.al
    title: src/Layers/W1/BaseApp/Inventory/Tracking/ReservationManagement.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 99000845
name: Reservation Management
namespace: Microsoft.Inventory.Tracking
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 184
  events: 90
  subscribers: 0
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 134
  calls: 10
  called_by: 71
  implements: 0
---

# Codeunit 99000845 "Reservation Management"

> Codeunit 99000845 "Reservation Management" in Base Application (Microsoft.Inventory.Tracking). 52 public procedures, 90 events. Present since at least BC23, still in BC30, changed in BC24-29.

Base Application · Microsoft.Inventory.Tracking · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Tracking/ReservationManagement.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Permissions | TableData "Item Ledger Entry" = rm, TableData "Reservation Entry" = rimd, TableData "Action Message Entry" = rimd |

## Events published

- `OnAfterAutoReserve(var ReservationEntry: Record "Reservation Entry"; var FullAutoReservation: Boolean)` (integration)
- `OnAfterAutoReserveOneLine(ReservSummEntryNo: Integer; var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; Description: Text[100]; AvailabilityDate: Date; Search: Text[1]; NextStep: Integer; CalcReservEntry: Record "Reservation Entry"; CalcReservEntry2: Record "Reservation Entry"; Positive: Boolean)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnAfterAutoReserveOneLine, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnAfterAutoReserveOneLine, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnAfterAutoReserveOneLine, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnAfterAutoReserveOneLine, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnAfterAutoReserveOneLine, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnAfterAutoReserveOneLine, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnAfterAutoReserveOneLine, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnAfterAutoReserveOneLine, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnAfterAutoReserveOneLine, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnAfterAutoReserveOneLine
- `OnAfterCalcReservation(var ReservEntry: Record "Reservation Entry"; var ItemLedgEntry: Record "Item Ledger Entry"; var ResSummEntryNo: Integer; var QtyThisLine: Decimal; var QtyThisLineBase: Decimal; TotalAvailQty: Decimal)` (integration)
- `OnAfterAutoReserveItemLedgEntry(var CalcItemLedgEntry: Record "Item Ledger Entry"; var RemainingQtyToReserveBase: Decimal)` (integration)
- `OnAfterGetAvailabilityFilter2(var ReservationEntry: Record "Reservation Entry"; AvailabilityDate: Date; SearchForSupply: Boolean; var Result: Text[80])` (integration)
- `OnAfterInsertReservationEntries(var TrackingSpecification: Record "Tracking Specification"; var CalcReservEntry: Record "Reservation Entry"; var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; var QtyThisLine: Decimal; var QtyThisLineBase: Decimal; var ReservationCreated: Boolean)` (integration)
- `OnBeforeAutoReserveOneLine(var IsHandled: Boolean; var AvailabilityDate: Date; var CalcReservEntry: Record "Reservation Entry")` (integration)
- `OnBeforeCalcIsAvailTrackedQtyInBin(ItemNo: Code[20]; BinCode: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; var Result: Boolean; var IsHandled: Boolean)` (integration)
- `OnBeforeDeleteDocumentReservation(TableID: Integer; DocType: Option; DocNo: Code[20]; var HideValidationDialog: Boolean)` (integration)
- `OnBeforeMakeRoomForReservation(var ReservationEntry: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
- `OnBeforeSetValueArray(EntryStatus: Option; var ValueArray: array[30] of Integer; var ArrayCounter: Integer; var IsHandled: Boolean; var CalcReservationEntry: Record "Reservation Entry")` (integration)
- `OnBeforeUpdateStatistics(var AvailabilityDate: Date)` (integration)
- `OnAfterInitFilter(var CalcReservEntry: Record "Reservation Entry"; EntryID: Integer)` (integration)
- `OnAfterSaveTrackingSpecification(var ReservationEntry: Record "Reservation Entry"; var TrackingSpecification: Record "Tracking Specification"; QtyReleased: Decimal)` (integration)
- `OnAfterSetReservSource(var SourceRecRef: RecordRef; var CalcReservEntry: Record "Reservation Entry"; var Direction: Enum "Transfer Direction")` (integration)
  - subscribers: [Codeunit 20404 "Qlty. Inspection - Create"](../codeunit/20404.md) HandleReservationManagementOnAfterSetReservSource
- `OnAfterSetValueArray(EntryStatus: Option Reservation,Tracking,Simulation; var ValueArray: array[30] of Integer; var ArrayCounter: Integer)` (integration)
- `OnAfterUpdateStatistics(var ReservEntrySummary: Record "Entry Summary"; AvailabilityDate: Date; var CalcSumValue: Decimal)` (integration)
- `OnAutoReserveItemLedgEntryOnFindFirstItemLedgEntry(CalcReservEntry: Record "Reservation Entry"; var CalcItemLedgEntry: Record "Item Ledger Entry"; var InvSearch: Text[1]; var IsHandled: Boolean; var IsFound: Boolean)` (integration)
- `OnAutoReserveOnBeforeStopReservation(var CalcReservEntry: Record "Reservation Entry"; var FullAutoReservation: Boolean; var AvailabilityDate: Date; var MaxQtyToReserve: Decimal; var MaxQtyToReserveBase: Decimal; var StopReservation: Boolean; SourceRecRef: RecordRef)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnAutoReserveOnBeforeStopReservation, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnAutoReserveOnBeforeStopReservation
- `OnAutoReserveOnBeforeSetValueArray(var ValueArrayNo: Integer; AvailabilityDate: Date)` (integration)
- `OnAutoReserveOneLineOnAfterUpdateSearchNextStep(var Item: Record Item; var Positive: Boolean; var Search: Text[1]; var NextStep: Integer; var InvSearch: Text[1]; InvNextStep: Integer; var RemainingQtyToReserve: Decimal)` (integration)
- `OnAutoReserveItemLedgEntryOnFindNextItemLedgEntry(CalcReservEntry: Record "Reservation Entry"; var CalcItemLedgEntry: Record "Item Ledger Entry"; var InvSearch: Text[1]; var IsHandled: Boolean; var IsFound: Boolean)` (integration)
- `OnAfterSetSourceForSalesLine(var CalcReservEntry: Record "Reservation Entry"; SalesLine: Record "Sales Line")` (integration)
- `OnBeforeAutoReserve(var CalcReservEntry: Record "Reservation Entry"; var FullAutoReservation: Boolean; var Description: Text[100]; var AvailabilityDate: Date; var MaxQtyToReserve: Decimal; var MaxQtyToReserveBase: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeAutoReserveItemLedgEntry(ReservSummEntryNo: Integer; var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; Description: Text[100]; AvailabilityDate: Date; var IsReserved: Boolean; CalcReservEntry: Record "Reservation Entry"; var CalcItemLedgerEntry: Record "Item Ledger Entry"; var ItemTrackingCode: Record "Item Tracking Code"; Positive: Boolean)` (integration)
- `OnBeforeCalcAvailAllocQuantities(Item: Record Item; WhseActivLine: Record "Warehouse Activity Line"; QtyOnOutboundBins: Decimal; QtyOnInvtMovement: Decimal; QtyOnSpecialBins: Decimal; var AvailQty: Decimal; var AllocQty: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeCreateReservation(var TrkgSpec: Record "Tracking Specification"; var ReservEntry: Record "Reservation Entry"; var ItemLedgEntry: Record "Item Ledger Entry")` (integration)
- `OnBeforeDeleteItemTrackingConfirm(var CalcReservEntry2: Record "Reservation Entry"; var IsHandled: Boolean; var Result: Boolean)` (integration)
- `OnBeforeDeleteReservEntries(var ReservationEntry: Record "Reservation Entry"; var DownToQuantity: Decimal; CalcReservEntry: Record "Reservation Entry"; var CalcReservEntry2: Record "Reservation Entry"; var IsHandled: Boolean; var ItemTrackingHandling: Option "None","Allow deletion",Match)` (integration)
- `OnBeforeFindUnfinishedSpecialOrderSalesNo(ItemLedgerEntry: Record "Item Ledger Entry"; var Result: Code[20]; var IsHandled: Boolean)` (integration)
- `OnBeforeLookupDocument(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceBatchName: Code[10]; SourceProdOrderLine: Integer; SourceRefNo: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeUpdateItemLedgEntryStats(var CalcReservEntry: Record "Reservation Entry")` (integration)
- `OnBeforeUpdateReservation(var SourceRecRef: RecordRef; var ReservEntry: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
- `OnCalculateRemainingQty(SourceRecRef: RecordRef; var ReservEntry: Record "Reservation Entry"; var RemainingQty: Decimal; var RemainingQtyBase: Decimal)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnCalculateRemainingQty, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnCalculateRemainingQty, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnCalculateRemainingQty, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnCalculateRemainingQty, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnCalculateRemainingQty, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnCalculateRemainingQty, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnCalculateRemainingQty, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnCalculateRemainingQty, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnCalculateRemainingQty, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnCalculateRemainingQty, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnCalculateRemainingQty, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnCalculateRemainingQty
- `OnCalcReservedQtyOnPickOnBeforeSetItemVariantCodeFilter(var Item: Record Item; var ReservationEntry: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
- `OnCalcReservedQtyOnPickOnBeforeSetWhseActivLineVariantCodeFilter(var WnseActivLine: Record "Warehouse Activity Line"; var ReservationEntry: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
- `OnClearSurplusOnAfterReservEntry2SetFilters(var ReservationEntry: Record "Reservation Entry"; ItemTrackingHandling: Option "None","Allow deletion",Match)` (integration)
- `OnClearSurplusOnBeforeReservEntry2FindSet(var ReservationEntry: Record "Reservation Entry")` (integration)
- `OnCreateReservation(SourceRecRef: RecordRef; TrackingSpecification: Record "Tracking Specification"; ForReservEntry: Record "Reservation Entry"; Description: Text[100]; ExpectedDate: Date; Quantity: Decimal; QuantityBase: Decimal)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnCreateReservation, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnCreateReservation, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnCreateReservation, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnCreateReservation, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnCreateReservation, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnCreateReservation, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnCreateReservation, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnCreateReservation, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnCreateReservation, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnCreateReservation, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnCreateReservation, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnCreateReservation, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnCreateReservation
- `OnGetDocumentReservationDeleteQstOnElseCase(RecRef: RecordRef; FldRef: FieldRef; DocType: Integer; var DocTypeCaption: Text; var IsHandled: Boolean; DocNo: Code[20]; var Question: Text)` (integration)
  - subscribers: [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnGetDocumentReservationDeleteQstOnElseCase, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnGetDocumentReservationDeleteQstOnElseCase
- `OnDeleteReservEntriesOnAfterReservEntrySetFilters(var ReservEntry: Record "Reservation Entry"; var ItemTrackingHandling: Option "None","Allow deletion",Match)` (integration)
- `OnDeleteDocumentReservationOnAfterReservEntry2Modify(var ReservEntry: Record "Reservation Entry")` (integration)
- `OnGetSourceRecordValue(var ReservEntry: Record "Reservation Entry"; SetAsCurrent: Boolean; ReturnOption: Option "Net Qty. (Base)","Gross Qty. (Base)"; var ReturnQty: Decimal; var SourceRecRef: RecordRef; var IsHandled: Boolean)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnGetSourceRecordValue, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnGetSourceRecordValue, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnGetSourceRecordValue, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnGetSourceRecordValue, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnGetSourceRecordValue, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnGetSourceRecordValue, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnGetSourceRecordValue, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnGetSourceRecordValue, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnGetSourceRecordValue, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnGetSourceRecordValue, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnGetSourceRecordValue, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnGetSourceRecordValue, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) OnGetSourceRecordValue, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnGetSourceRecordValue, [Codeunit 99000844 "Job Jnl. Line-Reserve"](../codeunit/99000844.md) OnGetSourceRecordValue
- `OnFilterReservFor(SourceRecRef: RecordRef; var ReservEntry: Record "Reservation Entry"; Direction: Integer; var CaptionText: Text)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnFilterReservFor, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnFilterReservFor, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnFilterReservFor, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnFilterReservFor, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnFilterReservFor, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnFilterReservFor, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnFilterReservFor, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnFilterReservFor, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnFilterReservFor, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnFilterReservFor, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnFilterReservFor, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) OnFilterReservFor, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnFilterReservFor
- `OnInsertReservationEntriesOnBeforeCreateReservation(var TrackingSpecification: Record "Tracking Specification"; var CalcReservEntry: Record "Reservation Entry")` (integration)
- `OnLookupDocument(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceBatchName: Code[10]; SourceProdOrderLine: Integer; SourceRefNo: Integer)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnLookupDocument, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnLookupDocument, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnLookupDocument, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnLookupDocument, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnLookupDocument, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnLookupDocument, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnLookupDocument, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnLookupDocument, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) MyProcedure, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnLookupDocument, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnLookupDocument, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnLookupDocument, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) OnLookupDocument, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnLookupDocument
- `OnLookupLine(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceBatchName: Code[10]; SourceProdOrderLine: Integer; SourceRefNo: Integer)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnLookupLine, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnLookupLine, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnLookupLine, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnLookupLine, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnLookupLine, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnLookupLine, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnLookupLine, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnLookupLine, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnLookupLine, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnLookupLine, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnLookupLine, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) OnLookupLine, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnLookupLine
- `OnSetItemJnlLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; ItemJnlLine: Record "Item Journal Line")` (integration)
- `OnSetItemLedgEntryOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; ItemLedgerEntry: Record "Item Ledger Entry")` (integration)
- `OnSetJobPlanningLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; JobPlanningLine: Record Microsoft.Projects.Project.Planning."Job Planning Line")` (integration)
- `OnSetJobJnlLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; JobJnlLine: Record Microsoft.Projects.Project.Journal."Job Journal Line")` (integration)
- `OnSetSalesLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; SalesLine: Record "Sales Line")` (integration)
- `OnSetPlanningCompOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; PlanningComponent: Record "Planning Component")` (integration)
- `OnSetPurchLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; PurchLine: Record "Purchase Line")` (integration)
- `OnSetReservSource(SourceRecRef: RecordRef; var ReservEntry: Record "Reservation Entry"; Direction: Enum "Transfer Direction"; var RefOrderType: Enum "Requisition Ref. Order Type"; var PlanningLineOrigin: Enum "Planning Line Origin Type"; Positive: Boolean)` (integration)
  - subscribers: [Codeunit 20541 "Subc. Transfer WIP Posting"](../codeunit/20541.md) HandleWipTransferOnSetReservSource
- `OnSetReqLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; ReqLine: Record "Requisition Line")` (integration)
- `OnSetTransLineOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; TransferLine: Record "Transfer Line")` (integration)
- `OnUpdateItemLedgEntryStatsOnBeforePrepareTempEntrySummary(CalcReservationEntry: Record "Reservation Entry"; var TempEntrySummary: Record "Entry Summary")` (integration)
- `OnUpdateItemLedgEntryStatsUpdateTotals(CalcReservEntry: Record "Reservation Entry"; var CalcItemLedgEntry: Record "Item Ledger Entry"; TotalAvailQty: Decimal; QtyOnOutBound: Decimal; var CalcSumValue: Decimal; var TempEntrySummary: Record "Entry Summary"; var IsHandled: Boolean)` (integration)
- `OnUpdateItemTrackingLineStatsOnBeforeReservEntrySummaryInsert(var ReservEntrySummary: Record "Entry Summary"; ReservationEntry: Record "Reservation Entry")` (integration)
- `OnUpdateItemTrackingLineStatsOnAfterReservEntrySetFilters(var ReservEntry: Record "Reservation Entry"; CalcReservEntry: Record "Reservation Entry")` (integration)
- `OnUpdateStatistics(CalcReservEntry: Record "Reservation Entry"; var ReservSummEntry: Record "Entry Summary"; AvailabilityDate: Date; Positive: Boolean; var TotalQuantity: Decimal; HandleItemTracking2: Boolean; var QtyOnOutBound: Decimal; ReservationSummaryType: Integer)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnUpdateStatistics, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnUpdateStatistics, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnUpdateStatistics, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnUpdateStatistics, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnUpdateStatistics, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnUpdateStatistics, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnUpdateStatistics, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnUpdateStatistics, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnUpdateStatistics, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnUpdateStatistics
- `OnAfterCalcReservedQtyOnPick(var Item: Record Item; var WhseActivLine: Record "Warehouse Activity Line"; var CalcReservEntry: Record "Reservation Entry"; var AvailQty: Decimal; var AllocQty: Decimal)` (integration)
- `OnBeforeCallCalcReservedQtyOnPick(CalcReservEntry: Record "Reservation Entry"; Positive: Boolean; var ShouldCalsReservedQtyOnPick: Boolean)` (integration)
- `OnBeforeCheckQuantityIsCompletelyReleased(ItemTrackingHandling: Option "None","Allow deletion",Match; QtyToRelease: Decimal; DeleteAll: Boolean; CurrentItemTrackingSetup: Record "Item Tracking Setup"; ReservEntry: Record "Reservation Entry"; var IsHandled: boolean)` (integration)
- `OnBeforeReservedQuantityAssign(ReservationEntry: Record "Reservation Entry"; var ReservedQuantity: Decimal; SignFactor: Integer; var IsHandled: Boolean)` (integration)
- `OnBeforeDeleteReservEntries2(CalcReservEntry: Record "Reservation Entry"; var CalcReservEntry2: Record "Reservation Entry"; var IsHandled: Boolean; var Item: record Item; var ItemTrackingCode: Record "Item Tracking Code"; var SKU: Record "Stockkeeping Unit"; var Positive: Boolean; var Location: Record Location; var TotalAvailQty: Decimal; var QtyAllocInWhse: Decimal; var QtyReservedOnPickShip: Decimal)` (integration)
- `OnDeleteReservEntriesOnReservationOnAfterCalcReservEntry4Get(var CalcReservEntry4: Record "Reservation Entry"; var ReservEntry: Record "Reservation Entry")` (integration)
- `OnDeleteReservEntriesOnBeforeReservEntryTestField(var ReservEntry: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
- `OnAfterFinishedAutoReserveOneLine(ReservSummEntryNo: Integer; var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; Description: Text[100]; AvailabilityDate: Date)` (integration)
- `OnDeleteReservEntriesOnAfterItemTrackingHandling(var ReservationEntry: Record "Reservation Entry"; var ItemTrackingHandling: Option "None","Allow deletion",Match)` (integration)
- `OnAutoTrackOnCheckSourceType(var ReservationEntry: Record "Reservation Entry"; var ShouldExit: Boolean)` (integration)
  - subscribers: [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnAutoTrackOnCheckSourceType, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnAutoTrackOnCheckSourceType, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnAutoTrackOnCheckSourceType, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnAutoTrackOnCheckSourceType, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnAutoTrackOnCheckSourceType
- `OnAutoTrackOnAfterGetItemSetup(var ReservationEntry: Record "Reservation Entry"; var Item: Record Item)` (integration)
- `OnTestItemType(SourceRecRef: RecordRef)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnTestItemType, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnTestItemType, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnTestItemType, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnTestItemType, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnTestItemType
- `OnIssueActionMessageOnSetSourceTypeFromSKU(var ActionMessageEntry: Record "Action Message Entry"; SKU: Record "Stockkeeping Unit")` (integration)
  - subscribers: [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnIssueActionMessageOnSetSourceTypeFromSKU, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnIssueActionMessageOnSetSourceTypeFromSKU, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnIssueActionMessageOnSetSourceTypeFromSKU, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnIssueActionMessageOnSetSourceTypeFromSKU
- `OnMakeConnectionOnBeforeCreateReservEntry(var FromReservationEntry: Record "Reservation Entry"; var ToReservationEntry: Record "Reservation Entry"; var Quantity: Decimal; ReservationStatus: Enum "Reservation Status"; var AvailabilityDate: Date; ReservationBinding: Enum "Reservation Binding"; var FromTrackingSpecification: Record "Tracking Specification"; var Sign: Integer; var IsHandled: Boolean)` (integration)
- `OnDeleteReservEntriesOnAfterModifyReservEntryReservationStatusSurplus(var ReservationEntry: Record "Reservation Entry"; QtyToRelease: Decimal)` (integration)
- `OnAfterSetValueArrayForReservation(var ValueArray: array[30] of Integer; var ArrayCounter: Integer)` (integration)
  - subscribers: [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnAfterSetValueArrayForReservation
- `OnAfterSetValueArrayForOrderTracking(var ValueArray: array[30] of Integer; var ArrayCounter: Integer)` (integration)
  - subscribers: [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnAfterSetValueArrayForOrderTracking
- `OnSetSourceForAssemblyHeader(SourceRecRef: RecordRef; var CalcReservEntry: Record "Reservation Entry"; var EntryIsPositive: Boolean)` (integration)
  - subscribers: [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnSetSourceForAssemblyHeader
- `OnSetSourceForAssemblyLine(SourceRecRef: RecordRef; var CalcReservEntry: Record "Reservation Entry"; var EntryIsPositive: Boolean)` (integration)
  - subscribers: [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnSetSourceForAssemblyLine
- `OnSetSourceForProdOrderLine(SourceRecRef: RecordRef; var CalcReservEntry: Record "Reservation Entry"; var EntryIsPositive: Boolean)` (integration)
  - subscribers: [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnSetSourceForProdOrderLine
- `OnSetSourceForProdOrderComp(SourceRecRef: RecordRef; var CalcReservEntry: Record "Reservation Entry"; var EntryIsPositive: Boolean)` (integration)
  - subscribers: [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnSetSourceForProdOrderComp
- `OnSetSourceForServiceLine(SourceRecRef: RecordRef; var CalcReservEntry: Record "Reservation Entry"; var EntryIsPositive: Boolean)` (integration)
  - subscribers: [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnSetSourceForServiceLine
- `OnGetDefaultDampenerPeriod(var DampenerPeriod: DateFormula)` (integration)
  - subscribers: [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnGetDefaultDampenerPeriod
- `OnAutoReserveItemLedgEntryOnAfterCalcReservQty(CalcItemLedgerEntry: Record "Item Ledger Entry"; QtyThisLine: Decimal; QtyThisLineBase: Decimal)` (integration)
- `OnUpdateReservationOnAfterSetPointerFilter(var CalcReservationEntry: Record "Reservation Entry")` (integration)
- `OnBeforeAutoReserveToShip(var IsHandled: Boolean; var FullAutoReservation: Boolean; Description: Text[100]; AvailabilityDate: Date; QuantityToShip: Decimal; QuantityToShipBase: Decimal)` (integration)
- `OnAfterAutoReserveToShip(var FullAutoReservation: Boolean; Description: Text[100]; AvailabilityDate: Date; QuantityToShip: Decimal; QuantityToShipBase: Decimal)` (integration)
- `OnAfterGetItemSetup(var ReservationEntry: Record "Reservation Entry"; var Item: Record Item)` (integration)

## Procedures

- `IsPositive(): Boolean`
- `FormatQty(Quantity: Decimal): Decimal`
- `SetCalcReservEntry(TrackingSpecification: Record "Tracking Specification"; var ReservEntry: Record "Reservation Entry")`
- `SetOrderTrackingSurplusEntries(var TempReservEntry: Record "Reservation Entry" temporary)`
- `SetReservSource(NewRecordVar: Variant)`
- `SetReservSource(NewRecordVar: Variant; Direction: Enum "Transfer Direction")`
- `SetReservSource(NewSourceRecRef: RecordRef)`
- `SetReservSource(NewSourceRecRef: RecordRef; Direction: Enum "Transfer Direction")`
- `SetExternalDocumentResEntry(ReservEntry: Record "Reservation Entry"; UpdReservation: Boolean)`
- `UpdateReservation(EntryIsPositive: Boolean)`
- `UpdateStatistics(var TempEntrySummary: Record "Entry Summary" temporary; AvailabilityDate: Date; HandleItemTracking2: Boolean)`
- `AutoReserve(var FullAutoReservation: Boolean; Description: Text[100]; AvailabilityDate: Date; MaxQtyToReserve: Decimal; MaxQtyToReserveBase: Decimal)`
- `AutoReserveOneLine(ReservSummEntryNo: Integer; var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; Description: Text[100]; AvailabilityDate: Date)`
- `InsertReservationEntries(var RemainingQtyToReserve: Decimal; var RemainingQtyToReserveBase: Decimal; ReservQty: Decimal; Description: Text[100]; ExpectedDate: Date; QtyThisLine: Decimal; QtyThisLineBase: Decimal; TrackingSpecification: Record "Tracking Specification"): Boolean`
- `CreateReservation(Description: Text[100]; ExpectedDate: Date; Quantity: Decimal; QuantityBase: Decimal; TrackingSpecification: Record "Tracking Specification")`
- `DeleteReservEntries(DeleteAll: Boolean; DownToQuantity: Decimal)`
- `DeleteReservEntries(DeleteAll: Boolean; DownToQuantity: Decimal; var ReservEntry: Record "Reservation Entry")`
- `CalculateRemainingQty(var RemainingQty: Decimal; var RemainingQtyBase: Decimal)`
- `GetAvailabilityFilter(AvailabilityDate: Date): Text[80]`
- `CopySign(FromValue: Decimal; var ToValue: Decimal)`
- `ClearSurplus()`
- `AutoTrack(TotalQty: Decimal)`
- `MatchSurplus(var ReservEntry: Record "Reservation Entry"; var SurplusEntry: Record "Reservation Entry"; QtyToTrack: Decimal; SearchForSupply: Boolean; var AvailabilityDate: Date; TrackingPolicy: Enum "Order Tracking Policy"): Decimal`
- `ModifyUnitOfMeasure()`
- `MakeRoomForReservation(var ReservEntry: Record "Reservation Entry")`
- `CollectTrackingSpecification(var TargetTrackingSpecification: Record "Tracking Specification" temporary): Boolean`
- `SourceQuantity(var ReservEntry: Record "Reservation Entry"; SetAsCurrent: Boolean): Decimal`
- `FilterReservFor(SourceRecRef: RecordRef; var ReservEntry: Record "Reservation Entry"; Direction: Enum "Transfer Direction"): Text`
- `GetSourceRecordValue(var ReservEntry: Record "Reservation Entry"; SetAsCurrent: Boolean; ReturnOption: Option "Net Qty. (Base)","Gross Qty. (Base)"): Decimal`
- `MarkReservConnection(var ReservEntry: Record "Reservation Entry"; TargetReservEntry: Record "Reservation Entry"): Decimal`
- `IssueActionMessage(var SurplusEntry: Record "Reservation Entry"; UseGlobalSettings: Boolean; AllDeletedEntry: Record "Reservation Entry")`
- `ModifyActionMessage(RelatedToEntryNo: Integer; Quantity: Decimal; DoDelete: Boolean)`
- `FindDate(var ReservEntry: Record "Reservation Entry"; Which: Option "Earliest Shipment","Latest Receipt"; ReturnRecord: Boolean): Date`
- `ClearActionMessageReferences()`
- `SetItemTrackingHandling(Mode: Option "None","Allow deletion",Match)`
- `DeleteItemTrackingConfirm(): Boolean`
- `SetTrackingFromReservEntry(ReservEntry: Record "Reservation Entry")`
- `SetTrackingFromWhseActivityLine(WhseActivityLine: Record "Warehouse Activity Line")`
- `SetMatchFilter(var ReservEntry: Record "Reservation Entry"; var FilterReservEntry: Record "Reservation Entry"; SearchForSupply: Boolean; AvailabilityDate: Date)`
- `LookupLine(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceBatchName: Code[10]; SourceProdOrderLine: Integer; SourceRefNo: Integer)`
- `LookupDocument(SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceBatchName: Code[10]; SourceProdOrderLine: Integer; SourceRefNo: Integer)`
- `CalcIsAvailTrackedQtyInBin(ItemNo: Code[20]; BinCode: Code[20]; LocationCode: Code[10]; VariantCode: Code[10]; SourceType: Integer; SourceSubtype: Integer; SourceID: Code[20]; SourceBatchName: Code[10]; SourceProdOrderLine: Integer; SourceRefNo: Integer): Boolean`
- `AutoReserveToShip(var FullAutoReservation: Boolean; Description: Text[100]; AvailabilityDate: Date; QuantityToShip: Decimal; QuantityToShipBase: Decimal)`
- `ReservEntryPositiveTypeIsItemLedgerEntry(ReservationEntryNo: Integer): Boolean`
- `DeleteDocumentReservation(TableID: Integer; DocType: Option; DocNo: Code[20]; HideValidationDialog: Boolean)`
- `SetSkipUntrackedSurplus(NewSkipUntrackedSurplus: Boolean)`
- `SetQtyToReserveDownToTrackedQuantity(ReservEntry: Record "Reservation Entry"; RowID: Text[250]; var QtyThisLine: Decimal; var QtyThisLineBase: Decimal)`
- `SetReservedQtyDownToTrackedQuantity(ReservEntry: Record "Reservation Entry"; RowID: Text[250]; var ReserveQty: Decimal)`
- `FindUnfinishedSpecialOrderSalesNo(ItemLedgerEntry: Record "Item Ledger Entry"): Code[20]`
- `GetMinAbs(Value1: Decimal; Value2: Decimal): Decimal`
- `GetSign(Value: Decimal): Integer`
- `TestItemType(SourceRecRef: RecordRef)`

Plus 42 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 99000830 "Create Reserv. Entry"](../codeunit/99000830.md) (23 calls: `AutoTrack → GetLastEntry`, `AutoTrack → SignFactor`, `CalcDownToQtySyncingToAssembly → SignFactor`, …)
- [Codeunit 7314 "Warehouse Availability Mgt."](../codeunit/7314.md) (6 calls: `CalcCurrLineReservQtyOnPicksShips → CalcRegisteredAndOutstandingPickQty`, `CalcReservedQtyOnPick → CalcQtyOnOutboundBins`, `CalcReservedQtyOnPick → CalcQtyOnSpecialBinsOnLocation`, …)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (3 calls: `AutoReserveItemLedgEntry → QtyRndPrecision`, `InsertReservationEntries → QtyRndPrecision`, `SetQtyToReserveDownToTrackedQuantity → CalcQtyFromBase`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (3 calls: `CalcIsAvailTrackedQtyInBin → GetWhseItemTrkgSetup`, `SetQtyToReserveDownToTrackedQuantity → SumUpItemTracking`, `SetReservedQtyDownToTrackedQuantity → SumUpItemTracking`)
- [Codeunit 6502 "Late Binding Management"](../codeunit/6502.md) (3 calls: `AutoReserveItemLedgEntry → ReleaseForReservation`, `SetOrderTrackingSurplusEntries → SetOrderTrackingSurplusEntries`, `UpdateItemLedgEntryStats → NonspecificReservedQty`)
- [Codeunit 27 "Confirm Management"](../codeunit/27.md) (2 calls: `DeleteDocumentReservation → GetResponseOrDefault`, `DeleteItemTrackingConfirm → GetResponseOrDefault`)
- [Codeunit 7312 "Create Pick"](../codeunit/7312.md) (2 calls: `AutoReserveItemLedgEntry → CheckOutBound`, `UpdateItemLedgEntryStats → CheckOutBound`)
- [Codeunit 99000831 "Reservation Engine Mgt."](../codeunit/99000831.md) (2 calls: `ModifyUnitOfMeasure → ModifyUnitOfMeasure`, `UpdateDating → ModifyActionMessageDating`)
- [Codeunit 99000778 "OrderTrackingManagement"](../codeunit/99000778.md) (1 call: `DeleteReservEntries → DerivePlanningFilter`)
- [Codeunit 99000855 "Planning-Get Parameters"](../codeunit/99000855.md) (1 call: `GetItemSetup → AtSKU`)

## Called by

- [Codeunit 99000815 "Reservation-Check Date Confl."](../codeunit/99000815.md) (24 calls: `InvtDocLineCheck → AutoTrack`, `InvtDocLineCheck → ClearSurplus`, `InvtDocLineCheck → SetReservSource`, …)
- [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) (22 calls: `AutoReserveProdOrderComp → GetAvailabilityFilter`, `AutoReserveProdOrderComp → InsertReservationEntries`, `AutoReserveProdOrderComp → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) (20 calls: `AutoReserveServLine → GetAvailabilityFilter`, `AutoReserveServLine → InsertReservationEntries`, `AutoReserveServLine → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) (18 calls: `AutoReserveAssemblyLine → GetAvailabilityFilter`, `AutoReserveAssemblyLine → InsertReservationEntries`, `AutoReserveAssemblyLine → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) (18 calls: `AutoReservePurchLine → GetAvailabilityFilter`, `AutoReservePurchLine → InsertReservationEntries`, `AutoReservePurchLine → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) (18 calls: `AutoReserveTransLine → GetAvailabilityFilter`, `AutoReserveTransLine → InsertReservationEntries`, `AutoReserveTransLine → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) (17 calls: `AutoReserveJobPlanningLine → GetAvailabilityFilter`, `AutoReserveJobPlanningLine → InsertReservationEntries`, `DeleteLineInternal → DeleteItemTrackingConfirm`, …)
- [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) (17 calls: `AutoReserveAssemblyHeader → GetAvailabilityFilter`, `AutoReserveAssemblyHeader → InsertReservationEntries`, `AutoReserveAssemblyHeader → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) (17 calls: `AutoReserveSalesLine → GetAvailabilityFilter`, `AutoReserveSalesLine → InsertReservationEntries`, `AutoReserveSalesLine → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) (16 calls: `AutoInvtDocLineReserve → CopySign`, `AutoInvtDocLineReserve → CreateReservation`, `AutoInvtDocLineReserve → GetAvailabilityFilter`, …)
- [Codeunit 99000831 "Reservation Engine Mgt."](../codeunit/99000831.md) (14 calls: `CloseReservEntry → AutoTrack`, `CloseReservEntry → IssueActionMessage`, `CloseReservEntry → MatchSurplus`, …)
- [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) (14 calls: `AutoReserveProdOrderLine → GetAvailabilityFilter`, `AutoReserveProdOrderLine → InsertReservationEntries`, `AutoReserveProdOrderLine → SetQtyToReserveDownToTrackedQuantity`, …)
- [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) (12 calls: `DeleteLine → DeleteReservEntries`, `DeleteLine → SetItemTrackingHandling`, `DeleteLine → SetReservSource`, …)
- [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) (12 calls: `DeleteLine → DeleteReservEntries`, `DeleteLine → SetItemTrackingHandling`, `DeleteLine → SetReservSource`, …)
- [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) (12 calls: `DeleteLine → DeleteReservEntries`, `DeleteLine → SetItemTrackingHandling`, `DeleteLine → SetReservSource`, …)
- [Codeunit 99000844 "Job Jnl. Line-Reserve"](../codeunit/99000844.md) (12 calls: `DeleteLine → DeleteReservEntries`, `DeleteLine → SetItemTrackingHandling`, `DeleteLine → SetReservSource`, …)
- [Codeunit 99000813 "Carry Out Action"](../codeunit/99000813.md) (8 calls: `PurchOrderChgAndReshedule → AutoTrack`, `PurchOrderChgAndReshedule → ClearSurplus`, `PurchOrderChgAndReshedule → DeleteReservEntries`, …)
- [Codeunit 7307 "Whse.-Activity-Register"](../codeunit/7307.md) (7 calls: `AutoReserveForSalesLine → AutoReserve`, `AutoReserveForSalesLine → SetReservSource`, `AutoReserveForSalesLine → SetTrackingFromWhseActivityLine`, …)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (6 calls: `CopyItemLedgEntryTrkgToPurchLn → DeleteReservEntries`, `CopyItemLedgEntryTrkgToPurchLn → SetReservSource`, `CopyItemLedgEntryTrkgToSalesLn → DeleteReservEntries`, …)
- [Codeunit 937 "Asm. ReservCheckDateConfl"](../codeunit/937.md) (6 calls: `AssemblyHeaderCheck → AutoTrack`, `AssemblyHeaderCheck → ClearSurplus`, `AssemblyHeaderCheck → SetReservSource`, …)
- [Codeunit 945 "Asm. Carry Out Action"](../codeunit/945.md) (6 calls: `AsmOrderChgAndReshedule → AutoTrack`, `AsmOrderChgAndReshedule → ClearSurplus`, `AsmOrderChgAndReshedule → DeleteReservEntries`, …)
- [Codeunit 99000849 "Mfg. ReservCheckDateConfl"](../codeunit/99000849.md) (6 calls: `ProdOrderComponentCheck → AutoTrack`, `ProdOrderComponentCheck → ClearSurplus`, `ProdOrderComponentCheck → SetReservSource`, …)
- [Page 498 "Reservation"](../page/498.md) (6 calls: `AutoReserve → AutoReserve`, `DrillDownTotalQuantity → IsPositive`, `FilterReservEntry → IsPositive`, …)
- [Page 504 "Available - Item Ledg. Entries"](../page/504.md) (6 calls: `CreateReservation → CreateReservation`, `CreateReservation → FindUnfinishedSpecialOrderSalesNo`, `GetReservedQtyInLine → MarkReservConnection`, …)
- [Codeunit 22 "Item Jnl.-Post Line"](../codeunit/22.md) (5 calls: `AutoTrack → AutoTrack`, `AutoTrack → ClearSurplus`, `AutoTrack → DeleteReservEntries`, …)
- [Codeunit 5407 "Prod. Order Status Management"](../codeunit/5407.md) (5 calls: `ChangeProdOrderStatus → DeleteDocumentReservation`, `TransProdOrderComp → DeleteReservEntries`, `TransProdOrderComp → SetReservSource`, …)
- [Page 1032 "Available - Job Planning Lines"](../page/1032.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 499 "Available - Sales Lines"](../page/499.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 500 "Available - Requisition Lines"](../page/500.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 501 "Available - Purchase Lines"](../page/501.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `OnOpenPage → GetAvailabilityFilter`, …)
- [Page 5999 "Available - Service Lines"](../page/5999.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 925 "Available - Assembly Headers"](../page/925.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 926 "Available - Assembly Lines"](../page/926.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 99000897 "Available - Prod. Order Lines"](../page/99000897.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 99000898 "Available - Prod. Order Comp."](../page/99000898.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetFilters → GetAvailabilityFilter`, …)
- [Page 99000900 "Avail. - Planning Components"](../page/99000900.md) (5 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `OnOpenPage → GetAvailabilityFilter`, …)
- [Codeunit 99000872 "Sales Availability Mgt."](../codeunit/99000872.md) (4 calls: `OnCreateReservationsOnBindToTracking → AutoReserve`, `OnCreateReservationsOnBindToTracking → SetReservSource`, `OnUpdateSourceLine → AutoReserve`, …)
- [Page 6873 "Available - Invt. Doc. Lines"](../page/6873.md) (4 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `OnOpenPage → GetAvailabilityFilter`, …)
- [Page 99000896 "Available - Transfer Lines"](../page/99000896.md) (4 calls: `CreateReservation → CreateReservation`, `GetReservedQtyInLine → MarkReservConnection`, `SetSourceTableFilters → GetAvailabilityFilter`, …)
- [Table 5407 "Prod. Order Component"](../table/5407.md) (4 calls: `AutoReserve → AutoReserve`, `AutoReserve → SetReservSource`, `ReserveFromInventory → AutoReserveToShip`, …)
- [Table 901 "Assembly Line"](../table/901.md) (4 calls: `AutoReserve → AutoReserve`, `AutoReserve → SetReservSource`, `ReserveFromInventory → AutoReserveToShip`, …)
- [Codeunit 1019 "Job-Explode BOM"](../codeunit/1019.md) (3 calls: `DeleteReservEntries → DeleteReservEntries`, `DeleteReservEntries → SetItemTrackingHandling`, `DeleteReservEntries → SetReservSource`)
- [Codeunit 5705 "TransferOrder-Post Receipt"](../codeunit/5705.md) (3 calls: `RunWithCheck → DeleteReservEntries`, `RunWithCheck → SetItemTrackingHandling`, `RunWithCheck → SetReservSource`)
- [Codeunit 63 "Sales-Explode BOM"](../codeunit/63.md) (3 calls: `OnRun → DeleteReservEntries`, `OnRun → SetItemTrackingHandling`, `OnRun → SetReservSource`)
- [Codeunit 67 "Transfer-Explode BOM"](../codeunit/67.md) (3 calls: `OnRun → DeleteReservEntries`, `OnRun → SetItemTrackingHandling`, `OnRun → SetReservSource`)
- [Codeunit 939 "Asm. Whse.-Activity-Register"](../codeunit/939.md) (3 calls: `AutoReserveForAssemblyLine → AutoReserve`, `AutoReserveForAssemblyLine → SetReservSource`, `AutoReserveForAssemblyLine → SetTrackingFromWhseActivityLine`)
- [Codeunit 99000822 "Mfg. Item Jnl.-Post Line"](../codeunit/99000822.md) (3 calls: `UpdateProdOrderLine → AutoTrack`, `UpdateProdOrderLine → ClearSurplus`, `UpdateProdOrderLine → SetReservSource`)
- [Codeunit 5431 "Calc. Item Plan - Plan Wksh."](../codeunit/5431.md) (2 calls: `Finalize → AutoTrack`, `Finalize → SetReservSource`)
- [Codeunit 6452 "Serv. Availability Mgt."](../codeunit/6452.md) (2 calls: `OnUpdateSourceLine → AutoReserve`, `OnUpdateSourceLine → SetReservSource`)
- [Codeunit 6502 "Late Binding Management"](../codeunit/6502.md) (2 calls: `ReserveItemTrackingLine → AutoReserveOneLine`, `ReserveItemTrackingLine → SetCalcReservEntry`)
- and 21 more: data/code/graph/29/calls.json

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-29

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