---
id: object/codeunit/9080
type: object
title: Codeunit 9080 "Journal Errors Mgt."
summary: Codeunit 9080 "Journal Errors Mgt." in Base Application (Microsoft.Finance.GeneralLedger.Journal). 10 public procedures, 27 event subscribers. Present since at least BC23, still in BC30, changed in BC27.
tier: official
language: en
tags:
  - codeunit
  - base application
versions:
  introduced: null
  last_changed: "27"
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: e2b0fb9a60a339b0fd0e70a9d7aa853b16e39434784f3e06697310ffe90a61bb
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/JournalErrorsMgt.Codeunit.al
    title: src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/JournalErrorsMgt.Codeunit.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: codeunit
object_id: 9080
name: Journal Errors Mgt.
namespace: Microsoft.Finance.GeneralLedger.Journal
app: Base Application
extends: null
first_version: "23"
last_version: "30"
present_in:
  - "23"
  - "24"
  - "25"
  - "26"
  - "27"
  - "28"
  - "29"
  - "30"
changed_in:
  - "27"
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 38
  events: 0
  subscribers: 27
relations:
  out: 0
  referenced_by: 0
  pages: 0
  extended_by: 0
  event_subscribers: 0
  calls: 1
  called_by: 26
  implements: 0
---

# Codeunit 9080 "Journal Errors Mgt."

> Codeunit 9080 "Journal Errors Mgt." in Base Application (Microsoft.Finance.GeneralLedger.Journal). 10 public procedures, 27 event subscribers. Present since at least BC23, still in BC30, changed in BC27.

Base Application · Microsoft.Finance.GeneralLedger.Journal · BC23-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Layers/W1/BaseApp/Finance/GeneralLedger/Journal/JournalErrorsMgt.Codeunit.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| SingleInstance | true |

## Event subscriptions

- OnDeleteRecordEventGeneralJournal subscribes to Page "General Journal" OnDeleteRecordEvent
- OnModifyRecordEventGeneralJournal subscribes to Page "General Journal" OnModifyRecordEvent
- OnInsertRecordEventGeneralJournal subscribes to Page "General Journal" OnInsertRecordEvent
- OnDeleteRecordEventSalesJournal subscribes to Page "Sales Journal" OnDeleteRecordEvent
- OnModifyRecordEventSalesJournal subscribes to Page "Sales Journal" OnModifyRecordEvent
- OnInsertRecordEventSalesJournal subscribes to Page "Sales Journal" OnInsertRecordEvent
- OnDeleteRecordEventPurchaseJournal subscribes to Page "Purchase Journal" OnDeleteRecordEvent
- OnModifyRecordEventPurchaseJournal subscribes to Page "Purchase Journal" OnModifyRecordEvent
- OnInsertRecordEventPurchaseJournal subscribes to Page "Purchase Journal" OnInsertRecordEvent
- OnDeleteRecordEventCashReceiptJournal subscribes to Page "Cash Receipt Journal" OnDeleteRecordEvent
- OnModifyRecordEventCashReceiptJournal subscribes to Page "Cash Receipt Journal" OnModifyRecordEvent
- OnInsertRecordEventCashReceiptJournal subscribes to Page "Cash Receipt Journal" OnInsertRecordEvent
- OnDeleteRecordEventPaymentJournal subscribes to Page "Payment Journal" OnDeleteRecordEvent
- OnModifyRecordEventPaymentJournal subscribes to Page "Payment Journal" OnModifyRecordEvent
- OnInsertRecordEventPaymentJournal subscribes to Page "Payment Journal" OnInsertRecordEvent
- OnDeleteRecordEventICGeneralJournal subscribes to Page "IC General Journal" OnDeleteRecordEvent
- OnModifyRecordEventICGeneralJournal subscribes to Page "IC General Journal" OnModifyRecordEvent
- OnInsertRecordEventICGeneralJournal subscribes to Page "IC General Journal" OnInsertRecordEvent
- OnDeleteRecordEventJobGLJournal subscribes to Page "Job G/L Journal" OnDeleteRecordEvent
- OnModifyRecordEventJobGLJournal subscribes to Page "Job G/L Journal" OnModifyRecordEvent
- OnInsertRecordEventJobJournal subscribes to Page "Job G/L Journal" OnInsertRecordEvent
- OnDeleteRecordEventFixedAssetGLJournal subscribes to Page "Fixed Asset G/L Journal" OnDeleteRecordEvent
- OnModifyRecordEventFixedAssetGLJournal subscribes to Page "Fixed Asset G/L Journal" OnModifyRecordEvent
- OnInsertRecordEventFixedAssetGLJournal subscribes to Page "Fixed Asset G/L Journal" OnInsertRecordEvent
- OnDeleteRecordEventRecurringGenJournal subscribes to Page "Recurring General Journal" OnDeleteRecordEvent
- OnModifyRecordEventRecurringGenJournal subscribes to Page "Recurring General Journal" OnModifyRecordEvent
- OnInsertRecordEventRecurringGenJournal subscribes to Page "Recurring General Journal" OnInsertRecordEvent

## Procedures

- `GetNothingToPostErrorMsg(): Text`: Retrieves the standardized error message for situations where there are no journal lines to post. Provides consistent error messaging across journal posting operations.
- `SetErrorMessages(var SourceTempErrorMessage: Record "Error Message" temporary)`: Sets error messages collection from source error message records for journal validation processing. Transfers error messages from external validation processes into the journal error management context.
- `GetErrorMessages(var NewTempErrorMessage: Record "Error Message" temporary)`: Retrieves error messages collection for journal validation and processing. Returns accumulated error messages from journal validation operations for display or further processing.
- `SetRecXRecOnModify(xRec: Record "Gen. Journal Line"; Rec: Record "Gen. Journal Line")`: Sets record context for journal line modification validation tracking. Stores previous and current journal line records for change detection and validation during modification operations.
- `GetRecXRecOnModify(var xRec: Record "Gen. Journal Line"; var Rec: Record "Gen. Journal Line"): Boolean`: Retrieves record context for journal line modification validation tracking. Returns stored previous and current journal line records used for change detection during validation.
- `SetFullBatchCheck(NewFullBatchCheck: Boolean)`: Sets the full batch check mode for journal validation processing. Controls whether validation should process entire journal batches or individual lines.
- `GetFullBatchCheck(): Boolean`: Retrieves the current full batch check mode setting for journal validation. Indicates whether validation is configured for full batch or individual line processing.
- `GetDeletedGenJnlLine(var TempGenJnlLine: Record "Gen. Journal Line" temporary; ClearBuffer: Boolean): Boolean`: Retrieves deleted journal lines from the tracking buffer for error management and recovery operations. Returns journal lines that have been marked as deleted during validation or processing operations.
- `GetModifiedGenJnlLine(var TempGenJnlLine: Record "Gen. Journal Line" temporary): Boolean`: Retrieves modified journal lines from the tracking buffer for change detection and validation. Returns journal lines that have been tracked as modified during validation operations.
- `InsertDeletedLine(GenJnlLine: Record "Gen. Journal Line")`: Inserts a deleted journal line into the tracking buffer for audit and recovery purposes. Stores journal lines that have been deleted during validation or posting operations.

Plus 1 local procedures.

## Triggers

OnRun

## 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 9079 "Background Error Handling Mgt."](../codeunit/9079.md) (2 calls: `InsertDeletedLine → BackgroundValidationFeatureEnabled`, `SetRecXRecOnModify → BackgroundValidationFeatureEnabled`)

## Called by

- [Codeunit 9079 "Background Error Handling Mgt."](../codeunit/9079.md) (6 calls: `CheckCleanDeletedGenJnlLinesErrors → GetDeletedGenJnlLine`, `CollectGenJnlCheckParameters → GetFullBatchCheck`, `CollectGenJnlCheckParameters → GetRecXRecOnModify`, …)
- [Codeunit 1021 "Job Jnl.-Post"](../codeunit/1021.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 1022 "Job Jnl.-Post+Print"](../codeunit/1022.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 1108 "CA Jnl.-Post"](../codeunit/1108.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 1113 "CA Jnl.-Post+Print"](../codeunit/1113.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 19 "Gen. Jnl.-Post Preview"](../codeunit/19.md) (1 call: `ShowAllEntries → GetNothingToPostErrorMsg`)
- [Codeunit 231 "Gen. Jnl.-Post"](../codeunit/231.md) (1 call: `ShowPostResultMessage → GetNothingToPostErrorMsg`)
- [Codeunit 232 "Gen. Jnl.-Post+Print"](../codeunit/232.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 241 "Item Jnl.-Post"](../codeunit/241.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 242 "Item Jnl.-Post+Print"](../codeunit/242.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 271 "Res. Jnl.-Post"](../codeunit/271.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 272 "Res. Jnl.-Post+Print"](../codeunit/272.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 5636 "FA. Jnl.-Post"](../codeunit/5636.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 5654 "Insurance Jnl.-Post"](../codeunit/5654.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 5670 "FA. Jnl.-Post+Print"](../codeunit/5670.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Codeunit 5672 "Insurance Jnl.-Post+Print"](../codeunit/5672.md) (1 call: `Code → GetNothingToPostErrorMsg`)
- [Page 1020 "Job G/L Journal"](../page/1020.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 253 "Sales Journal"](../page/253.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 254 "Purchase Journal"](../page/254.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 255 "Cash Receipt Journal"](../page/255.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 256 "Payment Journal"](../page/256.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 283 "Recurring General Journal"](../page/283.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 39 "General Journal"](../page/39.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 5628 "Fixed Asset G/L Journal"](../page/5628.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Page 610 "IC General Journal"](../page/610.md) (1 call: `SetControlAppearanceFromBatch → SetFullBatchCheck`)
- [Table 81 "Gen. Journal Line"](../table/81.md) (1 call: `SwitchLinesWithErrorsFilter → GetErrorMessages`)

## Across versions

- Present in: BC23-30
- Changed (declaration) in: BC27

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: "Journal Errors Mgt.")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
