codeunitInventoryofficial - Microsoftderived - from the source, no model text

Codeunit 5790 "Available to Promise"

Base Application · Microsoft.Inventory.Availability

Across versions

  1. BC23present
  2. BC241 procedures added, 1 events changed
  3. BC255 procedures added, 5 procedures removed
  4. BC266 events added, 2 events removed
  5. BC27declaration changed
  6. BC285 procedures removed, 5 events removed
  7. BC29unchanged
  8. BC30declaration changed

Neighbourhood 29 connected objects and pages

Codeunit 6450 "Serv. Integration Mgt." (event subscribers, 3 links)Serv. Integration Mgt.Codeunit 99000875 "Prod. Order Availability Mgt." (event subscribers, 2 links)Codeunit 4413 "SOA Shipment Date Mgt." (event subscribers)SOA Shipment Date Mgt.Codeunit 6452 "Serv. Availability Mgt." (event subscribers)Serv. Availability Mgt.Codeunit 99000871 "Job Planning Availability Mgt." (event subscribers)Job Planning Availability Mgt.Codeunit 99000973 "Purch. Availability Mgt." (event subscribers)Table 901 "Assembly Line" (calls, 9 links)Assembly LineCodeunit 311 "Item-Check Avail." (calls, 8 links)Item-Check Avail.Codeunit 7171 "Sales Info-Pane Management" (calls, 7 links)Sales Info-Pane ManagementCodeunit 915 "Assembly Info-Pane Management" (calls, 7 links)Page 874 "Prod. Order Comp. Item FactBox" (calls, 7 links)Prod. Order Comp. Item FactBoxCodeunit 99000889 "AvailabilityManagement" (calls, 5 links)Codeunit 5701 "Item Subst." (calls, 3 links)Item Subst.Codeunit 5522 "Order Planning Mgt." (calls, 2 links)Codeunit 7600 "Calendar Management" (calls, 2 links)Calendar ManagementCodeunit 99000875 "Prod. Order Availability Mgt." (calls, 2 links)Prod. Order Availability Mgt.Codeunit 99000973 "Purch. Availability Mgt." (calls, 2 links)Purch. Availability Mgt.Report 705 "Inventory Availability" (calls, 2 links)Inventory AvailabilityReport 707 "Inventory - Availability Plan" (calls, 2 links)Report 717 "Inventory - Reorders" (calls, 2 links)Inventory - ReordersReport 719 "Inv. Availability Plan" (calls, 2 links)Codeunit 5870 "Calculate BOM Tree" (calls)Codeunit 5972 "Service Info-Pane Management" (calls)Codeunit 6452 "Serv. Availability Mgt." (calls)Codeunit 6474 "Serv. Item Substitution" (calls)Codeunit 7181 "Purchases Info-Pane Management" (calls)Codeunit 99000871 "Job Planning Availability Mgt." (calls)Codeunit 99000886 "Capable to Promise" (calls)Table 99000880 "Order Promising Line" (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.Inventory.Availability · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
Permissions tabledata “Assembly Header” = r, tabledata “Assembly Line” = r, tabledata “Item Ledger Entry” = r, tabledata “Job Planning Line” = r, tabledata “Planning Component” = r, #if not CLEAN27 tabledata Microsoft.Manufacturing.Document.“Prod. Order Component” = r, tabledata Microsoft.Manufacturing.Document…

Events published

  • OnAfterCalculateAvailability(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item) Δ BC24 (integration)
  • OnAfterCalcGrossRequirement(var Item: Record Item; var GrossRequirement: Decimal) (integration)
  • OnAfterCalcScheduledReceipt(var Item: Record Item; var ScheduledReceipt: Decimal) (integration)
  • OnAfterCalcReservedRequirement(var Item: Record Item; var ReservedRequirement: Decimal) (integration)
  • OnAfterCalcReservedReceipt(var Item: Record Item; var ReservedReceipt: Decimal) (integration)
  • OnAfterQtyAvailableToPromise(var Item: Record Item; ScheduledReceipt: Decimal; GrossRequirement: Decimal; var AvailableToPromise: Decimal) (integration)
  • OnAfterCalcAvailableInventory(var Item: Record Item; var AvailableInventory: Decimal) (integration)
  • OnBeforeCalcAvailableInventory(var Item: Record Item; var AvailableInventory: Decimal; var IsHandled: Boolean) (integration)
  • OnBeforeCalcGrossRequirement(var Item: Record Item; var GrossRequirement: Decimal; var IsHandled: Boolean) (integration)
  • OnBeforeCalcScheduledReceipt(var Item: Record Item; var ScheduledReceipt: Decimal; var IsHandled: Boolean) (integration)
  • OnBeforeCalcReservedRequirement(var Item: Record Item; var ReservedRequirement: Decimal; var IsHandled: Boolean) (integration)
  • OnBeforeCalcReservedReceipt(var Item: Record Item; var ReservedReceipt: Decimal; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateSalesOrderAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; ChangedSalesLine: Record "Sales Line"; CurrentOrderPromisingLine: Record "Order Promising Line"; ReqShipDate: Date; var IsHandled: Boolean) (integration)
  • OnBeforeCalcQtyAvailableToPromise(var Item: Record Item; var AvailabilityDate: Date; var GrossRequirement: Decimal; var ScheduledReceipt: Decimal; PeriodType: Enum "Analysis Period Type"; LookaheadDateFormula: DateFormula; var AvailableToPromise: Decimal; var IsHandled: Boolean) (integration)
  • OnCalcAllItemFieldsOnAfterItemCalcFields(var Item: Record Item) (integration)
  • OnCalcAllItemFieldsOnBeforeItemCalcFields(var Item: Record Item) (integration)
  • OnCalculateAvailabilityAfterClearAvailabilityAtDate(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var ReqShipDate: Date) (integration)
  • OnCalcEarliestAvailabilityDateOnBeforeFilterDate(var Item: Record Item; NeededQty: Decimal; StartDate: Date; var AvailableQty: Decimal; PeriodType: Enum "Analysis Period Type"; LookaheadDateFormula: DateFormula; var AvailabilityAtDate: Record "Availability at Date"; var AvailableDate: Date; var IsHandled: Boolean; ExcludeOnDate: Date) + BC26 − BC26 (integration)
  • OnBeforeCalcAllItemFields(var Item: record Item; var AllFieldCalculated: Boolean; var PrevItemNo: Code[20]; var PrevItemFilters: Text; var IsHandled: Boolean) (integration)
  • OnBeforeUpdatePurchReqRcptAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateTransOrderRcptAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var IsHandled: Boolean) (integration)
  • OnBeforeUpdatePlanningIssuesAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateTransOrderShptAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateAsmOrderAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateAsmCompAvail(var AvailabilityAtDate: Record "Availability at Date"; var Item: Record Item; var IsHandled: Boolean; var ChangedAssemblyLine: Record "Assembly Line") + BC26 − BC26 (integration)
  • OnCalcEarliestAvailabilityDateOnAfterUpdateScheduledReceipt(var TempAvailabilityAtDate: Record "Availability at Date" temporary) + BC25 (integration)
  • OnUpdateAvailabilityOnBeforeInsertModify(var AvailabilityAtDate: Record "Availability at Date"; Date: Date; var ScheduledReceipt: Decimal; var GrossRequirement: Decimal) + BC26 (integration)
  • OnCalculateAvailabilityByPeriodOnBeforeDeleteAvailabilityAtDate(var AvailabilityInPeriod: Record "Availability at Date"; AvailabilityAtDate: Record "Availability at Date") + BC26 (integration)
  • OnCalcEarliestAvailabilityDateOnBeforeNextTempAvailabilityAtDate(var AvailabilityAtDate: Record "Availability at Date") + BC26 (integration)
  • OnCalcEarliestAvailabilityDateOnAfterCalculateAvailableQty(var AvailableQty: decimal; var Item: Record "Item"; ScheduledReceipt: decimal; GrossRequirement: decimal) + BC26 (integration)

Procedures

  • SetRecalculateFields() + BC24
  • CalcQtyAvailableToPromise(var Item: Record Item; var GrossRequirement: Decimal; var ScheduledReceipt: Decimal; AvailabilityDate: Date; PeriodType: Enum "Analysis Period Type"; LookaheadDateFormula: DateFormula): Decimal
  • CalcAvailableInventory(var Item: Record Item): Decimal
  • CalcGrossRequirement(var Item: Record Item): Decimal
  • CalcReservedRequirement(var Item: Record Item): Decimal
  • CalcScheduledReceipt(var Item: Record Item): Decimal
  • CalcReservedReceipt(var Item: Record Item): Decimal
  • CalcEarliestAvailabilityDate(var Item: Record Item; NeededQty: Decimal; StartDate: Date; ExcludeQty: Decimal; ExcludeOnDate: Date; var AvailableQty: Decimal; PeriodType: Enum "Analysis Period Type"; LookaheadDateFormula: DateFormula): Date
  • CalculateForward(var Item: Record Item; PeriodType: Enum "Analysis Period Type"; StartDate: Date; EndDate: Date): Decimal
  • CalculateAvailability(var Item: Record Item; var AvailabilityAtDate: Record "Availability at Date")
  • UpdateScheduledReceipt(var AvailabilityAtDate: Record "Availability at Date"; ReceiptDate: Date; ScheduledReceipt: Decimal)
  • UpdateGrossRequirement(var AvailabilityAtDate: Record "Availability at Date"; ShipmentDate: Date; GrossRequirement: Decimal)
  • GetRequiredShipmentDate(): Date
  • GetForwardPeriodEndDate(LookaheadDateFormula: DateFormula; PeriodType: Enum "Analysis Period Type"; StartDate: Date): Date
  • GetPeriodEndingDate(PeriodEnd: Date; PeriodType: Enum "Analysis Period Type"): Date
  • SetPromisingReqShipDate(OrderPromisingLine: Record "Order Promising Line")
  • SetOriginalShipmentDate(OrderPromisingLine: Record "Order Promising Line")
  • SetChangedSalesLine(SalesLine: Record "Sales Line")
  • SetChangedAsmLine(AssemblyLine: Record "Assembly Line")
  • ResetItemNo()

Plus 14 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

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: "Available to Promise"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources