Codeunit 1850 "Sales Forecast Handler"
SalesAndInventoryForecast · Microsoft.Inventory.InventoryForecast
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 7 connected objects and pages
SalesAndInventoryForecast · Microsoft.Inventory.InventoryForecast · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Item |
Events published
OnAfterPrepareSalesInvData(ItemNo: Code[20]; var TempTimeSeriesBuffer: Record "Time Series Buffer"; PeriodType: Integer; ForecastStartDate: Date; NumberOfPeriodsWithHistory: Integer; var Status: Option " ","Missing API","Not enough historical data","Out of limit")(integration)OnAfterHasMinimumSIHistData(ItemNo: Code[20]; var HasMinimumHistoryLoc: boolean; var NumberOfPeriodsWithHistoryLoc: Integer; PeriodType: Integer; ForecastStartDate: Date; var Status: Option " ","Missing API","Not enough historical data","Out of limit")(integration)
Event subscriptions
- OnAfterGetCurrRecordOnItemCard subscribes to Page “Item Card” OnAfterGetCurrRecordEvent
- OnAfterGetCurrRecordOnItemList subscribes to Page “Item List” OnAfterGetCurrRecordEvent
- OnItemDelete subscribes to Table “Item” OnAfterDeleteEvent
- HandleSalesInventoryForecastSetupRegisterServiceConnection subscribes to Table “Service Connection” OnRegisterServiceConnection
- InsertIntoManualSetupOnRegisterManualSetup subscribes to Codeunit “Guided Experience” OnRegisterManualSetup
Procedures
CalculateForecast(var Item: Record Item; TimeSeriesManagement: Codeunit "Time Series Management"): BooleanPrepareForecast(var MSSalesForecastParameter: Record "MS - Sales Forecast Parameter"; ItemNo: Code[20]; TimeSeriesManagement: Codeunit "Time Series Management"): BooleanInitializeTimeseries(var TimeSeriesManagement: Codeunit "Time Series Management"; MSSalesForecastSetupRec: Record "MS - Sales Forecast Setup"): BooleanSetItemLedgerEntryFilters(var ItemLedgerEntry: Record "Item Ledger Entry"; ItemNo: Code[20])ThrowStatusError()UpdateSalesForecastItemList(var Item: Record Item)
Plus 2 local procedures.
Relations
- runs on Table 27 “Item”
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 2000 “Time Series Management” (8 calls:
CalculateForecast → Forecast,CalculateForecast → GetForecast,InitializeTimeseries → GetMLForecastCredentials, …) - Codeunit 1990 “Guided Experience” (1 call:
InsertIntoManualSetupOnRegisterManualSetup → InsertManualSetup) - Codeunit 2006 “Azure AI Usage” (1 call:
InitializeTimeseries → IsLimitReached)
Called by
- Codeunit 1853 “Sales Forecast Update” (1 call:
TryCalculateForecast → CalculateForecast) - Page 1850 “Sales Forecast” (1 call:
UpdateStatus → SetItemLedgerEntryFilters) - Page 1851 “Sales Forecast No Chart” (1 call:
UpdateStatus → SetItemLedgerEntryFilters)
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 Forecast Handler"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.