Page 9203 "Budget Matrix"
Base Application · Microsoft.Finance.Analysis
Across versions
- BC23-24present
- BC251 procedures added, 1 procedures changed
- BC26unchanged
- BC272 events added
- BC28unchanged
- BC291 procedures removed
- BC30unchanged
Neighbourhood 8 connected objects and pages
Base Application · Microsoft.Finance.Analysis · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Budget Matrix |
| SourceTable | Dimension Code Buffer |
| PageType | ListPart |
Fields on this page
Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control’s own, else the bound field’s (marked).
| Group | Control | Shows | ToolTip |
|---|---|---|---|
| Control1 | Code | Code | Specifies the code of the record. from the table field |
| Name | Name | Specifies the name of the record. from the table field | |
| Budgeted Amount | Amount | Specifies the G/L account’s total budget. | |
| Field1 | MATRIX_CellData[1] |
— | |
| Field2 | MATRIX_CellData[2] |
— | |
| Field3 | MATRIX_CellData[3] |
— | |
| Field4 | MATRIX_CellData[4] |
— | |
| Field5 | MATRIX_CellData[5] |
— | |
| Field6 | MATRIX_CellData[6] |
— | |
| Field7 | MATRIX_CellData[7] |
— | |
| Field8 | MATRIX_CellData[8] |
— | |
| Field9 | MATRIX_CellData[9] |
— | |
| Field10 | MATRIX_CellData[10] |
— | |
| Field11 | MATRIX_CellData[11] |
— | |
| Field12 | MATRIX_CellData[12] |
— |
Actions
| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Balance | G/L Account Balance/Budget | Open a summary of the debit and credit balances for the current budget. |
Events published
OnAfterFindRec(DimType: Enum "G/L Budget Matrix Dimensions"; Which: Text[250]; var DimensionCodeBuffer: Record "Dimension Code Buffer"; var Found: Boolean)(integration): Integration event raised after finding records in budget matrix dimension navigation. Enables custom record finding logic for dimension-based matrix navigation.OnAfterLookUpCode(DimType: Enum "G/L Budget Matrix Dimensions"; DimCode: Text[30]; FieldCode: Text[30])(integration): Integration event raised after performing lookup for dimension codes in budget matrix. Enables custom processing after dimension code lookup operations.OnAfterNextRec(DimType: Enum "G/L Budget Matrix Dimensions"; Steps: Integer; var DimensionCodeBuffer: Record "Dimension Code Buffer"; var ResultSteps: Integer)(integration): Integration event raised after navigating to next record in budget matrix dimension data. Enables custom processing for record navigation results.OnAfterSetCommonFilters(var TheGLAccBudgetBuffer: Record "G/L Acc. Budget Buffer")(integration): Integration event raised after setting common filters on G/L Account Budget Buffer. Enables additional filtering logic for budget data retrieval.OnAfterSetDimFilters(var TheGLAccBudgetBuffer: Record "G/L Acc. Budget Buffer"; DimType: Enum "G/L Budget Matrix Dimensions"; DimCodeBuf: Record "Dimension Code Buffer")(integration): Integration event raised after setting dimension-specific filters on G/L Account Budget Buffer. Enables additional dimension-based filtering logic for budget matrix data.OnAfterSetIncomeBalanceGLAccFilterOnGLAcc(var GLAccount: Record "G/L Account")(integration): Integration event raised after setting Income/Balance filter on G/L Account records. Enables additional account type filtering for budget analysis.OnAfterSetDimensionValueFilters(var DimensionValue: Record "Dimension Value")(integration): Integration event raised after setting filters on Dimension Value records. Enables additional dimension value filtering for budget matrix analysis.OnAfterUpdateAmount()(integration): Integration event raised after updating amount in budget matrix cell. Enables post-processing logic after budget amount modifications.OnBeforeUpdateAmount(MATRIX_ColumnOrdinal: Integer)(integration): Integration event raised before updating amount in budget matrix cell. Enables pre-processing logic and validation before budget amount modifications.OnBeforeCalcFieldsAndGetBudgetedAmount(var GLAccBudgetBuffer: Record "G/L Acc. Budget Buffer"; var Result: Decimal; var IsHandled: Boolean)(integration): Integration event raised before calculating fields and getting budgeted amount. Enables custom budget amount calculation logic.OnBeforeCalcFieldsAndSetNewBudgetedAmount(var GLAccBudgetBuf: Record "G/L Acc. Budget Buffer"; NewAmount: Decimal; var IsHandled: Boolean)(integration): Integration event raised before calculating fields and setting new budgeted amount. Enables custom budget amount setting logic.OnBudgetDrillDownOnBeforePageRun(var GLAccBudgetBuffer: Record "G/L Acc. Budget Buffer"; var GLBudgetEntry: Record "G/L Budget Entry"; var IsHandled: Boolean)+ BC25 − BC25 (integration): Integration event raised before running budget drill-down page. Enables custom page handling for budget drill-down operations.OnAfterCopyGLAccToBuf(GLAcc: Record "G/L Account"; var DimCodeBuf: Record "Dimension Code Buffer")+ BC27 (integration): Integration event raised after copying G/L Account data to dimension code buffer. Enables custom data processing when copying account information to buffer.OnAfterCopyDimValueToBuf(DimVal: Record "Dimension Value"; var DimCodeBuf: Record "Dimension Code Buffer")+ BC27 (integration): Integration event raised after copying Dimension Value data to dimension code buffer. Enables custom data processing when copying dimension value information to buffer.
Procedures
LoadMatrix(NewMatrixColumns: array[32] of Text[80]; var NewMatrixRecords: array[12] of Record "Dimension Code Buffer"; CurrentNoOfMatrixColumns: Integer; NewLineDimCode: Text[30]; NewLineDimType: Enum "G/L Budget Matrix Dimensions"; NewColumnDimType: Enum "G/L Budget Matrix Dimensions"; NewGlobalDim1Filter: Code[250]; NewGlobalDim2Filter: Code[250]; NewBudgetDim1Filter: Code[250]; NewBudgetDim2Filter: Code[250]; NewBudgetDim3Filter: Code[250]; NewBudgetDim4Filter: Code[250]; var NewGLBudgetName: Record "G/L Budget Name"; NewDateFilter: Text[30]; NewGLAccFilter: Text; NewIncomeBalanceGLAccFilter: Enum "G/L Account Income/Balance"; NewGLAccCategoryFilter: Enum "G/L Account Category"; NewRoundingFactor: Enum "Analysis Rounding Factor"; NewPeriodType: Enum "Analysis Period Type")+ BC25 Δ BC25 − BC29: Loads matrix data with dimension filters and configuration for budget analysis display. Configures matrix columns, filters, and parameters for multi-dimensional budget reporting.
Plus 23 local procedures.
Triggers
OnAfterGetRecord, OnFindRecord, OnNextRecord, OnOpenPage
Relations
- source table Table 367 “Dimension Code Buffer”
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 9200 “Matrix Management” (4 calls:
LoadMatrix → FormatRoundingFactor,MATRIX_OnAfterGetRecord → RoundAmount,OnAfterGetRecord → RoundAmount, …) - Codeunit 362 “PeriodPageManagement” (2 calls:
FindRec → FindDate,NextRec → NextDate) - Page 154 “G/L Account Balance/Budget” (1 call:
GLAccountBalanceBudget → (object)) - Page 18 “G/L Account List” (1 call:
LookUpCode → (object)) - Page 240 “Business Unit List” (1 call:
LookUpCode → (object)) - Page 560 “Dimension Value List” (1 call:
LookUpCode → (object))
Documented on Microsoft Learn
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: "page", object_name: "Budget Matrix"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.