codeunitFinanceofficial - Microsoftderived - from the source, no model text

Codeunit 483 "Change Global Dimensions"

Base Application · Microsoft.Finance.Dimension

Across versions

  1. BC23-25present
  2. BC263 events added
  3. BC271 events added
  4. BC28-30unchanged

Neighbourhood 6 connected objects and pages

Table 483 "Change Global Dim. Log Entry" (relates to)Change Global Dim. Log EntryCodeunit 1695 "Bank Deposit Subscribers" (event subscribers)Bank Deposit SubscribersCodeunit 484 "Change Global Dim. Log Mgt." (calls, 14 links)Change Global Dim. Log Mgt.Page 577 "Change Global Dimensions" (calls, 6 links)Change Global DimensionsCodeunit 408 "DimensionManagement" (calls, 3 links)DimensionManagementPage 670 "Concurrent Session List" (calls)Concurrent Session List

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.Dimension · BC23-30 · source at ea08af5e · facts from BC29

Properties

Property Value
TableNo Change Global Dim. Log Entry
Permissions TableData “G/L Entry” = rm, TableData “VAT Entry” = rm, TableData “Cust. Ledger Entry” = rm, TableData “Vendor Ledger Entry” = rm, TableData “Item Ledger Entry” = rm, Tabledata “Approval Entry” = rm, TableData “Sales Shipment Header” = rm, TableData “Sales Shipment Line” = rm, TableData “Sales Invoi…

Events published

  • OnAfterGetObjectNoList(var TempAllObjWithCaption: Record AllObjWithCaption temporary) (integration): Integration event raised after building the object list for dimension change operations. Enables customization of table list used for dimension processing.
  • OnCountingActiveSessions(var IsCurrSessionActiveOnly: Boolean) (integration): Integration event raised when counting active sessions during dimension change operations. Enables custom logic for determining if only current session is active.
  • OnBeforeScheduleTask(TableNo: Integer; var DoNotScheduleTask: Boolean; var TaskID: Guid) (integration): Integration event raised before scheduling task for parallel dimension change processing. Enables custom control over task scheduling and task identification.
  • OnBeforeTestDirectModifyPermission(var RecRef: RecordRef; var IsHandled: Boolean) (integration): Integration event raised before testing direct modify permission on table records. Enables custom permission checking logic for dimension change operations.
  • OnChangeDependentRecords(ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry"; var RecRef: RecordRef; var IsHandled: Boolean) (integration): Integration event raised when changing dependent records during dimension update operations. Enables custom processing of dependent table records during dimension changes.
  • OnChangeDimsOnRecord(ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry"; var RecRef: RecordRef; var IsHandled: Boolean; var Success: Boolean) (integration): Integration event raised when changing dimensions on individual records. Enables custom dimension update logic for specific record types during dimension changes.
  • OnAfterFillTableData(var ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry") + BC26 (integration): Integration event raised after filling table data for dimension change operations. Enables post-processing of table data after initial dimension change setup.
  • OnChangeDimsOnTableOnBeforeCalcRecordsWithinCommit(var ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry"; var ChangeGlobalDimLogMgt: Codeunit "Change Global Dim. Log Mgt."; var ChangeGlobalDimHeader: Record "Change Global Dim. Header"; var Completed: Boolean; var StartedFromRecord: Integer; var RecRef: RecordRef) + BC27 (integration)
  • OnInitTableListOnAfterFindTablesWithDims(var ChangeGlobalDimHeader: Record "Change Global Dim. Header") + BC26 (integration)
  • OnInitTableListOnBeforeInsertChangeGlobalDimLogEntry(var ChangeGlobalDimHeader: Record "Change Global Dim. Header"; var ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry") + BC26 (integration)

Procedures

  • ResetIfAllCompleted(): Resets the global dimension change state if all dimension change operations have been completed. Verifies completion status and initiates state reset automatically when all tables are processed.
  • Prepare(): Prepares the global dimension change operation by initializing tables and validating configuration. Sets up the dimension change environment with table analysis and dependency mapping.
  • RemoveHeader(): Removes the global dimension change header and all associated log entries. Cleans up dimension change configuration data after completion or cancellation.
  • ResetState(): Resets the global dimension change state by clearing all log entries and cached data. Initializes the system for a new dimension change operation or after completion.
  • Rerun(var ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry"): Reruns failed dimension change operations for specified log entries. Reprocesses table updates that encountered errors during the initial dimension change operation.
  • Start(): Initiates the global dimension change process using the configured processing mode. Starts dimension change operations with either parallel or sequential processing based on configuration.
  • StartSequential(): Initiates global dimension change processing in sequential mode with progress tracking. Executes dimension changes table by table without parallel processing for controlled execution.
  • FillBuffer(): Fills the internal buffer with dimension change log entries for processing coordination. Populates buffer data structures used for progress tracking and parallel processing management.
  • FindTablesForScheduling(var ChangeGlobalDimLogEntry: Record "Change Global Dim. Log Entry"): Boolean: Finds tables available for scheduling in parallel processing mode. Identifies root tables with records requiring dimension updates for job queue scheduling.
  • IsDimCodeEnabled(): Boolean: Determines if dimension code configuration is enabled for modification. Checks buffer state to allow dimension code changes when no operations are in progress.
  • IsPrepareEnabled(var ChangeGlobalDimHeader: Record "Change Global Dim. Header"): Boolean: Determines if the preparation phase can be initiated for dimension changes. Validates configuration and system state to enable dimension change preparation.
  • IsStartEnabled(): Boolean: Determines if the dimension change process can be started. Validates that preparation is complete and no processing is currently active.
  • RefreshHeader(): Refreshes the global dimension change header with current status and progress information. Updates header record with latest processing state and statistical data.
  • SetParallelProcessing(NewParallelProcessing: Boolean): Configures parallel processing mode for global dimension changes. Enables or disables parallel execution based on system capacity and processing requirements.
  • InitTableList(): Boolean: Initializes the table list for dimension change operations with dependency analysis. Builds comprehensive list of tables requiring dimension updates with parent-child relationships.
  • GetCloseSessionsNotificationID(): Guid: Gets the unique identifier for close sessions notification management. Returns consistent notification ID for session closure messaging during dimension changes.
  • ShowActiveSessions(BlockNotification: Notification): Displays the active sessions list for review during dimension change operations. Shows current active sessions that may interfere with dimension change processing.

Plus 33 local procedures.

Triggers

OnRun

Relations

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

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

Evidence 1 sources