Codeunit 18 "Financial Report Mgt."
Base Application · Microsoft.Finance.FinancialReports
Across versions
- BC23present
- BC241 procedures changed
- BC25unchanged
- BC265 procedures added
- BC276 procedures added
- BC288 procedures added, 1 procedures changed
- BC293 procedures added
- BC30unchanged
Neighbourhood 24 connected objects and pages
Base Application · Microsoft.Finance.FinancialReports · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| TableNo | Financial Report |
Events published
OnBeforePrint(var FinancialReport: Record "Financial Report"; var IsHandled: Boolean)(integration): Integration event raised before printing a financial report. Enables custom print processing and allows bypassing standard print functionality.
Event subscriptions
- OnAfterCheckPostingGroups subscribes to Codeunit “Calc. G/L Acc. Where-Used” OnAfterCheckPostingGroups
- OnShowExtensionPage subscribes to Codeunit “Calc. G/L Acc. Where-Used” OnShowExtensionPage
Procedures
LaunchEditRowsWarningNotification()(internal)LaunchEditColumnsWarningNotification()(internal)DisableColumnsDefinitionNotification(WarningNotification: Notification)(internal)DisableRowsDefinitionNotification(WarningNotification: Notification)(internal)XMLExchangeExport(FinancialReport: Record "Financial Report"): Exports a financial report configuration as an XML package for distribution and deployment. Creates a configuration package containing the financial report and its row/column definitions.XMLExchangeImport(FinancialReport: Record "Financial Report"): Imports a financial report configuration from an XML package file selected by the user. Processes the imported configuration package and applies it to create the financial report.ApplyPackage(PackageCode: Code[20]): Applies a configuration package to create or update financial report definitions. Processes package tables and validates data before applying changes to the database.RenameColumnLayoutInPackage(PackageCode: Code[20]; OldName: Code[10]; NewName: Code[10])Δ BC24 (internal)Print(FinancialReport: Record "Financial Report"): Prints a financial report using the Account Schedule report with the specified financial report configuration. Provides extensibility through OnBeforePrint integration event for custom print handling.LookupName(FinancialReportName: Code[10]; var EntrdSchedName: Text[10]): Boolean: Provides lookup functionality for financial report names with user selection dialog. Returns the selected financial report name through the EntrdSchedName parameter.Initialize(): Initializes financial reports by creating financial report records from existing account schedule names. Migrates legacy account schedule configurations to the new financial reports framework.NotifyUpdateFinancialReport(var GLAccount: Record "G/L Account")+ BC26 (internal)OpenFinancialReports(UpdateFinancialReportNotification: Notification)+ BC26: Opens the Financial Reports page in response to a user notification action. Provides direct navigation to financial reports management from notification messages.NotifyUpdateRowDefinition(var GLAccount: Record "G/L Account")+ BC27 (internal)OpenRowDefinitions(UpdateFinancialReportNotification: Notification)+ BC27 Δ BC28 (obsolete 28.0: This function has been replaced by OpenWhereUsed and will be removed in a future release.)OpenWhereUsed(UpdateFinancialReportNotification: Notification)+ BC28FindGLAccountWhereUsedInAccScheduleLine(GLAccNo: Code[20]; var TempGLAccWhereUsed: Record "G/L Account Where-Used" temporary): Boolean+ BC28FindGLAccountWhereUsedInColumnLayout(GLAccNo: Code[20]; var TempGLAccWhereUsed: Record "G/L Account Where-Used" temporary): Boolean+ BC29HideUpdateFinancialReportNotification(UpdateFinancialReportNotification: Notification)+ BC26: Disables the financial report update notification permanently for the current user. Prevents future notifications about financial report configuration updates.GetUpdateFinancialReportNotificationId(): Guid+ BC26: Returns the unique identifier for financial report update notifications. Provides consistent notification ID for user preference management and notification control.SetAccScheduleFilter(FinancialReport: Record "Financial Report"; var AccountSchedule: Report "Account Schedule")+ BC28SetAccScheduleLineFilter(FinancialReport: Record "Financial Report"; var AccScheduleLine: Record "Acc. Schedule Line")+ BC28CalcAccScheduleLineDateFilter(FinancialReport: Record "Financial Report"; var AccScheduleLine: Record "Acc. Schedule Line")+ BC27: Calculates and applies date filters to account schedule lines based on financial report date configuration. Supports both explicit start/end date formulas and period formula expressions for flexible date range handling.SetAccScheduleLineStartEndDateFormula(var AccScheduleLine: Record "Acc. Schedule Line"; StartDateFormula: DateFormula; EndDateFormula: DateFormula): Boolean+ BC27: Sets date filters on account schedule lines using explicit start and end date formulas. Calculates the date range relative to work date and applies it as a date filter.SetAccScheduleLinePeriodFormula(var AccScheduleLine: Record "Acc. Schedule Line"; PeriodFormula: Code[20]; LanguageId: Integer): Boolean+ BC27: Sets date filters on account schedule lines using period formula expressions with localization support. Parses period formulas and applies calculated date ranges to account schedule line filtering.GetDefaultStatus(): Code[10]+ BC28CheckStatus(Type: Text; StatusCode: Code[10])+ BC28
Plus 13 local procedures.
Relations
- runs on Table 88 “Financial Report”
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 1511 “Notification Lifecycle Mgt.” (4 calls:
CheckStatus → RecallNotificationsForRecord,CheckStatus → SendNotification,NotifyUpdateFinancialReport → SendNotification, …) - Codeunit 8611 “Config. Package Management” (4 calls:
AddFinancialReportToConfigPackage → InsertPackage,AddFinancialReportToConfigPackage → InsertPackageFilter,AddFinancialReportToConfigPackage → InsertPackageTable, …) - Codeunit 8614 “Config. XML Exchange” (3 calls:
XMLExchangeExport → ExportPackage,XMLExchangeImport → GetImportedPackageCode,XMLExchangeImport → ImportPackageXMLFromClient) - Codeunit 921 “Period Formula Parser” (2 calls:
CalcAccScheduleLineDateFilter → TryCalculatePeriodStartEnd,SetAccScheduleLinePeriodFormula → TryCalculatePeriodStartEnd) - Codeunit 457 “Environment Information” (1 call:
LogImportExportTelemetry → IsSaaS) - Codeunit 8 “AccSchedManagement” (1 call:
CalcAccScheduleLineDateFilter → FindPeriod) - Codeunit 8703 “Feature Telemetry” (1 call:
LogImportExportTelemetry → LogUsage) - Page 108 “Financial Reports” (1 call:
OpenFinancialReports → (object))
Called by
- Codeunit 8361 “Financial Report Export Job” (6 calls:
ExportExcel → CalcAccScheduleLineDateFilter,ExportExcel → SetAccScheduleLineFilter,ExportPdf → CalcAccScheduleLineDateFilter, …) - Page 490 “Acc. Schedule Overview” (3 calls:
CalcDateFilterAndUpdate → CalcAccScheduleLineDateFilter,LoadPageState → CalcAccScheduleLineDateFilter,LoadPageState → CheckStatus) - Page 104 “Account Schedule” (2 calls:
GetDescriptions → CheckStatus,OnOpenPage → LaunchEditRowsWarningNotification) - Page 108 “Financial Reports” (2 calls:
OnInit → Initialize,OnNewRecord → GetDefaultStatus) - Page 489 “Column Layout” (2 calls:
GetDescriptions → CheckStatus,OnOpenPage → LaunchEditColumnsWarningNotification) - Codeunit 104000 “Upgrade - BaseApp” (1 call:
UpgradeAccountSchedulesToFinancialReports → Initialize) - Codeunit 570 “G/L Account Category Mgt.” (1 call:
ConfirmAndRunGenerateAccountSchedules → Initialize) - Page 103 “Account Schedule Names” (1 call:
OnNewRecord → GetDefaultStatus) - Page 118 “General Ledger Setup” (1 call:
OnInit → Initialize) - Page 16 “Chart of Accounts” (1 call:
OnInsertRecord → NotifyUpdateFinancialReport) - Page 17 “G/L Account Card” (1 call:
OnInsertRecord → NotifyUpdateFinancialReport) - Page 488 “Column Layout Names” (1 call:
OnNewRecord → GetDefaultStatus) - Report 25 “Account Schedule” (1 call:
OnPreReport → Initialize) - Table 333 “Column Layout Name” (1 call:
GetNewColumnDefinitionName → RenameColumnLayoutInPackage) - Table 8360 “Financial Report Schedule” (1 call:
EditCustomFilters → SetAccScheduleFilter) - Table 8372 “Fin. Report Package Report” (1 call:
EditCustomFilters → SetAccScheduleFilter)
Deprecations
- procedure OpenRowDefinitions: Pending 28.0 (#if not CLEAN28), “This function has been replaced by OpenWhereUsed and will be removed in a future release.”
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: "Financial Report Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.