Codeunit 411 "Dimension Buffer Management"
Base Application · Microsoft.Finance.Dimension
Across versions
- BC23-30present
Neighbourhood 18 connected objects and pages
Base Application · Microsoft.Finance.Dimension · BC23-30 · source at ea08af5e · facts from BC29
Events published
OnInsertDimensionsUsingEntryNoOnBeforeTempDimBufInsert(var TempDimBuf: Record "Dimension Buffer"; var DimBuf: Record "Dimension Buffer"; EntryNo: Integer; var IsHandled: Boolean)(integration): Integration event raised before inserting a dimension buffer entry during dimension insertion. Allows customization of dimension buffer data before the entry is inserted.OnFindDimensionsKnownDimBufCountBeforeProcessingLinesOnAfterFilterTempDimBuf(var TempDimensionBuffer: Record "Dimension Buffer"; DimensionBuffer: Record "Dimension Buffer")(integration): Integration event raised after filtering temporary dimension buffer during dimension search. Allows additional filtering logic before processing dimension matching lines.OnFindDimensionsKnownDimBufCountOnAfterFilterTempDimBuf(var TempDimensionBuffer: Record "Dimension Buffer"; DimensionBuffer: Record "Dimension Buffer")(integration): Integration event raised after filtering temporary dimension buffer during dimension search. Allows additional filtering logic during the dimension matching process.
Procedures
InsertDimensions(var DimBuf: Record "Dimension Buffer"): Integer: Inserts dimension entries into the buffer and returns a new entry number. Creates a new entry set in the dimension buffer with sequential entry numbering.InsertDimensionsUsingEntryNo(var DimBuf: Record "Dimension Buffer"; EntryNo: Integer): Inserts dimension entries into the buffer using a specific entry number. Assigns the provided entry number to all dimensions in the buffer set.FindDimensions(var DimBuf: Record "Dimension Buffer"): Integer: Finds existing dimension set in the buffer and returns its entry number. Searches for a matching set of dimensions and returns the entry number if found.FindDimensionsKnownDimBufCount(var DimBuf: Record "Dimension Buffer"; DimBufCount: Integer): Integer: Finds existing dimension set with known dimension count and returns its entry number. Optimized search method when the number of dimensions in the set is already known.GetDimensions(EntryNo: Integer; var DimBuf: Record "Dimension Buffer"): Boolean: Retrieves all dimensions for a specific entry number into the dimension buffer. Populates the provided dimension buffer with all dimensions associated with the entry number.DeleteAllDimensions(): Clears all dimension entries from the temporary dimension buffer. Removes all stored dimension data to prepare for new operations.CollectDimEntryNo(var SelectedDim: Record "Selected Dimension"; DimSetID: Integer; EntryNo: Integer; ForgetDimEntryNo: Integer; DoCollect: Boolean; var DimEntryNo: Integer): Collects dimension entry numbers for selected dimensions in analysis scenarios. Manages dimension entry collection for analysis views and reporting with optional collection control.FindFirstDimEntryNo(var DimEntryNo: Integer; var EntryNo: Integer): Boolean: Finds the first dimension entry number and corresponding entry number in the collection. Initializes iteration through collected dimension entries for analysis processing.NextDimEntryNo(var DimEntryNo: Integer; var EntryNo: Integer): Boolean: Advances to the next dimension entry number and corresponding entry number in the collection. Continues iteration through collected dimension entries for analysis processing.DeleteAllDimEntryNo(): Clears all collected dimension entry numbers from the collection. Removes all entries from the dimension entry buffer to prepare for new collection.GetDimensionId(var Dimbuf: Record "Dimension Buffer"): Integer: Gets or creates a unique dimension ID for a dimension combination. Returns an existing ID if the dimension combination already exists, or creates a new one.RetrieveDimensions(DimId: Integer; var DimBuf: Record "Dimension Buffer"): Retrieves all dimensions for a specific dimension ID into a dimension buffer. Reconstructs the dimension combination from the dimension ID buffer into the provided buffer.
Plus 1 local procedures.
Triggers
OnRun
Called by
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 432 “Consolidate” (6 calls:
OnRun → DeleteAllDimensions,OnRun → GetDimensions,UpdatePriorPeriodBalances → DeleteAllDimensions, …) - Report 1198 “Date Compress Resource Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 1498 “Date Compress Bank Acc. Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 198 “Date Compress Customer Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 398 “Date Compress Vendor Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 5697 “Date Compress Insurance Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 5698 “Date Compress Maint. Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 7139 “Date Comp. Item Budget Entries” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 790 “Calculate Inventory” (4 calls:
CreateDimFromDefault → InsertDimensions,InsertItemJnlLine → GetDimensions,UpdateBuffer → FindDimensions, …) - Report 97 “Date Compr. G/L Budget Entries” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Report 98 “Date Compress General Ledger” (4 calls:
ComprCollectedEntries → DeleteAllDimEntryNo,ComprCollectedEntries → FindFirstDimEntryNo,ComprCollectedEntries → NextDimEntryNo, …) - Codeunit 699 “Exch. Rate Adjmt. Process” (3 calls:
GetDimCombID → FindDimensions,GetDimCombID → InsertDimensions,GetDimSetEntry → GetDimensions) - Report 393 “Suggest Vendor Payments” (3 calls:
SetTempPaymentBufferDims → FindDimensions,SetTempPaymentBufferDims → InsertDimensions,UpdateDimensions → GetDimensions) - Report 394 “Suggest Employee Payments” (3 calls:
SetTempEmplPaymentBufferDims → FindDimensions,SetTempEmplPaymentBufferDims → InsertDimensions,UpdateDimensions → GetDimensions) - Report 91 “Export Consolidation” (2 calls:
UpdateTempGLEntry → FindDimensions,UpdateTempGLEntry → InsertDimensions) - Codeunit 5986 “Serv-Amounts Mgt.” (1 call:
GetDimensions → GetDimensions) - Page 1190 “Create Payment” (1 call:
UpdateDimensions → GetDimensions) - Page 1191 “Create Employee Payment” (1 call:
UpdateDimensions → GetDimensions)
Countries that replace it
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: "codeunit", object_name: "Dimension Buffer Management"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.