Codeunit 5431 "Calc. Item Plan - Plan Wksh."
Base Application · Microsoft.Manufacturing.Planning
Across versions
- BC23-24present
- BC253 events added, 1 events removed
- BC26unchanged
- BC274 events added, 1 procedures added
- BC282 procedures added
- BC29unchanged
- BC301 procedures added, 1 events removed
Neighbourhood 5 connected objects and pages
Base Application · Microsoft.Manufacturing.Planning · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Item |
Events published
OnBeforeCheckPreconditions(var Item: Record Item; MPS: Boolean; MRP: Boolean; FromDate: Date; ToDate: Date; var IsHandled: Boolean)(integration)OnBeforeCalculateAndGetPlanningCompList(var Item: Record Item; CurrTemplateName: Code[10]; CurrWorksheetName: Code[10]; ToDate: Date; FromDate: Date; UseForecast: Code[10]; ExcludeForecastBefore: Date; MfgSetup: Record Microsoft.Manufacturing.Setup."Manufacturing Setup"; MRP: Boolean; RespectPlanningParm: Boolean; var TempPlanningCompList: Record "Planning Component" temporary; var IsHandled: Boolean; var InventoryProfileOffsetting: Codeunit "Inventory Profile Offsetting")+ BC27 − BC27 − BC30 (integration, obsolete 27.0)OnBeforeCalculateAndGetPlanningComponents(var Item: Record Item; CurrTemplateName: Code[10]; CurrWorksheetName: Code[10]; ToDate: Date; FromDate: Date; UseForecast: Code[10]; ExcludeForecastBefore: Date; MRP: Boolean; RespectPlanningParm: Boolean; var TempPlanningCompList: Record "Planning Component" temporary; var IsHandled: Boolean; var InventoryProfileOffsetting: Codeunit "Inventory Profile Offsetting")+ BC27 (integration)OnBeforePlanThisItem(Item: Record Item; var IsHandled: Boolean; MPS: Boolean; MRP: Boolean; NetChange: Boolean; var FromDate: Date; ToDate: Date; UseForecast: Code[10]; RespectPlanningParm: Boolean; var Result: Boolean)(integration)OnCodeOnAfterGetPlanningComponents(Item: Record Item)(integration)OnCodeOnAfterSetReqLineFilters(var ReqLineExtern: Record "Requisition Line"; CurrTemplateName: Code[10]; CurrWorksheetName: Code[10]; var FromDate: Date; var ToDate: Date)+ BC25 − BC25 (integration)OnCodeOnBeforeInvtProfileOffsettingSetParm(Item: Record Item)(integration)OnCodeOnBeforeTempItemListInsert(TempItemList: Record Item temporary; var IsHandled: Boolean)(integration)OnPlanThisItemOnBeforeCheckServJobPlanningLines(var Item: Record Item; var IsHandled: Boolean; MPS: Boolean; MRP: Boolean; NetChange: Boolean; var FromDate: Date; ToDate: Date; UseForecast: Code[10]; RespectPlanningParm: Boolean; var Result: Boolean; var DoExit: Boolean)(integration)OnPlanThisItemOnBeforeExitMPS(var Item: Record Item; var LinesExist: Boolean)+ BC25 (integration)- subscribers: Codeunit 6450 “Serv. Integration Mgt.” OnPlanThisItemOnBeforeExitMPS
OnAfterCode(var TempItemList: Record Item temporary; var FromDate: Date; var ToDate: Date)+ BC25 (integration)OnAfterReqLineExternDelete(var Item: Record Item)+ BC27 (integration)- subscribers: Codeunit 99000821 “Mfg. CalcItemPlanPlanWksh” OnAfterReqLineExternDelete
OnProdOrderLineIsEmpty(var Item: Record Item; var Result: Boolean)+ BC27 (integration)- subscribers: Codeunit 99000821 “Mfg. CalcItemPlanPlanWksh” OnProdOrderLineIsEmpty
Procedures
Initialize(NewFromDate: Date; NewToDate: Date; NewMPS: Boolean; NewMRP: Boolean; NewRespectPlanningParm: Boolean)Finalize()SetTemplAndWorksheet(TemplateName: Code[10]; WorksheetName: Code[10]; NetChange2: Boolean)SetParm(Forecast: Code[10]; ExclBefore: Date; var Item2: Record Item)SetResiliencyOn()GetResiliencyError(var PlanningErrorLogEntry: Record "Planning Error Log"): BooleanGetResiliencyErrors(var PlanningErrorLogEntry: Record "Planning Error Log"): Boolean+ BC28: Gets the resiliency errors for the current item in planning and logs them in the “Planning Error Log” table.GetPlanningSkippedForMissingSKUPolicy(): Boolean+ BC28: Gets whether planning was skipped for the current item due to a missing SKU policy.ClearInvtProfileOffsetting()
Plus 5 local procedures.
Triggers
OnRun
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 99000854 “Inventory Profile Offsetting” (7 calls:
CalculateAndGetPlanningCompList → CalculatePlanFromWorksheet,CalculateAndGetPlanningCompList → GetPlanningCompList,CalculateAndGetPlanningCompList → SetParm, …) - Codeunit 99000845 “Reservation Management” (2 calls:
Finalize → AutoTrack,Finalize → SetReservSource)
Recent changes
- 2026-10-02 #12066 Bugs/remove asm inv mfg clean27 tags for wave2 2026 (main, BC30, obsoletion)
- 2026-08-27 #9196 [Master] - What If Impact on Planning and Supply (main, BC30, feature)
Deprecations
- procedure OnBeforeCalculateAndGetPlanningCompList: Pending 27.0 (#if not CLEAN27), “Replaced by event OnBeforeCalculateAndGetPlanningComponents()”
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 Plan - Plan Wksh."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.