Codeunit 5530 "Calc. Item Availability"
Base Application · Microsoft.Inventory.Availability
Across versions
- BC23-24present
- BC254 procedures removed, 3 events added
- BC26unchanged
- BC278 events added, 7 events removed
- BC28-29unchanged
- BC302 procedures removed, 2 events removed
Neighbourhood 35 connected objects and pages
Base Application · Microsoft.Inventory.Availability · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnAfterGetDocumentEntries(var InvtEventBuf: Record "Inventory Event Buffer"; var Item: Record Item; var CurrEntryNo: Integer)Δ BC25 (integration)- subscribers: Codeunit 6452 “Serv. Availability Mgt.” OnAfterGetDocumentEntries, Codeunit 99000871 “Job Planning Availability Mgt.” OnAfterGetDocumentEntries, Codeunit 99000874 “Assembly Availability Mgt.” OnAfterGetDocumentEntries, Codeunit 99000875 “Prod. Order Availability Mgt.” OnAfterGetDocumentEntries
OnBeforeGetDocumentEntries(var InventoryEventBuffer: Record "Inventory Event Buffer"; var Item: Record Item)+ BC25 (integration)OnAfterGetAnticipatedDemand(var InvtEventBuf: Record "Inventory Event Buffer"; var Item: Record Item; ForecastName: Code[10]; ExcludeForecastBefore: Date; IncludeBlanketOrders: Boolean; EntryNo: Integer)(integration)OnAfterGetPlanningLines(var InvtEventBuf: Record "Inventory Event Buffer"; Item: Record "Item"; ReqLine: Record "Requisition Line"; FromRecRef: RecordRef)(integration)OnAfterGetSourceReferences(FromRecordID: RecordID; TransferDirection: Enum "Transfer Direction"; var SourceType: Integer; var SourceSubtype: Integer; var SourceID: Code[20]; var SourceBatchName: Code[10]; var SourceProdOrderLine: Integer; var SourceRefNo: Integer; var IsHandled: Boolean; RecRef: RecordRef)+ BC25 − BC25 (integration)- subscribers: Codeunit 6452 “Serv. Availability Mgt.” OnAfterGetSourceReferences, Codeunit 99000871 “Job Planning Availability Mgt.” OnAfterGetSourceReferences, Codeunit 99000874 “Assembly Availability Mgt.” OnAfterGetSourceReferences, Codeunit 99000875 “Prod. Order Availability Mgt.” OnAfterGetSourceReferences
OnAfterShowDocument(RecordID: RecordID; var IsHandled: Boolean; RecRef: RecordRef)+ BC25 − BC25 (integration)- subscribers: Codeunit 6452 “Serv. Availability Mgt.” OnAfterShowDocument, Codeunit 99000874 “Assembly Availability Mgt.” OnAfterShowDocument, Codeunit 99000875 “Prod. Order Availability Mgt.” OnAfterShowDocument
OnBeforeRunSalesHeaderPage(var SalesHeader: Record "Sales Header"; var IsHandled: Boolean)(integration)OnBeforeRunPurchHeaderPage(var PurchHeader: Record "Purchase Header"; var IsHandled: Boolean)(integration)OnBeforeRunProductionOrderPage(var ProductionOrder: Record Microsoft.Manufacturing.Document."Production Order"; var IsHandled: Boolean)+ BC27 − BC27 − BC30 (integration, obsolete 27.0)OnBeforeTryGetQtyOnInventory(var InvtEventBuf: Record "Inventory Event Buffer"; var Item: Record Item; var Result: Boolean; var IsHandled: Boolean)(integration)OnGetBlanketSalesOrdersOnAfterAssignQtyReleased(BlanketSalesLine: Record "Sales Line"; QtyReleased: Decimal)(integration)OnGetBlanketSalesOrdersOnAfterTransferFromSalesBlanketOrder(BlanketSalesLine: Record "Sales Line"; var InventoryEventBuffer: Record "Inventory Event Buffer")(integration)OnGetBlanketSalesOrdersOnAfterAdjustQtyReleasedFromInvtEventBuf(InventoryEventBuffer: Record "Inventory Event Buffer")(integration)OnGetPlanningLinesOnAfterReqLineSetFilters(var ReqLine: record "Requisition Line"; var Item: record Item)(integration)OnGetRemainingForecastOnAfterSetItemFilters(var Item: Record Item; ProductionForecastEntry: Record Microsoft.Manufacturing.Forecast."Production Forecast Entry")+ BC27 − BC27 (integration)OnGetRemainingForecastOAfterInvtEventBufSetFilters(var InventoryEventBuffer: Record "Inventory Event Buffer"; ProductionForecastEntry: Record Microsoft.Manufacturing.Forecast."Production Forecast Entry")+ BC27 − BC27 (integration)OnGetRemainingForecastOAfterInsertEntry(var InventoryEventBuffer: Record "Inventory Event Buffer"; var Item: Record Item; ProductionForecastEntry: Record Microsoft.Manufacturing.Forecast."Production Forecast Entry")+ BC27 − BC27 (integration)OnGetRemainingForecastOnBeforeCalcForecastQuantityBase(var ProductionForecastEntry: Record Microsoft.Manufacturing.Forecast."Production Forecast Entry")+ BC27 − BC27 (integration)OnGetRemainingForecastOnBeforeLoopOnAfterSetItemFilters(var Item: Record Item; ProductionForecastEntry: Record Microsoft.Manufacturing.Forecast."Production Forecast Entry"; ProductionForecastEntry2: Record Microsoft.Manufacturing.Forecast."Production Forecast Entry")+ BC27 − BC27 (integration)OnTryGetQtyOnInventoryOnBeforeInsertEntry(var InvtEventBuf: Record "Inventory Event Buffer"; var ItemLedgerEntry: Record "Item Ledger Entry")(integration)OnBeforeShowDocument(var RecRef: RecordRef)(integration)OnBeforeShowSalesShipmentHeader(SalesShptHeader: Record "Sales Shipment Header"; var IsHandled: Boolean)(integration)OnBeforeShowSalesInvoiceHeader(SalesInvHeader: Record "Sales Invoice Header"; var IsHandled: Boolean)(integration)OnBeforeShowSalesCrMemoHeader(SalesCrMemoHeader: Record "Sales Cr.Memo Header"; var IsHandled: Boolean)(integration)OnBeforeShowPurchRcptHeader(PurchRcptHeader: Record "Purch. Rcpt. Header"; var IsHandled: Boolean)(integration)OnBeforeShowPurchInvHeader(PurchInvHeader: Record "Purch. Inv. Header"; var IsHandled: Boolean)(integration)OnBeforeShowPurchCrMemoHdr(PurchCrMemoHdr: Record "Purch. Cr. Memo Hdr."; var IsHandled: Boolean)(integration)OnBeforeShowReturnRcptHeader(ReturnRcptHeader: Record "Return Receipt Header"; var IsHandled: Boolean)(integration)OnBeforeShowReturnShptHeader(ReturnShptHeader: Record "Return Shipment Header"; var IsHandled: Boolean)(integration)OnTryGetPurchOrderSupplyEntriesOnBeforeInsertEntry(var PurchaseLine: Record "Purchase Line"; var IsHandled: Boolean)(integration)OnGetPlanningTransDemandOnAfterTransferReqLineSetFilters(var RequisitionLine: Record "Requisition Line"; var Item: Record Item)(integration)OnParentIsInPlanningOnAfterReqLineSetFilters(var RequisitionLine: Record "Requisition Line"; var ProdOrderComp: Record Microsoft.Manufacturing.Document."Prod. Order Component")+ BC27 − BC27 − BC30 (integration, obsolete 27.0)OnParentIsInPlanning(InvtEventBuf: Record "Inventory Event Buffer"; var ParentActionMessage: Enum "Action Message Type"; var Result: Boolean)+ BC27 (integration)- subscribers: Codeunit 99000875 “Prod. Order Availability Mgt.” OnParentIsInPlanning
Procedures
CalcNewInvtEventBuf(var Item: Record Item; ForecastName: Code[10]; IncludeBlanketOrders: Boolean; ExcludeForecastBefore: Date; IncludePlan: Boolean)GetInvEventBuffer(var RequestInvtEventBuf: Record "Inventory Event Buffer")GetDocumentEntries(var InvtEventBuf: Record "Inventory Event Buffer"; var Item: Record Item)InsertEntry(var NewInvtEventBuffer: Record "Inventory Event Buffer")NextEntryNo(): IntegerGetSourceReferences(FromRecordID: RecordID; TransferDirection: Enum "Transfer Direction"; var SourceType: Integer; var SourceSubtype: Integer; var SourceID: Code[20]; var SourceBatchName: Code[10]; var SourceProdOrderLine: Integer; var SourceRefNo: Integer): BooleanShowDocument(RecordID: RecordID)RunOnBeforeRunProductionOrderPage(var ProductionOrder: Record Microsoft.Manufacturing.Document."Production Order"; var IsHandled: Boolean)+ BC27 − BC30 (internal)RunOnParentIsInPlanningOnAfterReqLineSetFilters(var RequisitionLine: Record "Requisition Line"; var ProdOrderComp: Record Microsoft.Manufacturing.Document."Prod. Order Component")+ BC27 − BC30 (internal)
Plus 23 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 99000872 “Sales Availability Mgt.” (3 calls:
GetBlanketSalesOrders → TransferFromSalesBlanketOrder,TryGetSalesOrdersDemandEntries → TransferFromSales,TryGetSalesRetOrderSupplyEntries → TransferFromSalesReturn) - Codeunit 99000876 “Transfer Availability Mgt.” (3 calls:
GetPlanningTransDemand → TransferFromOutboundTransOrder,TryGetTransferOrderSupplyEntries → TransferFromInboundTransOrder,TryGetTransOrderDemandEntries → TransferFromOutboundTransOrder) - Codeunit 99000879 “Req. Line Availability Mgt.” (3 calls:
GetPlanningComponents → TransferFromPlanProdComp,GetPlanningLines → TransferFromReqLine,GetPlanningTransDemand → TransferFromReqLineTransDemand) - Codeunit 99000973 “Purch. Availability Mgt.” (2 calls:
TryGetPurchOrderSupplyEntries → TransferFromPurchase,TryGetPurchRetOrderDemandEntries → TransferFromPurchReturn) - Page 130 “Posted Sales Shipment” (1 call:
ShowDocument → (object)) - Page 132 “Posted Sales Invoice” (1 call:
ShowDocument → (object)) - Page 134 “Posted Sales Credit Memo” (1 call:
ShowDocument → (object)) - Page 136 “Posted Purchase Receipt” (1 call:
ShowDocument → (object)) - Page 138 “Posted Purchase Invoice” (1 call:
ShowDocument → (object)) - Page 140 “Posted Purchase Credit Memo” (1 call:
ShowDocument → (object)) - Page 38 “Item Ledger Entries” (1 call:
ShowDocument → (object)) - Page 42 “Sales Order” (1 call:
RunSalesHeaderPage → (object)) - Page 43 “Sales Invoice” (1 call:
RunSalesHeaderPage → (object)) - Page 44 “Sales Credit Memo” (1 call:
RunSalesHeaderPage → (object)) - Page 50 “Purchase Order” (1 call:
RunPurchHeaderPage → (object)) - Page 507 “Blanket Sales Order” (1 call:
RunSalesHeaderPage → (object)) - Page 509 “Blanket Purchase Order” (1 call:
RunPurchHeaderPage → (object)) - Page 51 “Purchase Invoice” (1 call:
RunPurchHeaderPage → (object)) - Page 52 “Purchase Credit Memo” (1 call:
RunPurchHeaderPage → (object)) - Page 5740 “Transfer Order” (1 call:
ShowDocument → (object)) - Page 5743 “Posted Transfer Shipment” (1 call:
ShowDocument → (object)) - Page 5745 “Posted Transfer Receipt” (1 call:
ShowDocument → (object)) - Page 6630 “Sales Return Order” (1 call:
RunSalesHeaderPage → (object)) - Page 6640 “Purchase Return Order” (1 call:
RunPurchHeaderPage → (object)) - Page 6650 “Posted Return Shipment” (1 call:
ShowDocument → (object)) - Page 6660 “Posted Return Receipt” (1 call:
ShowDocument → (object))
Called by
- Codeunit 5531 “Calc. Inventory Page Data” (4 calls:
Initialize → CalcNewInvtEventBuf,Initialize → GetInvEventBuffer,ShowDocument → ShowDocument, …) - Codeunit 99000874 “Assembly Availability Mgt.” (2 calls:
TryGetAsmOrderDemandEntries → InsertEntry,TryGetAsmOrderSupllyEntries → InsertEntry) - Codeunit 99000875 “Prod. Order Availability Mgt.” (2 calls:
TryGetProdOrderCompDemandEntries → InsertEntry,TryGetProdOrderSupplyEntries → InsertEntry) - Codeunit 6452 “Serv. Availability Mgt.” (1 call:
TryGetServOrderDemandEntries → InsertEntry) - Codeunit 99000871 “Job Planning Availability Mgt.” (1 call:
TryGetJobOrdersDemandEntries → InsertEntry)
Recent changes
- 2026-10-02 #12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026 (main, BC30, obsoletion)
Deprecations
- procedure RunOnBeforeRunProductionOrderPage: guarded (#if not CLEAN27)
- procedure RunOnParentIsInPlanningOnAfterReqLineSetFilters: guarded (#if not CLEAN27)
- procedure OnBeforeRunProductionOrderPage: Pending 27.0 (#if not CLEAN27), “Moved to codeunit ProdOrderAvailabilityMgt”
- procedure OnParentIsInPlanningOnAfterReqLineSetFilters: Pending 27.0 (#if not CLEAN27), “Moved to codeunit ProdOrderAvailabilityMgt”
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: "Calc. Item Availability"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.