Codeunit 7110 "Analysis Report Management"
Base Application · Microsoft.Inventory.Analysis
Across versions
- BC23present
- BC241 procedures changed
- BC255 procedures changed, 5 events added
- BC26unchanged
- BC271 procedures removed
- BC28-30unchanged
Neighbourhood 20 connected objects and pages
Base Application · Microsoft.Inventory.Analysis · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Analysis Line |
Events published
OnAfterCalcItemStatistics(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var AnalysisLine: Record "Analysis Line"; var AnalysisColumn: Record "Analysis Column"; DrillDown: Boolean; var ColValue: Decimal)(integration)OnAfterCalcIndirectCost(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; Item: Record Item; var Result: Decimal)(integration)OnAfterFilterItemAnalyViewEntry(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var ItemAnalysisViewEntry: Record "Item Analysis View Entry")(integration)OnAfterFilterItemAnalyViewBudgEntry(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var ItemAnalysisViewBudgEntry: Record "Item Analysis View Budg. Entry")(integration)OnAfterFilterItemBudgetEntry(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var ItemBudgetEntry: Record "Item Budget Entry")(integration)OnAfterFilterItemLedgEntry(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var ItemLedgEntry: Record "Item Ledger Entry")(integration)OnAfterFilterValueEntry(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var ValueEntry: Record "Value Entry")(integration)OnAfterSetItemColumnFilters(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; var AnalysisColumn: Record "Analysis Column")(integration)OnAfterSetItemRowFilters(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var AnalysisLine: Record "Analysis Line")(integration)OnBeforeValidateFilter(var FilterText: Text; RecNo: Integer; FieldNumber: Integer)(integration)OnCalcItemStatisticsOnAfterSetFilters(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var AnalysisLine: Record "Analysis Line")(integration)OnCalcUnitPriceOnBeforeReturnUnitPrice(var TempPriceListLine: Record "Price List Line"; Item: Record Item)(integration)OnBeforeOpenAnalysisLinesForm(var AnalysisLine2: Record "Analysis Line"; CurrentAnalysisLineTempl: Code[10]; var IsHandled: Boolean)(integration)OnBeforeOpenAnalysisColumnsForm(var AnalysisLine: Record "Analysis Line"; CurrentColumnTempl: Code[10]; var IsHandled: Boolean)(integration)OnAfterOpenColumns(var CurrentColumnTempl: Code[10]; var AnalysisLine: Record "Analysis Line"; var AnalysisColumn: Record "Analysis Column")(integration)OnCopyColumnsToTempOnBeforeAnalysisColumnFindset(var AnalysisColumn: Record "Analysis Column"; ColumnName: Code[10])(integration)OnDoLookupSourceNoOnElseCurrentSourceTypeFilter(CurrentSourceTypeFilter: Enum "Analysis Source Type"; var CurrentSourceTypeNoFilter: Text)(integration)OnBeforeCalcSalesAmount(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; Invoiced: Boolean; var IsHandled: Boolean; var Result: Decimal)+ BC25 (integration)OnBeforeCalcQuantity(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; Invoiced: Boolean; var IsHandled: Boolean; var Result: Decimal)+ BC25 (integration)OnBeforeCalcBudgetQuantity(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; var IsHandled: Boolean; var Result: Decimal)+ BC25 (integration)OnBeforeDrillDownQuantity(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; Invoiced: Boolean; var IsHandled: Boolean)+ BC25 (integration)OnBeforeDrillDownBudgetQuantity(var ItemStatisticsBuffer: Record "Item Statistics Buffer"; var IsHandled: Boolean)+ BC25 (integration)
Procedures
LookupAnalysisReportName(CurrentAnalysisArea: Enum "Analysis Area Type"; var CurrentReportName: Code[10]): BooleanCheckReportName(CurrentReportName: Code[10]; var AnalysisLine: Record "Analysis Line")OpenAnalysisLines(var CurrentLineTemplate: Code[10]; var AnalysisLine: Record "Analysis Line")CheckAnalysisLineTemplName(CurrentAnalysisLineTempl: Code[10]; var AnalysisLine: Record "Analysis Line")SetAnalysisLineTemplName(CurrentAnalysisLineTempl: Code[10]; var AnalysisLine: Record "Analysis Line")LookupAnalysisLineTemplName(var CurrentAnalysisLineTempl: Code[10]; var AnalysisLine: Record "Analysis Line"): BooleanOpenAnalysisLinesForm(var AnalysisLine2: Record "Analysis Line"; CurrentAnalysisLineTempl: Code[10])OpenAnalysisColumnsForm(var AnalysisLine: Record "Analysis Line"; CurrentColumnTempl: Code[10])OpenColumns(var CurrentColumnTempl: Code[10]; var AnalysisLine: Record "Analysis Line"; var AnalysisColumn: Record "Analysis Column")OpenColumns(var CurrentColumnTempl: Code[10]; var AnalysisColumn: Record "Analysis Column")GetColumnTemplate(CurrentAnalysisArea: Option Sale,Purchase,Inventory; CurrentColumnTemplate: Code[10])SetColumnName(CurrentAnalysisArea: Option Sale,Purchase,Inventory; CurrentColumnName: Code[10]; var AnalysisColumn: Record "Analysis Column")CopyColumnsToTemp(var AnalysisLine: Record "Analysis Line"; ColumnName: Code[10]; var TempAnalysisColumn: Record "Analysis Column")LookupAnalysisColumnName(CurrentAnalysisArea: Enum "Analysis Area Type"; var CurrentColumnName: Code[10]): BooleanSetSourceType(var AnalysisLine: Record "Analysis Line"; CurrentSourceTypeFilter: Option " ",Customer,Vendor,Item)SetSourceNo(var AnalysisLine: Record "Analysis Line"; CurrentSourceTypeNoFilter: Text)DoLookupSourceNo(var AnalysisLine: Record "Analysis Line"; CurrentSourceTypeFilter: Enum "Analysis Source Type"; var CurrentSourceTypeNoFilter: Text)CalcCell(var AnalysisLine: Record "Analysis Line"; var AnalysisColumn: Record "Analysis Column"; DrillDown: Boolean): DecimalSetItemRowFilters(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var AnalysisLine: Record "Analysis Line")SetItemColumnFilters(var ItemStatisticsBuf: Record "Item Statistics Buffer"; var AnalysisColumn: Record "Analysis Column")GetDivisionError(): BooleanGetPeriodError(): BooleanGetFormulaError(): BooleanGetCyclicError(): BooleanSetAnalysisLineTemplate(var NewAnalysisLineTemplate: Record "Analysis Line Template")SetExpression(Expression: Text[250])ValidateFilter(var Filter: Text; RecNo: Integer; FieldNumber: Integer; ConvertToNumbers: Boolean)
Plus 44 local procedures.
Triggers
OnRun
Relations
- runs on Table 7114 “Analysis Line”
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 360 “Accounting Period Mgt.” (4 calls:
AccPeriodStartEnd → AccPeriodStartEnd,CalcCell → FindFiscalYear,SetItemColumnFilters → FindEndOfFiscalYear, …) - Page 30 “Item Card” (4 calls:
DrillDownIndirectCost → (object),DrillDownStdCost → (object),DrillDownUnitCost → (object), …) - Codeunit 7001 “Price Calculation Mgt.” (2 calls:
CalcUnitPrice → GetHandler,DrillDownUnitPrice → GetHandler) - Codeunit 921 “Period Formula Parser” (1 call:
AccPeriodStartEnd → ParsePeriodFormula)
Called by
- Page 7117 “Sales Analysis Report” (14 calls:
CurrentColumnTemplateOnAfterValidate → CopyColumnsToTemp,CurrentLineTemplateOnAfterValidate → SetAnalysisLineTemplName,CurrentReportNameOnAfterValidate → CopyColumnsToTemp, …) - Page 7118 “Purchase Analysis Report” (14 calls:
CurrentColumnTemplateOnAfterValidate → CopyColumnsToTemp,CurrentLineTemplateOnAfterValidate → SetAnalysisLineTemplName,CurrentReportNameOnAfterValidate → CopyColumnsToTemp, …) - Page 7119 “Inventory Analysis Report” (14 calls:
CurrentColumnTemplateOnAfterValidate → CopyColumnsToTemp,CurrentLineTemplateOnAfterValidate → SetAnalysisLineTemplName,CurrentReportNameOnAfterValidate → CopyColumnsToTemp, …) - Page 9201 “Inventory Analysis Matrix” (6 calls:
FieldDrillDown → CalcCell,FindError → GetCyclicError,FindError → GetDivisionError, …) - Page 9205 “Purchase Analysis Matrix” (6 calls:
FieldDrillDown → CalcCell,FindError → GetCyclicError,FindError → GetDivisionError, …) - Page 9207 “Sales Analysis Matrix” (6 calls:
FieldDrillDown → CalcCell,FindError → GetCyclicError,FindError → GetDivisionError, …) - Page 7114 “Analysis Columns” (4 calls:
CurrentColumnNameOnAfterValida → SetColumnName,ItemLedgerEntryTypeFilterOnFor → ValidateFilter,OnOpenPage → OpenColumns, …) - Report 7112 “Analysis Report” (4 calls:
CalcColumns → CalcCell,CalcColumns → GetDivisionError,CalcColumns → GetPeriodError, …) - Codeunit 770 “Analysis Report Chart Mgt.” (2 calls:
DrillDown → CalcCell,UpdateData → CalcCell) - Page 7110 “Analysis Types” (2 calls:
ItemLedgerEntryTypeFilterOnFor → ValidateFilter,ValueEntryTypeFilterOnFormat → ValidateFilter) - Page 7115 “Inventory Analysis Lines” (2 calls:
CurrentAnalysisLineTemplOnAfte → SetAnalysisLineTemplName,OnOpenPage → OpenAnalysisLines) - Page 7120 “Sales Analysis Lines” (2 calls:
CurrentAnalysisLineTemplOnAfte → SetAnalysisLineTemplName,OnOpenPage → OpenAnalysisLines) - Page 7121 “Purchase Analysis Lines” (2 calls:
CurrentAnalysisLineTemplOnAfte → SetAnalysisLineTemplName,OnOpenPage → OpenAnalysisLines) - Report 7151 “Item Dimensions - Total” (2 calls:
CalcColumns → CalcCell,OnPreReport → SetAnalysisLineTemplate) - Codeunit 7112 “Analysis BarChart DrillDown” (1 call:
OnRun → CalcCell)
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: "Analysis Report Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.