---
id: object/page/498
type: object
title: Page 498 "Reservation"
summary: Page 498 "Reservation" in Base Application (Microsoft.Inventory.Tracking). 11 public procedures, 18 events. Present since at least BC23, still in BC30, changed in BC24-25, BC27-28.
tier: official
language: en
tags:
  - page
  - base application
versions:
  introduced: null
  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: a00778619cc7b89a0f57218533b2461d13dbe894f78ef0a857ae7a04b4c1b743
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Inventory/Tracking/Reservation.Page.al
    title: src/Layers/W1/BaseApp/Inventory/Tracking/Reservation.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 498
name: Reservation
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"
  - "27"
  - "28"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 33
  events: 18
  subscribers: 0
  controls: 20
  actions: 5
relations:
  out: 1
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 66
  calls: 6
  called_by: 0
  implements: 0
---

# Page 498 "Reservation"

> Page 498 "Reservation" in Base Application (Microsoft.Inventory.Tracking). 11 public procedures, 18 events. Present since at least BC23, still in BC30, changed in BC24-25, BC27-28.

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

## Properties

| Property | Value |
|---|---|
| Caption | Reservation |
| SourceTable | Entry Summary |
| PageType | Worksheet |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| General | Item No. | `ReservEntry."Item No."` | Specifies the item number of the item that the reservation is for. |
|  | Shipment Date | `ReservEntry."Shipment Date"` | Specifies the shipment date, expected receipt date, or posting date for the reservation. |
|  | Description | `ReservEntry.Description` | Specifies a description of the reservation in the window. |
|  | Quantity to Reserve | `QtyToReserveBase` | Specifies the total quantity of the item that must be reserved for the line. |
|  | Reserved Quantity | `QtyReservedBase` | Specifies the quantity of the item reserved for the line. |
|  | Unreserved Quantity | `QtyToReserveBase - QtyReservedBase` | Specifies the difference between the Quantity to Reserve field and the Reserved Quantity field. |
| Control1 | Summary Type | [Summary Type](../table/338.md#fields) | Specifies which type of line or entry is summarized in the entry summary. <small>from the table field</small> |
|  | Total Quantity | `ReservMgt.FormatQty(Rec."Total Quantity")` | Specifies the total quantity of the item in inventory. |
|  | Total Reserved Quantity | `ReservMgt.FormatQty(Rec."Total Reserved Quantity")` | Specifies the total quantity of the item that is reserved on documents or entries. |
|  | Qty. Allocated in Warehouse | `ReservMgt.FormatQty(Rec."Qty. Alloc. in Warehouse")` | Specifies the quantity of the item that is allocated to activities in the warehouse. |
|  | Reserved Qty. on Picks and Shipments | `ReservMgt.FormatQty(Rec."Res. Qty. on Picks & Shipmts.")` | Specifies the sum of the overlap quantities. |
|  | Total Available Quantity | `ReservMgt.FormatQty(Rec."Total Available Quantity")` | Specifies the quantity that is available for the user to reserve from entries of the type. |
|  | Non-specific Reserved Qty. | [Non-specific Reserved Qty.](../table/338.md#fields) | Specifies the quantity of the item that is reserved but does not have specific item tracking numbers in the reservation. <small>from the table field</small> |
|  | Current Reserved Quantity | `ReservMgt.FormatQty(ReservedThisLine(Rec))` | Specifies how many items in the entry are reserved for the line opened in the Reservation window. |
| Content | NoteText | label | — |
| Filters | Variant Code | `ReservEntry."Variant Code"` | Specifies the variant code for the reservation. |
|  | Location Code | `ReservEntry."Location Code"` | Specifies the location code for the reservation. |
|  | Serial No. | `ReservEntry."Serial No."` | Specifies the serial number for an item in the reservation. |
|  | Lot No. | `ReservEntry."Lot No."` | Specifies the lot number for the reservation. |
|  | Package No. | `ReservEntry."Package No."` | Specifies the package number for the reservation. |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Line | Available to Reserve | View all the quantities on documents or in inventory that are available to reserve for the item on the line. The two actions, Auto Reserve and Reserve from Current Line make reservations from the quantities in this view. |  |
|  | Reservation Entries | View all reservations that are made for the item, either manually or automatically. |  |
| Functions | Auto Reserve | Automatically reserve the first available quantity for the item on the line. |  |
|  | Reserve from Current Line | Open the view of quantities available to reserve and select which to reserve. |  |
|  | Cancel Reservation from Current Line | Cancel the selected reservation entry. |  |

## Events published

- `OnAfterAutoReserve(ReservEntry: Record "Reservation Entry")` (integration)
- `OnAfterCancelReservationCurrentLine(ReservEntry: Record "Reservation Entry")` (integration)
- `OnAfterGetQtyPerUOMFromSource(ReservationEntry: Record "Reservation Entry"; var QtyPerUOM: Decimal)` (integration)
- `OnAfterRelatesToSummEntry(FromEntrySummary: Record "Entry Summary"; var FilterReservEntry: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) ReservationOnRelatesToEntrySummary, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnRelatesToEntrySummary, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) ReservationOnRelatesToEntrySummary, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnRelatesToEntrySummary, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnRelatesToEntrySummary, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) ReservationOnRelatesToEntrySummary, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) OnRelatesToEntrySummary, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) ReservationOnRelatesToEntrySummary
- `OnAfterReserveFromCurrentLine(ReservEntry: Record "Reservation Entry")` (integration)
- `OnAfterUpdateReservFrom(var EntrySummary: Record "Entry Summary")` (integration)
- `OnBeforeAutoReserve(ReservEntry: Record "Reservation Entry"; var FullAutoReservation: Boolean; QtyToReserve: Decimal; QtyReserved: Decimal; QtyToReserveBase: Decimal; QtyReservedBase: Decimal; var IsHandled: Boolean)` (integration)
- `OnBeforeGetSerialLotNo(ReservEntry: Record "Reservation Entry"; var ItemTrackingQtyToReserve: Decimal; var ItemTrackingQtyToReserveBase: Decimal; var IsHandled: Boolean)` (integration)
- `OnDrillDownTotalQuantity(SourceRecRef: RecordRef; EntrySummary: Record "Entry Summary"; ReservEntry: Record "Reservation Entry"; Location: Record Location; MaxQtyToReserve: Decimal)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) ReservationOnDrillDownTotalQuantity, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnDrillDownTotalQuantity, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) ReservationOnDrillDownTotalQuantity, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) ReservationOnDrillDownTotalQuantity, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) ReservationOnDrillDownTotalQuantity
- `OnFilterReservEntry(var FilterReservEntry: Record "Reservation Entry"; ReservEntrySummary: Record "Entry Summary")` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnFilterReservEntry, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnFilterReservEntry, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) ReservationOnFilterReservEntry, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) ReservationOnFilterReservEntry, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnFilterReservEntry, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) ReservationOnFilterReservEntry, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) ReservationOnFilterReservEntry, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnFilterReservEntry, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) ReservationOnFilterReservEntry, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) ReservationOnFilterReservEntry, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) ReservationOnFilterReservEntry, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) ReservationOnFilterReservEntry, [Codeunit 99000841 "Item Ledger Entry-Reserve"](../codeunit/99000841.md) OnFilterReservEntry, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) ReservationOnFilterReservEntry
- `OnGetQtyPerUOMFromSourceRecRef(SourceRecRef: RecordRef; var QtyPerUOM: Decimal; var QtyReserved: Decimal; var QtyReservedBase: Decimal; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal; ReservEntry: Record "Reservation Entry")` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) OnGetQtyPerUOMFromSourceRecRef, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) OnGetQtyPerUOMFromSourceRecRef
- `OnFilterReservEntryOnAfterFilterSource(var ReservationEntry: Record "Reservation Entry"; FromEntrySummary: Record "Entry Summary"; ReservEntry: Record "Reservation Entry")` (integration)
- `OnGetSerialLotNoOnAfterSetTrackingFields(var ReservationEntry: Record "Reservation Entry"; TempReservationEntry: Record "Reservation Entry" temporary)` (integration)
- `OnSetReservSource(SourceRecRef: RecordRef; var ReservEntry: Record "Reservation Entry"; var CaptionText: Text; Direction: Integer)` (integration)
  - subscribers: [Codeunit 1032 "Job Planning Line-Reserve"](../codeunit/1032.md) ReservationOnSetReservSource, [Codeunit 5854 "Invt. Doc. Line-Reserve"](../codeunit/5854.md) OnSetReservSource, [Codeunit 925 "Assembly Header-Reserve"](../codeunit/925.md) ReservationOnSetReservSource, [Codeunit 926 "Assembly Line-Reserve"](../codeunit/926.md) ReservationOnSetReservSource, [Codeunit 99000832 "Sales Line-Reserve"](../codeunit/99000832.md) OnSetReservSource, [Codeunit 99000833 "Req. Line-Reserve"](../codeunit/99000833.md) ReservationOnSetReservSource, [Codeunit 99000834 "Purch. Line-Reserve"](../codeunit/99000834.md) ReservationOnSetReservSource, [Codeunit 99000835 "Item Jnl. Line-Reserve"](../codeunit/99000835.md) OnSetReservSource, [Codeunit 99000836 "Transfer Line-Reserve"](../codeunit/99000836.md) ReservationOnSetReservSource, [Codeunit 99000837 "Prod. Order Line-Reserve"](../codeunit/99000837.md) ReservationOnSetReservSource, [Codeunit 99000838 "Prod. Order Comp.-Reserve"](../codeunit/99000838.md) ReservationOnSetReservSource, [Codeunit 99000840 "Plng. Component-Reserve"](../codeunit/99000840.md) ReservationOnSetReservSource, [Codeunit 99000842 "Service Line-Reserve"](../codeunit/99000842.md) ReservationOnSetReservSource
- `OnUpdateReservMgt(var ReservationEntry: Record "Reservation Entry"; var ReservationManagement: Codeunit "Reservation Management")` (integration)
- `OnBeforeDrillDownReservedThisLine(var EntrySummary: Record "Entry Summary"; var ReservEntry: Record "Reservation Entry"; var ReservEntry2: Record "Reservation Entry"; var IsHandled: Boolean)` (integration)
- `OnBeforeReservedThisLine(var EntrySummary: Record "Entry Summary"; ReservEntry: Record "Reservation Entry"; ReservEntry2: Record "Reservation Entry"; TempReservSummEntry2: Record "Entry Summary" temporary; var ReservedQuantity: Decimal; var IsHandled: Boolean)` (integration)
- `OnAfterFilterReservEntry(var FilterReservationEntry: Record "Reservation Entry"; FromEntrySummary: Record "Entry Summary"; ReservationEntry: Record "Reservation Entry")` (integration)

## Procedures

- `SetReservSource(CurrentRecordVar: Variant)`
- `SetReservSource(CurrentRecordVar: Variant; Direction: Enum "Transfer Direction")`
- `SetReservSource(CurrentSourceRecRef: RecordRef; Direction: Enum "Transfer Direction")`
- `SetReservEntry(ReservEntry2: Record "Reservation Entry")`
- `FilterReservEntry(var FilterReservEntry: Record "Reservation Entry"; ReservEntrySummary: Record "Entry Summary")`
- `UpdateReservFrom()`
- `DrillDownTotalQuantity()` (protected)
- `DrillDownReservedQuantity()` (protected)
- `DrillDownReservedThisLine()` (protected)
- `ReservedThisLine(ReservSummEntry2: Record "Entry Summary" temporary): Decimal`
- `AutoReserve()`

Plus 4 local procedures.

## Triggers

OnOpenPage

## Relations

- source table [Table 338 "Entry Summary"](../table/338.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 99000845 "Reservation Management"](../codeunit/99000845.md) (6 calls: `AutoReserve → AutoReserve`, `DrillDownTotalQuantity → IsPositive`, `FilterReservEntry → IsPositive`, …)
- [Codeunit 5402 "Unit of Measure Management"](../codeunit/5402.md) (2 calls: `GetSerialLotNo → QtyRndPrecision`, `UpdateReservFrom → QtyRndPrecision`)
- [Codeunit 99000830 "Create Reserv. Entry"](../codeunit/99000830.md) (2 calls: `GetSerialLotNo → SignFactor`, `ReservedThisLine → SignFactor`)
- [Page 497 "Reservation Entries"](../page/497.md) (2 calls: `DrillDownReservedQuantity → (object)`, `DrillDownReservedThisLine → (object)`)
- [Codeunit 6500 "Item Tracking Management"](../codeunit/6500.md) (1 call: `GetSerialLotNo → SumUpItemTracking`)
- [Page 6507 "Item Tracking List"](../page/6507.md) (1 call: `GetSerialLotNo → (object)`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24-25, 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: "page", object_name: "Reservation")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
