---
id: object/table/348
type: object
title: Table 348 "Dimension"
summary: Table 348 "Dimension" in Base Application (Microsoft.Finance.Dimension). 9 fields, 9 public procedures, 8 events. Present since at least BC23, still in BC30, changed in BC24, BC26, BC29.
tier: official
language: en
tags:
  - table
  - base application
versions:
  introduced: null
  last_changed: "29"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 8f3b5f4ca00d49a18918b5d76d7e9e027e2af5a0b50dcd6a9d643eca8fd83c72
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/Dimension/Dimension.Table.al
    title: src/Layers/W1/BaseApp/Finance/Dimension/Dimension.Table.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn:
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/api/dynamics_dimension_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v1.0/resources/dynamics_dimension
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/api/dynamics_dimension_get
    - https://learn.microsoft.com/dynamics365/business-central/dev-itpro/api-reference/v2.0/resources/dynamics_dimension
    - https://learn.microsoft.com/dynamics365/business-central/finance-dimensions
  objects: []
  features: []
  topics:
    - topic/business-central/business-functionality/finance/working-with-dimensions
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: table
object_id: 348
name: Dimension
namespace: Microsoft.Finance.Dimension
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "24"
  - "26"
  - "29"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 9
  procedures: 28
  events: 8
  subscribers: 0
relations:
  out: 3
  referenced_by: 51
  pages: 9
  extended_by: 1
  event_subscribers: 1
  calls: 1
  called_by: 0
  implements: 0
---

# Table 348 "Dimension"

> Table 348 "Dimension" in Base Application (Microsoft.Finance.Dimension). 9 fields, 9 public procedures, 8 events. Present since at least BC23, still in BC30, changed in BC24, BC26, BC29.

Base Application · Microsoft.Finance.Dimension · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/Dimension/Dimension.Table.al) · facts from BC29

Learn documents this table through its pages: [Page 20021 "APIV1 - Dimensions"](../page/20021.md) (2 Learn pages), [Page 30021 "APIV2 - Dimensions"](../page/30021.md) (2), [Page 481 "Dimension Set ID Filter"](../page/481.md) (1), [Page 536 "Dimensions"](../page/536.md) (1), [Page 538 "Dimension Combinations"](../page/538.md) (1), [Page 548 "Dimension List"](../page/548.md) (1), [Page 9251 "Dimension Combinations Matrix"](../page/9251.md) (1).

## Properties

| Property | Value |
|---|---|
| Caption | Dimension |
| DataClassification | CustomerContent |

## Fields

Explanation: the field's ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | Code | Code[20] | Specifies the code for the dimension. | NotBlank |
| 2 | Name | Text[30] | Specifies the dimension code you enter in the Code field. |  |
| 3 | Code Caption | Text[80] | Specifies the caption of the dimension. This is displayed as the name of dimension fields. |  |
| 4 | Filter Caption | Text[80] | Specifies the caption of the dimension code when used as a filter. This is displayed as the name of dimension filter fields. |  |
| 5 | Description | Text[100] | Specifies a description of the dimension code. |  |
| 6 | Blocked | Boolean | Specifies that the related record is blocked from being posted in transactions, for example a customer that is declared insolvent or an item that is placed in quarantine. |  |
| 7 | Consolidation Code | Code[20] | Specifies the code that is used for consolidation. |  |
| 8 | Map-to IC Dimension Code | Code[20] | Specifies which intercompany dimension corresponds to the dimension on the line. | TableRelation [Table 411 "IC Dimension"](../table/411.md) (IC Dimension) |
| 8001 | Last Modified Date Time | DateTime | — |  |

## Keys

- Key1: Code (clustered)

## Events published

- `OnAfterDeleteRelatedRecords(DimensionCode: Code[20])` (integration): Integration event raised after deleting records related to a dimension being deleted. Enables cleanup of custom dimension-related data when a dimension is removed.
- `OnBeforeDeleteRelatedRecords(DimensionCode: Code[20])` (integration): Integration event raised before deleting records related to a dimension being deleted. Enables validation or preparation before dimension-related data cleanup occurs.
- `OnBeforeCheckIfDimUsed(DimChecked: Code[20]; DimTypeChecked: Enum "Dim Type Checked"; var UsedAsCustomDim: Boolean; var CustomDimErr: Text; AnalysisViewChecked: Code[10]; AnalysisAreaChecked: Integer)` (integration): Integration event raised before checking if a dimension is used in custom scenarios. Enables custom validation of dimension usage beyond standard Business Central checks.
- `OnBeforeCheckIfDimUsedAsAnalysisViewDim(AnalysisView: Record "Analysis View"; DimChecked: Code[20]; DimTypeChecked: Enum "Dim Type Checked"; CheckAllDim: Boolean; CheckAnalysisViewDim: Boolean; AnalysisViewChecked: Code[10]; var UsedAsAnalysisViewDim: Boolean; var IsHandled: Boolean)` (integration): Integration event raised before checking if a dimension is used as an analysis view dimension. Enables custom logic for determining dimension usage in analysis views and related scenarios.
- `OnBeforeCheckAllDimensions(var DimTypeChecked: Enum "Dim Type Checked"; var CheckAllDim: Boolean; var CheckGlobalDim: Boolean; var CheckShortcutDim: Boolean; var CheckBudgetDim: Boolean; var CheckAnalysisViewDim: Boolean; var CheckItemBudgetDim: Boolean; var CheckItemAnalysisViewDim: Boolean; var UsedAsCustomDim: Boolean; var CustomDimErr: Text; var IsHandled: Boolean)` (integration)
- `OnAfterCheckAllDimensions(var DimTypeChecked: Enum "Dim Type Checked"; var CheckAllDim: Boolean; var CheckGlobalDim: Boolean; var CheckShortcutDim: Boolean; var CheckBudgetDim: Boolean; var CheckAnalysisViewDim: Boolean; var CheckItemBudgetDim: Boolean; var CheckItemAnalysisViewDim: Boolean; var UsedAsCustomDim: Boolean; var CustomDimErr: Text)` (integration)
- `OnBeforeCheckIfDimUsedAsItemAnalysisViewDim(var ItemAnalysisView: Record "Item Analysis View"; var DimChecked: Code[20]; var DimTypeChecked: Enum "Dim Type Checked"; var AnalysisViewChecked: Code[10]; var AnalysisAreaChecked: Integer; var CheckAllDim: Boolean; var CheckItemAnalysisViewDim: Boolean; var UsedAsItemAnalysisViewDim: Boolean; var IsHandled: Boolean)` (integration)
- `OnAfterCheckIfDimUsedAsItemAnalysisViewDim(var ItemAnalysisView: Record "Item Analysis View"; var DimChecked: Code[20]; var DimTypeChecked: Enum "Dim Type Checked"; var AnalysisViewChecked: Code[10]; var AnalysisAreaChecked: Integer; var CheckAllDim: Boolean; var CheckItemAnalysisViewDim: Boolean; var UsedAsItemAnalysisViewDim: Boolean)` (integration)

## Trigger event subscribers

- OnBeforeInsertEvent: [Codeunit 5291 "Mapping Helper SAF-T"](../codeunit/5291.md) UpdateSAFAnalysisTypeOnBeforeDimensionInsert

## Procedures

- `CheckIfDimUsed(DimChecked: Code[20]; DimTypeChecked: Enum "Dim Type Checked"; BudgetNameChecked: Code[10]; AnalysisViewChecked: Code[10]; AnalysisAreaChecked: Integer): Boolean`: Checks if a dimension is being used in various system setups, posted entries, or budgets. This comprehensive check prevents deletion of dimensions that would cause data integrity issues.
- `GetCheckDimErr(): Text[250]`: Returns the formatted error message indicating where the dimension is being used. Used in conjunction with CheckIfDimUsed to provide detailed error information.
- `GetMLName(LanguageID: Integer): Text[30]`: Retrieves the multilanguage name for the dimension in the specified language. Falls back to the default name if no translation exists.
- `GetMLCodeCaption(LanguageID: Integer): Text[80]`: Retrieves the multilanguage code caption for the dimension in the specified language. Falls back to the default code caption if no translation exists.
- `GetMLFilterCaption(LanguageID: Integer): Text[80]`: Retrieves the multilanguage filter caption for the dimension in the specified language. Falls back to the default filter caption if no translation exists.
- `SetMLName(NewMLName: Text[30]; LanguageID: Integer)`: Sets the multilanguage name for the dimension in the specified language. Updates either the main record or creates/updates a translation record.
- `SetMLCodeCaption(NewMLCodeCaption: Text[80]; LanguageID: Integer)`: Sets the multilanguage code caption for the dimension in the specified language. Updates either the main record or creates/updates a translation record.
- `SetMLFilterCaption(NewMLFilterCaption: Text[80]; LanguageID: Integer)`: Sets the multilanguage filter caption for the dimension in the specified language. Updates either the main record or creates/updates a translation record.
- `SetMLDescription(NewMLDescription: Text[100]; LanguageID: Integer)`: Sets the multilanguage description for the dimension in the specified language. Currently only creates the translation record structure without storing the description value.

Plus 11 local procedures.

## Triggers

OnDelete, OnInsert, OnModify, OnRename

## Relations

- drill-down page [Page 548 "Dimension List"](../page/548.md)
- lookup page [Page 548 "Dimension List"](../page/548.md)
- Map-to IC Dimension Code: TableRelation [Table 411 "IC Dimension"](../table/411.md)

## Referenced by

51 fields in 24 objects relate to this table (TableRelation or CalcFormula).

- [Table 98 "General Ledger Setup"](../table/98.md): Global Dimension 1 Code, Global Dimension 2 Code, Shortcut Dimension 1 Code, Shortcut Dimension 2 Code, Shortcut Dimension 3 Code, Shortcut Dimension 4 Code, Shortcut Dimension 5 Code, Shortcut Dimension 6 Code, Shortcut Dimension 7 Code, Shortcut Dimension 8 Code
- [Table 363 "Analysis View"](../table/363.md): Dimension 1 Code, Dimension 2 Code, Dimension 3 Code, Dimension 4 Code
- [Table 484 "Change Global Dim. Header"](../table/484.md): Global Dimension 1 Code, Global Dimension 2 Code, Old Global Dimension 1 Code, Old Global Dimension 2 Code
- [Table 95 "G/L Budget Name"](../table/95.md): Budget Dimension 1 Code, Budget Dimension 2 Code, Budget Dimension 3 Code, Budget Dimension 4 Code
- [Table 7132 "Item Budget Name"](../table/7132.md): Budget Dimension 1 Code, Budget Dimension 2 Code, Budget Dimension 3 Code
- [Table 7152 "Item Analysis View"](../table/7152.md): Dimension 1 Code, Dimension 2 Code, Dimension 3 Code
- [Table 1108 "Cost Accounting Setup"](../table/1108.md): Cost Center Dimension, Cost Object Dimension
- [Table 311 "Sales & Receivables Setup"](../table/311.md): Customer Group Dimension Code, Salesperson Dimension Code
- [Table 480 "Dimension Set Entry"](../table/480.md): Dimension Name, Dimension Code
- [Table 482 "Reclas. Dimension Set Buffer"](../table/482.md): Dimension Name, Dimension Code
- [Table 5489 "Dimension Set Entry Buffer"](../table/5489.md): Dimension Name, Dimension Code
- [Table 1302 "Dimensions Template"](../table/1302.md): Dimension Code
- [Table 313 "Inventory Setup"](../table/313.md): Item Group Dimension Code
- [Table 349 "Dimension Value"](../table/349.md): Dimension Code
- [Table 352 "Default Dimension"](../table/352.md): Dimension Code
- [Table 357 "Gen. Jnl. Dim. Filter"](../table/357.md): Dimension Code
- [Table 360 "Dimension Buffer"](../table/360.md): Dimension Code
- [Table 364 "Analysis View Filter"](../table/364.md): Dimension Code
- [Table 388 "Dimension Translation"](../table/388.md): Code
- [Table 411 "IC Dimension"](../table/411.md): Map-to Dimension Code
- [Table 7114 "Analysis Line"](../table/7114.md): Group Dimension Code
- [Table 7153 "Item Analysis View Filter"](../table/7153.md): Dimension Code
- [Table 8051 "Subscription Contract Setup"](../table/8051.md): Dimension Code Cust. Contr.
- [Table extension 8051 "General Ledger Setup"](../tableextension/8051.md): Dimension Code Cust. Contr.

## Pages and codeunits on this table

- [Page 20021 "APIV1 - Dimensions"](../page/20021.md) (source table)
- [Page 30021 "APIV2 - Dimensions"](../page/30021.md) (source table)
- [Page 481 "Dimension Set ID Filter"](../page/481.md) (source table)
- [Page 536 "Dimensions"](../page/536.md) (source table)
- [Page 538 "Dimension Combinations"](../page/538.md) (source table)
- [Page 548 "Dimension List"](../page/548.md) (source table)
- [Page 667 "IC Mapping Dimension Outgoing"](../page/667.md) (source table)
- [Page 705 "IC Dimensions Selector"](../page/705.md) (source table)
- [Page 9251 "Dimension Combinations Matrix"](../page/9251.md) (source table)

## Extended by

- [Table extension 5282 "Dimension SAF-T"](../tableextension/5282.md)

## 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 43 "Language"](../codeunit/43.md) (1 call: `IsApplicationLanguage → GetDefaultApplicationLanguageId`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC24, BC26, BC29

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: "table", object_name: "Dimension")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
