Report 94 "Close Income Statement"
Base Application · Microsoft.Finance.GeneralLedger.Setup
Across versions
- BC23present
- BC241 events added
- BC251 events added, 1 events removed
- BC261 procedures added
- BC271 events added, 1 events removed
- BC284 procedures added
- BC29-30unchanged
Neighbourhood 3 connected objects and pages
Base Application · Microsoft.Finance.GeneralLedger.Setup · BC23-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Close Income Statement |
| UsageCategory | Tasks |
| ApplicationArea | Basic, Suite |
Events published
OnBeforeCheckDimPostingRules(var SelectedDimension: Record "Selected Dimension"; var ErrorText: Text[1024]; var Handled: Boolean; GenJnlLine: Record "Gen. Journal Line")(integration): Integration event fired before checking dimension posting rules during income statement closing.OnBeforeHandleGenJnlLine(var GenJournalLine: Record "Gen. Journal Line")(integration): Integration event fired before handling general journal line during closing process.OnGLAccountOnOnPostDataItemOnAfterGenJnlLinePopulateFields(var GenJournalLine: Record "Gen. Journal Line"; RetainedEarningsGLAcc: Record "G/L Account")(integration): Integration event fired after populating general journal line fields for G/L account closing entries.OnPostDataItemOnAfterGenJnlLineDimUpdated(var GenJnlLine: Record "Gen. Journal Line"; ClosePerGlobalDim1: Boolean; ClosePerGlobalDim2: Boolean; var TempEntryNoAmountBuffer: Record "Entry No. Amount Buffer" temporary)+ BC27 − BC27 (integration): Integration event fired after updating dimensions on general journal line during posting.OnPreReportOnBeforeCheckDimPostingRules(var IsHandled: Boolean; var TempSelectedDim: Record "Selected Dimension" temporary; GenJnlLine: Record "Gen. Journal Line")(integration): Integration event fired before checking dimension posting rules in pre-report processing.OnGLEntryOnAfterGetRecordOnAfterEntryNoAmountBuf(var TempEntryNoAmountBuffer: Record "Entry No. Amount Buffer" temporary; GEntry: Record "G/L Entry")(integration): Integration event fired after processing G/L entry into amount buffer during closing.OnGLEntryOnPostDataItemOnAfterHandleGenJnlLine(var GenJnlLine: Record "Gen. Journal Line"; var TempEntryNoAmountBuf: Record "Entry No. Amount Buffer" temporary)(integration): Integration event fired after handling general journal line during G/L entry processing.OnBeforeValidateEndDate(EndDateReq: Date; var FiscalYearStartDate: Date; var FiscYearClosingDate: Date; var OK: Boolean; var Result: Boolean; RealMode: Boolean; var IsHandled: Boolean)+ BC24 + BC25 − BC25 (integration): Integration event fired before validating the end date for income statement closing.
Procedures
CheckDimPostingRules(var SelectedDim: Record "Selected Dimension"): Text[1024]: Validates selected dimension posting rules and returns an error message when mandatory dimensions are missing.InitializeRequestTest(EndDate: Date; GenJournalLine: Record "Gen. Journal Line"; GLAccount: Record "G/L Account"; CloseByBU: Boolean): Initializes the report for test execution with specified parameters.
Plus 13 local procedures.
Triggers
OnPostReport, OnPreReport
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.
- Page 456 “No. Series” (2 calls:
HandleGenJnlLine → (object),ValidateJnl → (object)) - Codeunit 12 “Gen. Jnl.-Post Line” (1 call:
HandleGenJnlLine → (object)) - Codeunit 410 “Update Analysis View” (1 call:
OnPostReport → UpdateAll)
Recent changes
- 2026-08-17 #10096 Fix Close Income Statement grouping when no dimensions are selected (main, BC30, fix)
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: "report", object_name: "Close Income Statement"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.