codeunitFinanceofficial - Microsoftderived - from the source, no model text

Codeunit 9200 "Matrix Management"

Base Application · Microsoft.Finance.Analysis

Across versions

  1. BC23present
  2. BC241 events added
  3. BC252 events added, 1 events removed
  4. BC261 procedures added, 1 events added
  5. BC27unchanged
  6. BC283 events added
  7. BC29-30unchanged

Neighbourhood 82 connected objects and pages

Page 7157 "Purch. Analysis by Dimensions" (calls, 7 links)Purch. Analysis by DimensionsPage 7158 "Sales Analysis by Dimensions" (calls, 7 links)Sales Analysis by DimensionsCodeunit 362 "PeriodPageManagement" (calls, 6 links)Page 9203 "Budget Matrix" (calls, 4 links)Budget MatrixPage 9219 "Purch. Budget Overview Matrix" (calls, 4 links)Page 9233 "G/L Balance by Dim. Matrix" (calls, 4 links)G/L Balance by Dim. MatrixPage 9239 "Sales Budget Overview Matrix" (calls, 4 links)Page 113 "Budget" (calls, 3 links)BudgetPage 7138 "Purchase Budget Overview" (calls, 3 links)Page 7139 "Sales Budget Overview" (calls, 3 links)Sales Budget OverviewPage 7159 "Invt. Analysis by Dimensions" (calls, 3 links)Invt. Analysis by DimensionsPage 866 "Cash Flow Availability Lines" (calls, 3 links)Cash Flow Availability LinesPage 9249 "Analysis by Dimensions Matrix" (calls, 3 links)Analysis by Dimensions MatrixCodeunit 5488 "Graph Mgt - Reports" (calls, 2 links)Page 1110 "Cost Type Balance" (calls, 2 links)Cost Type BalancePage 1117 "Cost Budget per Period" (calls, 2 links)Cost Budget per PeriodPage 1130 "Cost Type Balance Matrix" (calls, 2 links)Cost Type Balance MatrixPage 1131 "Cost Budget per Period Matrix" (calls, 2 links)Page 1132 "Cost Bdgt. per Center Matrix" (calls, 2 links)Cost Bdgt. per Center MatrixPage 1133 "Cost Bdgt. per Object Matrix" (calls, 2 links)Page 490 "Acc. Schedule Overview" (calls, 2 links)Acc. Schedule OverviewPage 5827 "Item Statistics" (calls, 2 links)Page 9201 "Inventory Analysis Matrix" (calls, 2 links)Page 9205 "Purchase Analysis Matrix" (calls, 2 links)Page 9207 "Sales Analysis Matrix" (calls, 2 links)Page 9223 "Item Statistics Matrix" (calls, 2 links)Page 9225 "Purch. Analysis by Dim Matrix" (calls, 2 links)Page 9227 "Sales Analysis by Dim Matrix" (calls, 2 links)Page 9257 "Opportunities Matrix" (calls, 2 links)Page 9275 "T. Value Insured per FA Matrix" (calls, 2 links)Page 9277 "FA Posting Types Overv. Matrix" (calls, 2 links)Codeunit 6493 "Serv. CashFlow Subscribers" (calls)Codeunit 7130 "Item Budget Management" (calls)Codeunit 7153 "Item Analysis Management" (calls)Codeunit 8 "AccSchedManagement" (calls)Page 1118 "Cost Budget by Cost Center" (calls)Page 1119 "Cost Budget by Cost Object" (calls)Page 1506 "Workflow Event Hierarchies" (calls)Page 1507 "WF Event/Response Combinations" (calls)Page 213 "Resource Capacity" (calls)

Open in the neighbourhood explorer

One hop out, from the extracted relations and call graph. Up to 40 shown; the sections below list them all.

Base Application · Microsoft.Finance.Analysis · BC23-30 · source at ea08af5e · facts from BC29

Events published

  • OnAfterGetCaption(var RecRef: RecordRef; CaptionFieldNo: Integer; var Caption: Text) (integration): Integration event raised after retrieving caption text for record display. Enables customization of caption formatting for matrix columns and rows.
  • OnBeforeGeneratePeriodAndCaption(PeriodType: Enum "Analysis Period Type"; Calendar: Record Date; var IsHandled: Boolean; UseNameForCaption: Boolean; var CurrSetLength: Integer; var CaptionSet: array[32] of Text[80]; var PeriodRecords: array[32] of Record Date temporary) + BC25 − BC25 (integration): Integration event raised before generating period-based matrix columns and captions. Enables custom period generation logic and caption formatting for time-based analysis.
  • OnSetDimColumnSetOnAfterDimValSetFilters(DimensionCode: Code[20]; DimFilter: Text; var DimensionValue: Record "Dimension Value") (integration): Integration event raised after applying dimension value filters in column set generation. Enables additional filtering logic for dimension-based matrix columns.
  • OnFormatRoundingFactorOnElse(var AmountDecimal: Text; RoundingFactor: Enum "Analysis Rounding Factor") (integration): Integration event for custom rounding factor formatting when standard cases don’t apply. Enables extending rounding factor formatting with custom logic.
  • OnFormatRoundingFactorNegativeFormatOnElse(AmountDecimal: Text; NegativeAmountFormat: Enum "Analysis Negative Format"; var Result: Text) + BC26 (integration): Integration event raised when handling negative format options for rounding factor formatting. Allows custom formatting logic for negative amounts that don’t match standard formats.
  • OnRoundAmountOnElse(var Amount: Decimal; RoundingFactor: Enum "Analysis Rounding Factor") (integration): Integration event raised when rounding amounts with custom rounding factors. Allows custom rounding logic for rounding factors not handled by standard processing.
  • OnRoundAmountOnAfterRound(var Amount: Decimal; RoundingFactor: Enum "Analysis Rounding Factor") + BC28 (integration): Integration event raised after an amount has been rounded according to the rounding factor. Allows subscribers to further adjust the rounded amount, for example to round to whole numbers.
  • OnFormatRoundingFactorOnAfterSetAmountDecimal(var AmountDecimal: Text; RoundingFactor: Enum "Analysis Rounding Factor") + BC28 (integration): Integration event raised after the decimal format text has been set for the rounding factor and before the negative amount format is applied. Allows subscribers to change the decimal formatting based on the rounding factor.
  • OnGenerateMatrixDataExtendedOnBeforeValidatePreviousStep(Steps: Integer; MaximumSetLength: Integer; var IsHandled: Boolean) (integration): Integration event raised before validating previous step in matrix data generation. Allows custom validation logic for matrix navigation and step processing.
  • OnGeneratePeriodMatrixDataOnBeforeAdjustPeriodWithDateFilter(DateFilter: Text; var TempPeriodRecords: array[32] of Record Date temporary; var CurrSetLength: Integer; var IsHandled: Boolean) (integration): Integration event raised before adjusting period records with date filter in matrix data generation. Allows custom period adjustment logic for date-filtered matrix generation.
  • OnGeneratePeriodMatrixDataOnBeforeFindDateBasedOnStepType(SetWanted: Option; var CalendarDate: Record Date; PeriodType: Enum "Analysis Period Type") + BC24 (integration): Integration event raised before finding date based on step type in period matrix data generation. Allows custom date finding logic for different step types in period-based matrices.
  • OnMatrixPageStepTypeInGenerateMatrixDataExtended(SetWanted: Option; MaximumSetLength: Integer; var RecRef: RecordRef) + BC25 (integration): Integration event raised when handling matrix page step type in extended matrix data generation. Allows custom step processing logic for matrix navigation in extended scenarios.
  • OnDimToCaptionsOnAfterDimensionValueSetFiltersOnBeforeFindSet(var DimensionValue: Record "Dimension Value") + BC28 (integration): Integration event raised after setting filters on dimension value record in dimension to captions procedure. Allows additional filtering or processing after standard filter application.

Procedures

  • SetPeriodColumnSet(DateFilter: Text; PeriodType: Enum "Analysis Period Type"; Direction: Option Backward,Forward; var FirstColumn: Date; var LastColumn: Date; NoOfColumns: Integer): Sets up period-based column set for matrix reports with date filters and navigation.
  • SetDimColumnSet(DimensionCode: Code[20]; DimFilter: Text; SetWanted: Option; var RecordPosition: Text; var FirstColumn: Text; var LastColumn: Text; NoOfColumns: Integer): Sets up dimension-based column set for matrix reports with dimension value navigation.
  • DimToCaptions(var CaptionSet: array[32] of Text[80]; var MatrixRecords: array[32] of Record "Dimension Code Buffer"; DimensionCode: Code[20]; FirstColumn: Text; LastColumn: Text; var NumberOfColumns: Integer; ShowColumnName: Boolean; var CaptionRange: Text; DimensionValueFilter: Text): Generates matrix data for dimension captions and records within a specified range.
  • GenerateMatrixData(var RecRef: RecordRef; SetWanted: Option; MaximumSetLength: Integer; CaptionFieldNo: Integer; var RecordPosition: Text; var CaptionSet: array[32] of Text[80]; var CaptionRange: Text; var CurrSetLength: Integer): Generates matrix data with standard caption length limit for record navigation.
  • GenerateMatrixDataExtended(var RecRef: RecordRef; SetWanted: Option; MaximumSetLength: Integer; CaptionFieldNo: Integer; var RecordPosition: Text; var CaptionSet: array[32] of Text; var CaptionRange: Text; var CurrSetLength: Integer; MaxCaptionLength: Integer): Generates matrix data with extended caption length support for record navigation.
  • GeneratePeriodMatrixData(SetWanted: Option; MaximumSetLength: Integer; UseNameForCaption: Boolean; PeriodType: Enum "Analysis Period Type"; DateFilter: Text; var RecordPosition: Text; var CaptionSet: array[32] of Text[80]; var CaptionRange: Text; var CurrSetLength: Integer; var PeriodRecords: array[32] of Record Date temporary): Generates period-based matrix data for analysis views and reports with time-based columns. Creates column captions, date ranges, and period records for matrix displays.
  • SetIndentation(var TextString: Text[1024]; Indentation: Integer): Adds indentation spaces to a text string for hierarchical display formatting. Used to create visual hierarchy in matrix displays and analysis reports.
  • GetPKRange(var RecRef: RecordRef; KeyFieldNo: Integer; RecordPosition: Text; CurrSetLength: Integer): Text[100]: Gets the primary key range for matrix column generation based on record position and set length. Calculates the key range for matrix navigation and column boundary determination.
  • GenerateDimColumnCaption(DimensionCode: Code[20]; DimFilter: Text; SetWanted: Option; var RecordPosition: Text; FirstColumn: Text; LastColumn: Text; var CaptionSet: array[32] of Text[80]; var DimensionCodeBuffer: array[32] of Record "Dimension Code Buffer"; var NumberOfColumns: Integer; ShowColumnName: Boolean; var CaptionRange: Text): Generates dimension column captions for matrix display based on dimension values and filters. Creates header text and populates dimension code buffers for matrix column generation.
  • RoundAmount(Amount: Decimal; RoundingFactor: Enum "Analysis Rounding Factor"): Decimal: Rounds amounts according to the specified analysis rounding factor for display purposes. Provides consistent amount rounding for analysis reports and matrix displays.
  • FormatAmount(Value: Decimal; RoundingFactor: Enum "Analysis Rounding Factor"; AddCurrency: Boolean): Text[30]: Formats decimal amount values with specified rounding and currency formatting. Applies rounding factor and formats the result for display in matrix cells.
  • FormatRoundingFactor(RoundingFactor: Enum "Analysis Rounding Factor"; AddCurrency: Boolean): Text + BC26: Generates formatting string for rounding factor display with currency support. Returns format pattern for decimal formatting with appropriate currency symbols.
  • FormatRoundingFactor(RoundingFactor: Enum "Analysis Rounding Factor"; AddCurrency: Boolean; NegativeAmountFormat: Enum "Analysis Negative Format"): Text + BC26: Generates formatting string for rounding factor display with currency and negative format support. Returns format pattern for decimal formatting with specified rounding, currency, and negative formatting.

Plus 5 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.

Called by

Recent changes

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: "Matrix Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources