Codeunit 912 "Calculate Assembly Cost"
Base Application · Microsoft.Assembly.Costing
Across versions
- BC23-25not present
- BC26added
- BC271 procedures changed
- BC28-30unchanged
Neighbourhood 7 connected objects and pages
Base Application · Microsoft.Assembly.Costing · BC26-30 · source at ea08af5e · facts from BC29
Events published
OnAfterSetProperties(var NewCalculationDate: Date; var NewCalcMultiLevel: Boolean; var NewLogErrors: Boolean; var NewStdCostWkshName: Text[50]; var NewShowDialog: Boolean)(integration)OnBeforeCalcItems(var Item: Record Item)(integration)OnBeforeCalcItem(var Item: Record Item; var IsHandled: Boolean)(integration)OnCalcAssemblyItemOnAfterInitItemCost(var Item: Record Item)(integration)OnCalcAssemblyItemOnAfterCalcItemRolledupCost(var Item: Record Item)(integration)OnCalcAssemblyItemOnAfterCalcSingleLevelCost(var Item: Record Item)(integration)OnCalcAssemblyItemOnAfterCalcItemCost(var Item: Record Item; CompItem: Record Item; BOMComponent: Record "BOM Component"; ComponentQuantity: Decimal)(integration)OnCalcItemOnBeforeShowStrMenu(var Item: Record Item; var ShowStrMenu: Boolean; var NewCalcMultiLevel: Boolean)(integration)OnCalcItemOnAfterCalcShowConfirm(Item: Record Item; var CalcMfgItems: Boolean; var ShowConfirm: Boolean)(integration)OnAfterGetItem(var Item: Record Item; StdCostWkshName: Text[50]; IsInBuffer: Boolean)(integration)OnBeforeSetProperties(var NewCalculationDate: Date; var NewCalcMultiLevel: Boolean; var NewLogErrors: Boolean; var NewStdCostWkshName: Text[50]; var NewShowDialog: Boolean)(integration)OnBeforeDoCalcAssemblyItemPrice(var Item: Record Item; Level: Integer; MaxLevel: Integer; CalcMultiLevel: Boolean; var IsHandled: Boolean)(integration)OnDoCalcAssemblyItemPriceOnAfterSetBOMCompFilters(var Item: Record Item; var BOMComponent: Record "BOM Component")(integration)OnGetResCostOnBeforeAssignPriceListLineToTemp(var PriceListLine: Record "Price List Line"; var TempItem: Record Item temporary; StdCostWkshName: Text[50])(integration)
Event subscriptions
- OnAfterGetItemCosts subscribes to Table “Microsoft.Manufacturing.StandardCost.“Standard Cost Worksheet”” OnAfterGetItemCosts
Procedures
SetProperties(NewCalculationDate: Date; NewCalcMultiLevel: Boolean; NewLogErrors: Boolean; NewStdCostWkshName: Text[50]; NewShowDialog: Boolean)TestPreconditions(var Item: Record Item)CalcItem(ItemNo: Code[20])CalcItems(var Item: Record Item; var NewTempItem: Record Item)CalcAssemblyItemPrice(ItemNo: Code[20])CalculateAssemblyCostExp(AssemblyHeader: Record "Assembly Header"; var ExpCost: array[5] of Decimal)CalcOverHeadAmt(CostAmt: Decimal; IndirectCostPct: Decimal; OverheadRateAmt: Decimal): DecimalCalcAsmOrderStatistics(AssemblyHeader: Record "Assembly Header"; var Value: array[5, 5] of Decimal)CalcPostedAsmOrderStatistics(PostedAssemblyHeader: Record "Posted Assembly Header"; var Value: array[5, 5] of Decimal)
Plus 13 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 5402 “Unit of Measure Management” (4 calls:
CalcAssemblyItem → GetQtyPerUnitOfMeasure,CalcAssemblyItem → GetResQtyPerUnitOfMeasure,DoCalcAssemblyItemPrice → GetQtyPerUnitOfMeasure, …) - Codeunit 5804 “ItemCostManagement” (1 call:
CalcItem → UpdateStdCostShares) - Codeunit 5836 “Cost Calculation Management” (1 call:
GetResCost → CalcDirUnitCost) - Codeunit 7001 “Price Calculation Mgt.” (1 call:
FindResourceCost → GetHandler)
Called by
- Page 916 “Assembly Order Statistics” (1 call:
OnAfterGetRecord → CalcAsmOrderStatistics) - Page 923 “Posted Asm. Order Statistics” (1 call:
OnAfterGetRecord → CalcPostedAsmOrderStatistics) - Table 900 “Assembly Header” (1 call:
UpdateUnitCost → CalcOverHeadAmt)
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: "Calculate Assembly Cost"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.