Table 348 "Dimension"
Base Application · Microsoft.Finance.Dimension
Across versions
- BC23present
- BC24declaration changed
- BC25unchanged
- BC261 fields removed
- BC27-28unchanged
- BC298 fields changed, 6 events added
- BC30unchanged
Neighbourhood 42 connected objects and pages
Base Application · Microsoft.Finance.Dimension · BC23-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 20021 “APIV1 - Dimensions” (2 Learn pages), Page 30021 “APIV2 - Dimensions” (2), Page 481 “Dimension Set ID Filter” (1), Page 536 “Dimensions” (1), Page 538 “Dimension Combinations” (1), Page 548 “Dimension List” (1), Page 9251 “Dimension Combinations Matrix” (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 Δ BC29 | Code[20] | Specifies the code for the dimension. | NotBlank |
| 2 | Name Δ BC29 | Text[30] | Specifies the dimension code you enter in the Code field. | |
| 3 | Code Caption Δ BC29 | Text[80] | Specifies the caption of the dimension. This is displayed as the name of dimension fields. | |
| 4 | Filter Caption Δ BC29 | 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 Δ BC29 | Text[100] | Specifies a description of the dimension code. | |
| 6 | Blocked Δ BC29 | 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 Δ BC29 | Code[20] | Specifies the code that is used for consolidation. | |
| 8 | Map-to IC Dimension Code Δ BC29 | Code[20] | Specifies which intercompany dimension corresponds to the dimension on the line. | TableRelation Table 411 “IC Dimension” (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)+ BC29 − BC29 (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)+ BC29 − BC29 (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)+ BC29 (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)+ BC29 (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)+ BC29 (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)+ BC29 (integration)
Trigger event subscribers
- OnBeforeInsertEvent: Codeunit 5291 “Mapping Helper SAF-T” UpdateSAFAnalysisTypeOnBeforeDimensionInsert
Procedures
CheckIfDimUsed(DimChecked: Code[20]; DimTypeChecked: Enum "Dim Type Checked"; BudgetNameChecked: Code[10]; AnalysisViewChecked: Code[10]; AnalysisAreaChecked: Integer): Boolean+ BC29 − BC29: 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”
- lookup page Page 548 “Dimension List”
- Map-to IC Dimension Code: TableRelation Table 411 “IC Dimension”
Referenced by
51 fields in 24 objects relate to this table (TableRelation or CalcFormula).
- Table 98 “General Ledger Setup”: 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”: Dimension 1 Code, Dimension 2 Code, Dimension 3 Code, Dimension 4 Code
- Table 484 “Change Global Dim. Header”: Global Dimension 1 Code, Global Dimension 2 Code, Old Global Dimension 1 Code, Old Global Dimension 2 Code
- Table 95 “G/L Budget Name”: Budget Dimension 1 Code, Budget Dimension 2 Code, Budget Dimension 3 Code, Budget Dimension 4 Code
- Table 7132 “Item Budget Name”: Budget Dimension 1 Code, Budget Dimension 2 Code, Budget Dimension 3 Code
- Table 7152 “Item Analysis View”: Dimension 1 Code, Dimension 2 Code, Dimension 3 Code
- Table 1108 “Cost Accounting Setup”: Cost Center Dimension, Cost Object Dimension
- Table 311 “Sales & Receivables Setup”: Customer Group Dimension Code, Salesperson Dimension Code
- Table 480 “Dimension Set Entry”: Dimension Name, Dimension Code
- Table 482 “Reclas. Dimension Set Buffer”: Dimension Name, Dimension Code
- Table 5489 “Dimension Set Entry Buffer”: Dimension Name, Dimension Code
- Table 1302 “Dimensions Template”: Dimension Code
- Table 313 “Inventory Setup”: Item Group Dimension Code
- Table 349 “Dimension Value”: Dimension Code
- Table 352 “Default Dimension”: Dimension Code
- Table 357 “Gen. Jnl. Dim. Filter”: Dimension Code
- Table 360 “Dimension Buffer”: Dimension Code
- Table 364 “Analysis View Filter”: Dimension Code
- Table 388 “Dimension Translation”: Code
- Table 411 “IC Dimension”: Map-to Dimension Code
- Table 7114 “Analysis Line”: Group Dimension Code
- Table 7153 “Item Analysis View Filter”: Dimension Code
- Table 8051 “Subscription Contract Setup”: Dimension Code Cust. Contr.
- Table extension 8051 “General Ledger Setup”: Dimension Code Cust. Contr.
Pages and codeunits on this table
- Page 20021 “APIV1 - Dimensions” (source table)
- Page 30021 “APIV2 - Dimensions” (source table)
- Page 481 “Dimension Set ID Filter” (source table)
- Page 536 “Dimensions” (source table)
- Page 538 “Dimension Combinations” (source table)
- Page 548 “Dimension List” (source table)
- Page 667 “IC Mapping Dimension Outgoing” (source table)
- Page 705 “IC Dimensions Selector” (source table)
- Page 9251 “Dimension Combinations Matrix” (source table)
Extended by
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” (1 call:
IsApplicationLanguage → GetDefaultApplicationLanguageId)
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.