codeunitSales & Receivablesofficial - Microsoftderived - from the source, no model text

Codeunit 99000832 "Sales Line-Reserve"

Base Application · Microsoft.Sales.Document

Across versions

  1. BC23present
  2. BC242 events added, 1 procedures added
  3. BC2526 procedures added, 6 events added
  4. BC261 procedures added, 1 events added
  5. BC272 events changed
  6. BC285 procedures removed, 1 events removed
  7. BC29-30unchanged

Neighbourhood 38 connected objects and pages

Codeunit 99000845 "Reservation Management" (calls, 17 links)Reservation ManagementCodeunit 99000830 "Create Reserv. Entry" (calls, 13 links)Create Reserv. EntryCodeunit 80 "Sales-Post" (calls, 9 links)Sales-PostTable 37 "Sales Line" (calls, 6 links)Sales LineCodeunit 6500 "Item Tracking Management" (calls, 4 links)Codeunit 90 "Purch.-Post" (calls, 4 links)Purch.-PostCodeunit 99000872 "Sales Availability Mgt." (calls, 4 links)Table 36 "Sales Header" (calls, 4 links)Sales HeaderCodeunit 1305 "Sales-Quote to Invoice" (calls, 2 links)Codeunit 86 "Sales-Quote to Order" (calls, 2 links)Sales-Quote to OrderCodeunit 99000831 "Reservation Engine Mgt." (calls, 2 links)Reservation Engine Mgt.Page 46 "Sales Order Subform" (calls, 2 links)Page 47 "Sales Invoice Subform" (calls, 2 links)Sales Invoice SubformPage 516 "Sales Lines" (calls, 2 links)Page 6631 "Sales Return Order Subform" (calls, 2 links)Sales Return Order SubformPage 95 "Sales Quote Subform" (calls, 2 links)Sales Quote SubformPage 96 "Sales Cr. Memo Subform" (calls, 2 links)Sales Cr. Memo SubformCodeunit 20438 "Qlty. Warehouse Integration" (calls)Codeunit 333 "Req. Wksh.-Make Order" (calls)Req. Wksh.-Make OrderCodeunit 5402 "Unit of Measure Management" (calls)Unit of Measure ManagementCodeunit 5701 "Item Subst." (calls)Codeunit 5817 "Undo Posting Management" (calls)Codeunit 7171 "Sales Info-Pane Management" (calls)Codeunit 87 "Blanket Sales Order to Order" (calls)Codeunit 900 "Assembly-Post" (calls)Codeunit 99000787 "Create Prod. Order Lines" (calls)Codeunit 99000792 "Create Prod. Order from Sale" (calls)Codeunit 99000815 "Reservation-Check Date Confl." (calls)Codeunit 99000839 "Sales Get Demand To Reserve" (calls)Codeunit 99000841 "Item Ledger Entry-Reserve" (calls)Page 41 "Sales Quote" (calls)Page 42 "Sales Order" (calls)Page 43 "Sales Invoice" (calls)Page 44 "Sales Credit Memo" (calls)Page 6630 "Sales Return Order" (calls)Table 7317 "Warehouse Receipt Line" (calls)Table 7321 "Warehouse Shipment Line" (calls)Table 904 "Assemble-to-Order Link" (calls)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Sales.Document · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Permissions TableData “Reservation Entry” = rimd, TableData “Planning Assignment” = rimd

Events published

  • OnAfterTestSourceTableFields(SalesLine: Record "Sales Line") (integration): Raised after testing source table fields for the sales line during reservation validation.
  • OnAfterReservQuantity(SalesLine: Record "Sales Line"; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal) (integration): Raised after calculating the quantity to reserve for a sales line.
  • OnBeforeAssignForPlanning(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before assigning a sales line for planning purposes.
  • OnBeforeDeleteSalesReservEntries(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"; var ReservMgt: Codeunit "Reservation Management"; var IsHandled: Boolean) (integration): Raised before deleting sales reservation entries when a sales line is modified.
  • OnBeforeRetrieveInvoiceSpecification(var SalesLine: Record "Sales Line"; var OK: Boolean; var IsHandled: Boolean; var TempInvoicingSpecification: Record "Tracking Specification" temporary) (integration): Raised before retrieving the invoice specification for item tracking on a sales line.
  • OnBeforeRetrieveInvoiceSpecification2(var SalesLine: Record "Sales Line"; var OK: Boolean; var IsHandled: Boolean) (integration): Raised before retrieving the invoice specification (variant 2) for item tracking on a sales line.
  • OnBeforeTransferSaleLineToSalesLine(var OldSalesLine: Record "Sales Line"; var NewSalesLine: Record "Sales Line"; var TransferQty: Decimal; var IsHandled: Boolean) (integration): Raised before transferring reservation entries from one sales line to another.
  • OnBeforeVerifyChange(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before verifying changes to a sales line that may affect reservations.
  • OnCreateReservationOnBeforeTestVariantCode(SalesLine: Record "Sales Line"; FromTrackingSpecification: Record "Tracking Specification"; var IsHandled: Boolean) (integration): Raised before testing the variant code during reservation creation.
  • OnCreateReservationOnBeforeTestLocationCode(SalesLine: Record "Sales Line"; FromTrackingSpecification: Record "Tracking Specification"; var IsHandled: Boolean) (integration): Raised before testing the location code during reservation creation.
  • OnTestSalesLineModificationOnBeforeTestBinCode(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before testing the bin code when verifying sales line modifications.
  • OnTestSalesLineModificationOnBeforeTestJobNo(SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before testing the job number when verifying sales line modifications.
  • OnTestSalesLineModificationOnBeforeTestVariantCode(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"; var IsHandled: Boolean; var HasError: Boolean; ThrowError: Boolean) (integration): Raised before testing the variant code when verifying sales line modifications.
  • OnTestSalesLineModificationOnBeforeTestLocationCode(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"; var IsHandled: Boolean; var HasError: Boolean) (integration): Raised before testing the location code when verifying sales line modifications.
  • OnTransferSalesLineToItemJnlLineOnBeforeItemJournalLineTest(SalesLine: Record "Sales Line"; var IsHandled: Boolean; var ItemJnlLine: Record "Item Journal Line"; var TransferQty: Decimal) (integration): Raised before testing the item journal line during transfer from sales line.
  • OnTransferSalesLineToItemJnlLineOnBeforeInitRecordSet(var OldReservationEntry: Record "Reservation Entry") (integration): Raised before initializing the record set during transfer of sales line to item journal line.
  • OnTransferSalesLineToItemJnlLineOnBeforeOldReservEntryTest(SalesLine: Record "Sales Line"; var IsHandled: Boolean; var ItemJnlLine: Record "Item Journal Line") (integration): Raised before testing the old reservation entry during transfer from sales line to item journal line.
  • OnTransferSalesLineToItemJnlLineOnBeforeTransferReservationEntry(var ReservationEntry: Record "Reservation Entry"; SalesLine: Record "Sales Line"; ItemJournalLine: Record "Item Journal Line"; var IsHandled: Boolean) (integration): Raised before transferring the reservation entry from sales line to item journal line.
  • OnTransferSaleLineToSalesLineOnBeforeCalcTransferQty(var NewSalesLine: Record "Sales Line"; var OldReservationEntry: Record "Reservation Entry"; var IsHandled: Boolean) (integration): Raised before calculating the transfer quantity when transferring between sales lines.
  • OnVerifyChangeOnBeforeHasError(NewSalesLine: Record "Sales Line"; OldSalesLine: Record "Sales Line"; var HasError: Boolean; var ShowError: Boolean) (integration): Raised before determining if an error occurred when verifying changes to a sales line.
  • OnTransferSalesLineToItemJnlLineOnBeforeApplFromItemEntryTestField(SalesLine: Record "Sales Line"; OldReservEntry: Record "Reservation Entry"; var IsHandled: Boolean; var ItemJnlLine: Record "Item Journal Line") (integration): Raised before testing the Appl.-from Item Entry field during transfer from sales line to item journal line.
  • OnBeforeCallItemTracking(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before calling the item tracking page for a sales line.
  • OnBeforeCreateReservation(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before creating a reservation for a sales line.
  • OnBeforeDeleteInvoiceSpecFromHeader(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean) (integration): Raised before deleting invoice specifications from a sales header.
  • OnBeforeDeleteInvoiceSpecFromLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before deleting invoice specifications from a sales line.
  • OnBeforeVerifyQuantity(var NewSalesLine: Record "Sales Line"; var IsHandled: Boolean; var OldSalesLine: Record "Sales Line") (integration): Raised before verifying quantity changes on a sales line that may affect reservations.
  • OnBeforeTransferSalesLineToItemJnlLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; var ItemJnlLine: Record "Item Journal Line") (integration): Raised before transferring a sales line to an item journal line.
  • OnCallItemTrackingOnBeforeItemTrackingLinesRunModal(var SalesLine: Record "Sales Line"; var ItemTrackingLines: Page "Item Tracking Lines") (integration): Raised before running the Item Tracking Lines page modally for a sales line.
  • OnCallItemTrackingSecondSourceOnBeforeItemTrackingLinesRun(var SalesLine: Record "Sales Line"; var ItemTrackingLines: Page "Item Tracking Lines") (integration): Raised before running the Item Tracking Lines page for a secondary source on a sales line.
  • OnCallItemTrackingSecondSourceOnBeforeOpenItemTrackingLines(var SalesLine: Record "Sales Line"; TrackingSpecification: Record "Tracking Specification"; SecondSourceQuantityArray: array[3] of Decimal; var IsHandled: Boolean) Δ BC24 (integration): Raised before opening item tracking lines for a secondary source on a sales line.
  • OnRetrieveInvoiceSpecificationOnBeforeInsert(var TempInvoicingSpecification: Record "Tracking Specification" temporary; ReservEntry: Record "Reservation Entry") (integration): Raised before inserting a tracking specification when retrieving invoice specifications.
  • OnCreateReservationOnBeforeCheckReservedQty(var SalesLine: Record "Sales Line"; var IsHandled: Boolean; QuantityBase: Decimal) (integration): Raised before checking the reserved quantity during reservation creation.
  • OnCreateReservationOnBeforeCreateReservEntry(var SalesLine: Record "Sales Line"; var Quantity: Decimal; var QuantityBase: Decimal; var ForReservEntry: Record "Reservation Entry"; var IsHandled: Boolean; var FromTrackingSpecification: Record "Tracking Specification"; ExpectedReceiptDate: Date; Description: Text[100]; ShipmentDate: Date; var DoCreateReservationEntry: Boolean) + BC24 − BC24 + BC26 − BC26 (integration): Raised before creating a reservation entry during reservation creation.
  • OnAfterCreateReservation(var SalesLine: Record "Sales Line") (integration): Raised after creating a reservation for a sales line.
  • OnBeforeDeleteLine(var SalesLine: Record "Sales Line"; var IsHandled: Boolean) (integration): Raised before deleting reservation entries for a sales line.
  • OnBeforeAutoReserveSalesLine(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): Raised before automatically reserving a sales line.
  • OnCreateReservationOnBeforeCreateReservation(var SalesLine: Record "Sales Line"; var TrackingSpecification: Record "Tracking Specification"; var Description: Text[100]; var ExpectedDate: Date; var Quantity: Decimal; var QuantityBase: Decimal; var ReservationEntry: Record "Reservation Entry") + BC24 (integration): Raised before creating a reservation from the reservation management event handler.
  • OnSetSourceForReservationOnBeforeUpdateReservation(var ReservEntry: Record "Reservation Entry"; SalesLine: Record "Sales Line") + BC25 Δ BC27 (integration, obsolete 27.0)
  • OnAfterSetSourceForReservation(var CalcReservEntry: Record "Reservation Entry"; SalesLine: Record "Sales Line") + BC25 Δ BC27 (integration, obsolete 27.0)
  • OnAfterInitFromSalesLine(var TrackingSpecification: Record "Tracking Specification"; SalesLine: Record "Sales Line") + BC25 (integration): Raised after initializing a tracking specification from a sales line.
  • OnBeforeCheckSourceTypeSubtypeOnBeforeIsError(var ReservationEntry: Record "Reservation Entry"; var IsError: Boolean; var IsHandled: Boolean) + BC25 (integration): Raised before checking the source type and subtype for error conditions in reservation entries.

Event subscriptions

  • OnGetQtyPerUOMFromSourceRecRef subscribes to Page “Reservation” OnGetQtyPerUOMFromSourceRecRef
  • OnSetReservSource subscribes to Page “Reservation” OnSetReservSource
  • ReservationOnDrillDownTotalQuantity subscribes to Page “Reservation” OnDrillDownTotalQuantity
  • OnFilterReservEntry subscribes to Page “Reservation” OnFilterReservEntry
  • OnRelatesToEntrySummary subscribes to Page “Reservation” OnAfterRelatesToSummEntry
  • ItemLedgerEntryOnDrillDownTotalQuantity 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
  • OnLookupReserved subscribes to Page “Reservation Entries” OnLookupReserved
  • OnUpdateStatistics subscribes to Codeunit “Reservation Management” OnUpdateStatistics
  • OnAfterAutoReserveOneLine subscribes to Codeunit “Reservation Management” OnAfterAutoReserveOneLine
  • OnAutoTrackOnCheckSourceType subscribes to Codeunit “Reservation Management” OnAutoTrackOnCheckSourceType
  • OnTestItemType subscribes to Codeunit “Reservation Management” OnTestItemType
  • OnAutoReserveOnBeforeStopReservation subscribes to Codeunit “Reservation Management” OnAutoReserveOnBeforeStopReservation
  • 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
  • OnBeforeCheckApplyFromItemEntrySourceType subscribes to Table “Tracking Specification” OnBeforeCheckApplyFromItemEntrySourceType
  • OnBeforeSummEntryNo subscribes to Table “Reservation Entry” OnAfterSummEntryNo
  • ReservationEntryOnUpdateSourceCost subscribes to Table “Reservation Entry” OnUpdateSourceCost
  • OnReserveBindingOrder subscribes to Table “Requisition Line” OnReserveBindingOrder
  • OrderTrackingManagementOnSetSourceRecord subscribes to Codeunit “OrderTrackingManagement” OnSetSourceRecord
  • OnInsertOrderTrackingEntry subscribes to Codeunit “OrderTrackingManagement” OnInsertOrderTrackingEntry
  • OnGetSourceShipmentDate subscribes to Table “Tracking Specification” OnGetSourceShipmentDate

Procedures

  • CreateReservation(SalesLine: Record "Sales Line"; Description: Text[100]; ExpectedReceiptDate: Date; Quantity: Decimal; QuantityBase: Decimal; ForReservationEntry: Record "Reservation Entry"): Creates a reservation entry for a sales line with the specified tracking and quantity details.
  • CreateBindingReservation(SalesLine: Record "Sales Line"; Description: Text[100]; ExpectedReceiptDate: Date; Quantity: Decimal; QuantityBase: Decimal): Creates a binding reservation for a sales line without linking to an existing reservation entry.
  • CreateReservationSetFrom(TrackingSpecification: Record "Tracking Specification"): Sets the tracking specification to use when creating reservation entries.
  • SetBinding(Binding: Enum "Reservation Binding"): Sets the binding type for reservation entries to be created.
  • SetDisallowCancellation(DisallowCancellation: Boolean): Sets whether cancellation of reservation entries is disallowed.
  • ReservQuantity(SalesLine: Record "Sales Line"; var QtyToReserve: Decimal; var QtyToReserveBase: Decimal): Calculates the quantity available for reservation on a sales line.
  • Caption(SalesLine: Record "Sales Line"): Text: Returns a caption describing the sales line for reservation purposes.
  • FindReservEntry(SalesLine: Record "Sales Line"; var ReservationEntry: Record "Reservation Entry"): Boolean: Finds the last reservation entry for the specified sales line.
  • GetReservedQtyFromInventory(SalesLine: Record "Sales Line"): Decimal: Calculates the quantity reserved from inventory for a sales line.
  • GetReservedQtyFromInventory(SalesHeader: Record "Sales Header"): Decimal: Calculates the total quantity reserved from inventory for all lines on a sales header.
  • ReservEntryExist(SalesLine: Record "Sales Line"): Boolean: Checks whether a reservation entry exists for the specified sales line.
  • VerifyChange(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"): Verifies and handles changes to a sales line that affect reservations.
  • VerifyQuantity(var NewSalesLine: Record "Sales Line"; var OldSalesLine: Record "Sales Line"): Verifies and handles quantity changes on a sales line that affect reservations.
  • SetSaleShipQty(ErrorInfo: ErrorInfo): Sets the quantity to ship on a sales line to the outstanding quantity. Called as an action from error handling.
  • SetSalesQtyInvoice(ErrorInfo: ErrorInfo): Sets the quantity to invoice on a sales line to the maximum quantity. Called as an action from error handling.
  • TransferSalesLineToItemJnlLine(var SalesLine: Record "Sales Line"; var ItemJournalLine: Record "Item Journal Line"; TransferQty: Decimal; var CheckApplFromItemEntry: Boolean; OnlyILEReservations: Boolean): Decimal: Transfers reservation entries from a sales line to an item journal line during posting.
  • TransferSaleLineToSalesLine(var OldSalesLine: Record "Sales Line"; var NewSalesLine: Record "Sales Line"; TransferQty: Decimal): Transfers reservation entries from one sales line to another. Used when converting quotes or blanket orders to orders.
  • DeleteLineConfirm(var SalesLine: Record "Sales Line"): Boolean: Prompts the user to confirm deletion of item tracking when deleting a sales line with reservations.
  • DeleteLine(var SalesLine: Record "Sales Line"): Deletes all reservation entries associated with a sales line.
  • AssignForPlanning(var SalesLine: Record "Sales Line"): Creates or updates a planning assignment for a sales order line.
  • CallItemTracking(var SalesLine: Record "Sales Line"): Opens the Item Tracking Lines page for a sales line.
  • CallItemTracking(var SalesLine: Record "Sales Line"; SecondSourceQuantityArray: array[3] of Decimal): Opens the Item Tracking Lines page for a sales line with a second source quantity array.
  • CallItemTrackingSecondSource(var SalesLine: Record "Sales Line"; SecondSourceQuantityArray: array[3] of Decimal; AsmToOrder: Boolean): Opens the Item Tracking Lines page for a sales line with a second source and assembly-to-order option.
  • RetrieveInvoiceSpecification(var SalesLine: Record "Sales Line"; var TempInvoicingTrackingSpecification: Record "Tracking Specification" temporary): Boolean: Retrieves the invoice specification tracking data for a sales line.
  • RetrieveInvoiceSpecification2(var SalesLine: Record "Sales Line"; var TempInvoicingTrackingSpecification: Record "Tracking Specification" temporary): Boolean: Retrieves invoice specification for combined shipment or return scenarios.
  • DeleteInvoiceSpecFromHeader(var SalesHeader: Record "Sales Header"): Deletes invoice specifications for all lines in a sales header.
  • UpdateItemTrackingAfterPosting(SalesHeader: Record "Sales Header"): Updates item tracking quantities after posting a sales document.
  • SetApplySpecificItemTracking(ApplySpecific: Boolean): Sets whether to apply specific item tracking when reserving.
  • SetOverruleItemTracking(Overrule: Boolean): Sets whether to overrule existing item tracking during reservation.
  • Block(SetBlocked: Boolean): Sets the blocked state for reservation operations.
  • SetItemTrkgAlreadyOverruled(HasBeenOverruled: Boolean): Sets whether item tracking has already been overruled.
  • BindToTracking(SalesLine: Record "Sales Line"; TrackingSpecification: Record "Tracking Specification"; Description: Text[100]; ExpectedDate: Date; ReservQty: Decimal; ReservQtyBase: Decimal) + BC25: Binds a sales line to item tracking with order-to-order binding.
  • DeleteLineWithItemTracking(var SalesLine: Record "Sales Line") + BC25: Deletes a sales line along with its item tracking entries.
  • SetDeleteItemTracking(NewDeleteItemTracking: Boolean): Sets whether to delete item tracking when deleting lines.
  • CopyReservEntryToTemp(var TempReservationEntry: Record "Reservation Entry" temporary; OldSalesLine: Record "Sales Line"): Copies reservation entries from a sales line to a temporary table.
  • CopyReservEntryFromTemp(var TempReservationEntry: Record "Reservation Entry" temporary; OldSalesLine: Record "Sales Line"; NewSourceRefNo: Integer): Copies reservation entries from a temporary table back to the database with a new source reference.
  • InitFromSalesLine(var TransactionSpecification: Record "Tracking Specification"; SalesLine: Record "Sales Line") + BC25: Initializes a tracking specification from a sales line for item tracking purposes.

Plus 20 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.

Called by

Recent changes

Deprecations

  • procedure OnAfterSetSourceForReservation: Pending 27.0 (#if not CLEAN27), “This event is never raised.”
  • 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: "Sales Line-Reserve"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources