codeunitFinanceofficial - Microsoftderived - from the source, no model text

Codeunit 13 "Gen. Jnl.-Post Batch"

Base Application · Microsoft.Finance.GeneralLedger.Posting

Across versions

  1. BC23present
  2. BC244 events added, 2 procedures added
  3. BC2510 events added, 3 events removed
  4. BC26-27unchanged
  5. BC282 events added, 1 procedures added
  6. BC29-30unchanged

Neighbourhood 34 connected objects and pages

Table 81 "Gen. Journal Line" (relates to)Gen. Journal LineCodeunit 6786 "Withholding Tax Jnl Subscriber" (event subscribers, 4 links)Withholding Tax Jnl SubscriberCodeunit 1690 "Bank Deposit-Post" (event subscribers, 3 links)Bank Deposit-PostCodeunit 2677 "Gen. Journal Alloc. Acc. Mgt." (event subscribers)Gen. Journal Alloc. Acc. Mgt.Codeunit 5579 "Digital Voucher Impl." (event subscribers)Digital Voucher Impl.Codeunit 7251 "Bank Acc. Rec. Trans. to Acc." (event subscribers)Bank Acc. Rec. Trans. to Acc.Codeunit 28 "Error Message Management" (calls, 7 links)Error Message ManagementCodeunit 308 "No. Series - Batch" (calls, 5 links)No. Series - BatchCodeunit 11 "Gen. Jnl.-Check Line" (calls, 4 links)Gen. Jnl.-Check LineCodeunit 12 "Gen. Jnl.-Post Line" (calls, 4 links)Codeunit 231 "Gen. Jnl.-Post" (calls, 3 links)Gen. Jnl.-PostCodeunit 232 "Gen. Jnl.-Post+Print" (calls, 2 links)Gen. Jnl.-Post+PrintCodeunit 427 "ICInboxOutboxMgt" (calls, 2 links)ICInboxOutboxMgtCodeunit 431 "IC Outbox Export" (calls, 2 links)Codeunit 980 "Payment Registration Mgt." (calls, 2 links)Payment Registration Mgt.Table 8631 "Config. Table Processing Rule" (calls, 2 links)Config. Table Processing RuleCodeunit 10 "Type Helper" (calls)Codeunit 1431 "Forward Link Mgt." (calls)Codeunit 1690 "Bank Deposit-Post" (calls)Codeunit 19 "Gen. Jnl.-Post Preview" (calls)Codeunit 233 "Gen. Jnl.-B.Post" (calls)Codeunit 234 "Gen. Jnl.-B.Post+Print" (calls)Codeunit 250 "Gen. Jnl.-Post via Job Queue" (calls)Codeunit 27 "Confirm Management" (calls)Codeunit 4037 "Helper Functions" (calls)Codeunit 404 "IC Feedback" (calls)Codeunit 410 "Update Analysis View" (calls)Codeunit 447 "Record Link Management" (calls)Codeunit 46896 "BC14 Journal Post Action" (calls)Codeunit 47023 "SL Helper Functions" (calls)Codeunit 48 "PostingSetupManagement" (calls)Codeunit 5667 "Post Bank Payment Entry" (calls)Codeunit 6786 "Withholding Tax Jnl Subscriber" (calls)Codeunit 7251 "Bank Acc. Rec. Trans. to Acc." (calls)

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

Properties

Property Value
TableNo Gen. Journal Line
Permissions TableData “Gen. Journal Batch” = rimd, TableData “Gen. Journal Line” = rimd

Events published

  • OnAfterCheckDocumentNo(var GenJournalLine: Record "Gen. Journal Line"; LastDocNo: code[20]; LastPostedDocNo: code[20]) (integration): Integration event raised after validating document numbers for journal lines. Enables custom processing or additional validation after document number checks are complete.
  • OnAfterCode(var GenJournalLine: Record "Gen. Journal Line"; PreviewMode: Boolean) (integration): Integration event raised after completing all posting batch operations. Enables cleanup, logging, or additional processing after journal batch posting is finished.
  • OnAfterCopyGenJnlLineBalancingData(var GenJnlLineTo: Record "Gen. Journal Line"; GenJnlLineFrom: Record "Gen. Journal Line") (integration): Integration event raised after copying balancing account data between journal lines. Enables modification or validation of copied balancing information.
  • OnAfterGetPostingStateMsg(PostingState: Integer; var Result: Text) (integration): Integration event raised after determining the posting state message text. Enables customization of progress messages shown during posting operations.
  • OnAfterPostGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; CommitIsSuppressed: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; IsPosted: Boolean; var PostingGenJournalLine: Record "Gen. Journal Line") (integration): Integration event raised after posting an individual general journal line. Enables post-processing, logging, or additional operations after line posting completion.
  • OnAfterPostGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; var Result: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + BC24 − BC24 (integration): Integration event raised after posting a general journal line with result status. Enables result processing and validation after individual line posting operations.
  • OnAfterProcessLines(var TempGenJournalLine: Record "Gen. Journal Line" temporary; var GenJournalLine: Record "Gen. Journal Line"; SuppressCommit: Boolean; PreviewMode: Boolean) (integration): Integration event raised after completing batch processing of general journal lines. Enables custom post-processing logic and finalization tasks after batch posting operations.
  • OnAfterShouldSetDocNoToLastPosted(var GenJournalLine: Record "Gen. Journal Line"; LastDocNo: Code[20]; var Result: Boolean) (integration): Integration event raised after determining whether to set document number to last posted value. Enables custom logic for document number assignment and sequential numbering validation.
  • OnBeforeCheckBalance(GenJnlTemplate: Record "Gen. Journal Template"; GenJnlLine: Record "Gen. Journal Line"; CurrentBalance: Decimal; CurrentBalanceReverse: Decimal; CurrencyBalance: Decimal; StartLineNo: Integer; StartLineNoReverse: Integer; LastDocType: Option; LastDocNo: Code[20]; LastDate: Date; LastCurrencyCode: Code[10]; CommitIsSuppressed: Boolean) (integration): Integration event raised before performing balance validation for journal batch processing. Enables custom balance checking logic and validation rule customization for posting operations.
  • OnBeforeCheckCorrection(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; GenJnlTemplate: Record "Gen. Journal Template"; var LastDate: Date; var LastDocType: Enum "Gen. Journal Document Type"; var LastDocNo: Code[20]; var DocCorrection: Boolean) (integration): Integration event raised before performing correction validation for journal line processing. Enables custom correction logic and validation rule customization for document correction scenarios.
  • OnBeforeCheckGenPostingType(GenJnlLine: Record "Gen. Journal Line"; AccountType: Enum "Gen. Journal Account Type"; var IsHandled: Boolean) (integration): Integration event raised before validating general posting type for journal line processing. Enables custom posting type validation and account type-specific business rule enforcement.
  • OnBeforeClearDataExchEntries(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean) (integration): Integration event raised before clearing data exchange entries for journal line processing. Enables custom data exchange cleanup logic and integration with external data sources.
  • OnBeforeCode(var GenJournalLine: Record "Gen. Journal Line"; PreviewMode: Boolean; CommitIsSuppressed: Boolean) (integration): Integration event raised before starting batch posting processing for general journal lines. Enables custom initialization logic and preprocessing workflows before posting operations begin.
  • OnBeforeCountGenJournalLines(var GenJournalLine: Record "Gen. Journal Line"; var GenJournalLineCount: Integer; var IsHandled: Boolean) (integration): Integration event raised before counting general journal lines for batch processing. Enables custom line counting logic and filtering for batch operation scope determination.
  • OnBeforeCommit(GLRegNo: Integer; var GenJournalLine: Record "Gen. Journal Line"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") (integration): Integration event raised before committing database transactions during batch posting. Enables custom commit logic and transaction management for posting operations.
  • OnBeforeCopyFields(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean) (integration): Integration event raised before copying fields during journal line processing. Enables custom field copying logic and data transformation workflows.
  • OnBeforeCreateDimBalGenJnlLines(var SrcGenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean) (integration)
  • OnBeforeIfCheckBalance(GenJnlTemplate: Record "Gen. Journal Template"; GenJnlLine: Record "Gen. Journal Line"; var LastDocType: Option; var LastDocNo: Code[20]; var LastDate: Date; var CheckIfBalance: Boolean; CommitIsSuppressed: Boolean; var IsHandled: Boolean; CurrentBalance: Decimal) + BC25 − BC25 (integration)
  • OnBeforeIsPostingDateAllowed(var GenJournalLine: Record "Gen. Journal Line"; var IsAllowed: Boolean; var IsHandled: Boolean) (integration)
  • OnBeforePostAllocations(var AllocateGenJnlLine: Record "Gen. Journal Line"; Reversing: Boolean; var IsHandled: Boolean) (integration)
  • OnBeforePostGenJnlLine(var GenJournalLine: Record "Gen. Journal Line"; CommitIsSuppressed: Boolean; var Posted: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var PostingGenJournalLine: Record "Gen. Journal Line") Δ BC24 (integration)
  • OnBeforeProcessLines(var GenJournalLine: Record "Gen. Journal Line"; PreviewMode: Boolean; CommitIsSuppressed: Boolean) (integration)
  • OnBeforeProcessBalanceOfLines(var GenJournalLine: Record "Gen. Journal Line"; var GenJournalBatch: Record "Gen. Journal Batch"; var GenJournalTemplate: Record "Gen. Journal Template"; var IsKeySet: Boolean) (integration)
  • OnBeforeRaiseExceedLengthError(var GenJournalBatch: Record "Gen. Journal Batch"; var RaiseError: Boolean; var GenJnlLine: Record "Gen. Journal Line") (integration)
  • OnBeforeThrowPreviewError(var GenJournalLine: Record "Gen. Journal Line"; GLRegNo: Integer) (integration)
  • OnBeforeUpdateRecurringAmt(var GenJnlLine2: Record "Gen. Journal Line"; var Updated: Boolean; var IsHandled: Boolean; var GLEntry: Record "G/L Entry"; var GLAccount: Record "G/L Account"; var GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration)
  • OnBeforeUpdateAndDeleteLines(var GenJournalLine: Record "Gen. Journal Line"; CommitIsSuppressed: Boolean; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateIncomingDocument(var GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnCheckLineOnBeforeRunCheck(var GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnAfterIncrementBatchName(var GenJournalBatch: Record "Gen. Journal Batch"; OldBatchName: Code[10]) (integration)
  • OnAfterPostAllocations(GenJournalLine: Record "Gen. Journal Line"; Reversing: Boolean; CommitIsSuppressed: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") + BC24 − BC24 (integration)
  • OnAfterMakeRecurringTexts(var GenJournalLine: Record "Gen. Journal Line"; var AccountingPeriod: Record "Accounting Period"; var Day: Integer; var Week: Integer; var Month: Integer; var MonthText: Text[30]) (integration)
  • OnPostAllocationsOnBeforeCopyFromGenJnlAlloc(var GenJournalLine: Record "Gen. Journal Line"; var AllocateGenJournalLine: Record "Gen. Journal Line"; var Reversing: Boolean) (integration)
  • OnAfterMultiplyAmounts(var GenJournalLine: Record "Gen. Journal Line"; Factor: Decimal; CommitIsSuppressed: Boolean) (integration)
  • OnAfterPostReversingLines(var GenJournalLine: Record "Gen. Journal Line"; PreviewMode: Boolean) (integration)
  • OnAfterProcessBalanceOfLines(var GenJournalLine: Record "Gen. Journal Line") Δ BC24 (integration)
  • OnAfterUpdateLineBalance(var GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnBeforeMultiplyJobAmounts(var GenJournalLine: Record "Gen. Journal Line"; Factor: Decimal; var IsHandled: Boolean) (integration)
  • OnPostAllocationsOnBeforePostNotReversingLine(var GenJournalLine: Record "Gen. Journal Line"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; AllocateGenJournalLine: Record "Gen. Journal Line"; var GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration)
  • OnPostAllocationsOnBeforePostReversingLine(var GenJournalLine: Record "Gen. Journal Line"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; AllocateGenJournalLine: Record "Gen. Journal Line"; var GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration)
  • OnPostAllocationsOnBeforePrepareGenJnlLineAddCurr(var GenJournalLine: Record "Gen. Journal Line"; AllocateGenJournalLine: Record "Gen. Journal Line") (integration)
  • OnPostReversingLinesOnBeforeGenJnlPostLine(var GenJournalLine: Record "Gen. Journal Line"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; var IsHandled: Boolean) + BC25 − BC25 (integration)
  • OnProcessBalanceOfLinesOnAfterCalcShouldCheckDocNoBasedOnNoSeries(var GenJournalLine: Record "Gen. Journal Line"; var GenJournalBatch: Record "Gen. Journal Batch"; var ShouldCheckDocNoBasedOnNoSeries: Boolean; var SkipCheckingPostingNoSeries: Boolean; LastDocNo: Code[20]; CurrentBalance: Decimal) + BC25 − BC25 (integration)
  • OnProcessLinesOnAfterAssignGLNegNo(var GenJournalLine: Record "Gen. Journal Line"; GLRegister: Record "G/L Register"; GLRegNo: Integer) (integration)
  • OnProcessLinesOnAfterPostGenJnlLines(var GenJournalLine: Record "Gen. Journal Line"; GLRegister: Record "G/L Register"; var GLRegNo: Integer; PreviewMode: Boolean) (integration)
  • OnProcessLinesOnBeforeSetGLRegNoToZero(var GenJournalLine: Record "Gen. Journal Line"; var GLRegNo: Integer; var IsHandled: Boolean; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line") (integration)
  • OnProcessLinesOnBeforeClearPostingCodeunits(var GenJournalLine: Record "Gen. Journal Line"; SuppressCommit: Boolean) (integration)
  • OnAfterIsNonZeroAmount(GenJournalLine: Record "Gen. Journal Line"; var Result: Boolean) (integration)
  • OnProcessICLinesOnBeforeHandledICInboxTransModify(var HandledICInboxTrans: Record "Handled IC Inbox Trans."; GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnCheckAllocationsOnAfterCalcShowAllocationsRecurringError(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; var GenJournalLine: Record "Gen. Journal Line"; var ShowAllocationsRecurringError: Boolean) (integration)
  • OnCheckAndCopyBalancingDataOnBeforeCheckGenPostingType(GenJnlLine4: Record "Gen. Journal Line"; GenJnlLine6: Record "Gen. Journal Line"; AccountType: Enum "Gen. Journal Account Type") (integration)
  • OnCopyFieldsOnAfterSetGenJnlFilters(var GenJnlLine4: Record "Gen. Journal Line"; var GenJnlLine6: Record "Gen. Journal Line") (integration)
  • OnBeforeCheckRecurringLine(GenJnlLine2: Record "Gen. Journal Line"; GenJnlTemplate: Record "Gen. Journal Template"; var IsHandled: Boolean) (integration)
  • OnBeforeIncrementBatchName(var GenJnlBatch: Record "Gen. Journal Batch"; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateCurrencyBalanceForRecurringLine(var GenJnlLine: Record "Gen. Journal Line"; var CurrencyBalance: Decimal; var LastCurrencyCode: Code[10]; var IsHandled: Boolean) (integration)
  • OnUpdateAndDeleteLinesOnBeforeModifyRecurringLine(var GenJnlLine: Record "Gen. Journal Line") (integration)
  • OnUpdateAndDeleteLinesOnBeforeDeleteNonRecurringLines(var GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnPostGenJournalLineOnBeforeCheckDocumentNo(var GenJnlLine: Record "Gen. Journal Line"; GLRegNo: Integer) (integration)
  • OnUpdateAndDeleteLinesOnAfterModifyRecurringLine(var GenJnlLine: Record "Gen. Journal Line") (integration)
  • OnUpdateAndDeleteLinesOnBeforeModifyNonRecurringLine(GenJournalTemplate: Record "Gen. Journal Template"; var GenJournalLine: Record "Gen. Journal Line"; LastGenJournalLine: Record "Gen. Journal Line") (integration)
  • OnUpdateAndDeleteLinesOnAfterModifyNonRecurringLine(GenJournalTemplate: Record "Gen. Journal Template"; var GenJournalLine: Record "Gen. Journal Line"; LastGenJournalLine: Record "Gen. Journal Line") (integration)
  • OnAfterCalcReversePostingDate(GenJournalLine: Record "Gen. Journal Line"; var PostingDate: Date) (integration)
  • OnUpdateAndDeleteLinesOnBeforeInBatchName(var GenJnlBatch: Record "Gen. Journal Batch"; var GenJnlLine: Record "Gen. Journal Line"; var IsHandled: Boolean) (integration)
  • OnUpdateAndDeleteLinesOnBeforeUpdatePostingDate(var GenJnlLine2: Record "Gen. Journal Line") (integration)
  • OnBeforeCheckLine(var GenJournalLine: Record "Gen. Journal Line"; var PostingAfterWorkingDateConfirmed: Boolean; var IsHandled: Boolean) (integration)
  • OnBeforeProcessICLines(var CurrentICPartner: Code[20]; var ICTransactionNo: Integer; var ICLastDocNo: Code[20]; var ICLastDate: Date; var ICLastDocType: Enum "Gen. Journal Document Type"; var GenJournalLine: Record "Gen. Journal Line"; var TempGenJournalLine: Record "Gen. Journal Line" temporary; var ICProccessedLines: Integer; var IsHandled: Boolean) (integration)
  • OnBeforeUpdateGenJnlLineWithVATInfo(var GenJournalLine: Record "Gen. Journal Line"; GenJournalLineVATInfoSource: Record "Gen. Journal Line"; StartLineNo: Integer; LastLineNo: Integer; var IsHandled: Boolean) (integration)
  • OnProcessLinesOnAfterProcessICTransaction(var GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnCheckLineOnAfterCheckAllocations(GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnBeforeCalcReversePostingDate(var GenJournalLine: Record "Gen. Journal Line") (integration)
  • OnBeforeCopyGenJnlLineBalancingData(var IsHandled: Boolean; GenJnlLineTo: Record "Gen. Journal Line"; GenJnlLineFrom: Record "Gen. Journal Line") + BC24 (integration)
  • OnBeforeCheckDocumentNo(var GenJournalLine: Record "Gen. Journal Line"; var LastDocumentNo: code[20]; var LastPostedDocumentNo: code[20]; var NoSeriesBatch: Codeunit "No. Series - Batch"; var IsHandled: Boolean) + BC24 (integration)
  • OnProcessBalanceOfLinesOnAfterSetVATEntryCreated(GenJournalLine: Record "Gen. Journal Line"; var VATEntryCreated: Boolean) + BC25 (integration)
  • OnBeforeCheckAllocations(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean) + BC25 (integration)
  • OnCheckGenJnlLineOnAfterSetPostingDateFilter(var GenJournalLine: Record "Gen. Journal Line") + BC25 (integration)
  • OnBeforeAssignVATDateIfEmpty(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean) + BC25 (integration)
  • OnBeforeFindNextGLRegisterNo(var GLRegister: Record "G/L Register"; var GLRegNo: Integer; var IsHandled: Boolean) + BC25 (integration)
  • OnProcessBalanceOfLinesOnBeforeCheckLine(GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean) + BC25 (integration)
  • OnPostGenJournalLineOnBeforeMultiplyAmounts(var GenJournalLine: Record "Gen. Journal Line"; SavedPostingDate: Date; SavedVATReportingDate: Date; var PostingGenJournalLine: Record "Gen. Journal Line") + BC25 (integration)
  • OnProcessLinesOnAfterPostGenJournalLine(var GenJournalLine: Record "Gen. Journal Line"; CurrentICPartner: Code[20]; ICTransactionNo: Integer; var LastTaxLineNo: Integer) + BC28 (integration)
  • OnBeforeFindGenJnlLineOnProcessLines(var GenJournalLine: Record "Gen. Journal Line") + BC28 (integration)

Procedures

  • UpdateDialog(PostingState: Integer; LineNo: Integer; TotalLinesQty: Integer): Updates the posting progress dialog with current posting state and progress information.
  • UpdateDialogUpdateBalLines(PostingSubState: Integer; LineNo: Integer; TotalLinesQty: Integer): Updates the posting progress dialog specifically for balance lines update operations.
  • ConfirmPostingUnvoidableChecks(JournalBatchName: Code[20]; JournalTemplateName: Code[20]): Boolean: Confirms posting of journal lines that require unvoidable validation checks. Specifically validates manual check transactions without balancing accounts and prompts for user confirmation.
  • SetPreviewMode(NewPreviewMode: Boolean): Sets the posting batch to preview mode to prevent actual database commits during posting operations. Used for posting preview functionality to analyze posting impacts without permanent changes.
  • Preview(var GenJournalLine: Record "Gen. Journal Line")
  • PostGenJournalLines(var GenJournalLine: Record "Gen. Journal Line"; CurrGenJnlLine: Record "Gen. Journal Line"; CurrentICPartner: Code[20]; ICTransactionNo: Integer): Boolean + BC28 (internal)
  • SetSuppressCommit(NewSuppressCommit: Boolean): Controls whether database commits are suppressed during posting operations. Used for testing scenarios or batch operations where commits should be managed externally.
  • InsertPostedGenJnlLine(GenJournalLine: Record "Gen. Journal Line"): Creates posted general journal line records from successfully posted journal lines. Archives journal line data for audit trail and historical reference if batch is configured for copying.

Plus 66 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

Recent changes

Countries that replace it

AT, AU, CH, DE, ES, NZ, RU

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: "Gen. Jnl.-Post Batch"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources