tableFinanceofficial - Microsoftderived - from the source, no model text

Table 221 "Gen. Jnl. Allocation"

Base Application · Microsoft.Finance.GeneralLedger.Journal

Across versions

  1. BC23present
  2. BC241 fields changed, 1 procedures changed
  3. BC255 procedures added
  4. BC26-27unchanged
  5. BC284 fields changed, 1 procedures added
  6. BC2912 fields changed
  7. BC30unchanged

Neighbourhood 17 connected objects and pages

Table 15 "G/L Account" (relates to, 2 links)G/L AccountTable 349 "Dimension Value" (relates to, 2 links)Dimension ValueTable 232 "Gen. Journal Batch" (relates to)Table 250 "Gen. Business Posting Group" (relates to)Gen. Business Posting GroupTable 251 "Gen. Product Posting Group" (relates to)Gen. Product Posting GroupTable 318 "Tax Area" (relates to)Tax AreaTable 321 "Tax Group" (relates to)Tax GroupTable 323 "VAT Business Posting Group" (relates to)Table 324 "VAT Product Posting Group" (relates to)VAT Product Posting GroupTable 480 "Dimension Set Entry" (relates to)Dimension Set EntryTable 80 "Gen. Journal Template" (relates to)Gen. Journal TemplateTable 81 "Gen. Journal Line" (relates to)Gen. Journal LinePage 284 "Allocations" (pages and codeunits on it)AllocationsCodeunit 408 "DimensionManagement" (calls, 7 links)DimensionManagementCodeunit 27 "Confirm Management" (calls)Confirm ManagementTable 81 "Gen. Journal Line" (referenced by)Gen. Journal LineUse Allocation Keys in General Journals (Learn pages)

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

Learn documents this table through its pages: Page 284 “Allocations” (1 Learn page).

Properties

Property Value
Caption Gen. Jnl. Allocation
DataClassification CustomerContent
Permissions tabledata “Gen. Jnl. Allocation” = R

Fields

Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.

No. Name Type Explanation Notes
1 Journal Template Name Code[10] — TableRelation Table 80 “Gen. Journal Template” (Gen. Journal Template)
2 Journal Batch Name Code[10] — TableRelation Table 232 “Gen. Journal Batch” (“Gen. Journal Batch”.Name where(“Journal Template Name” = field(“Journal Template Name”)))
3 Journal Line No. Integer — TableRelation Table 81 “Gen. Journal Line” (“Gen. Journal Line”.“Line No.” where(“Journal Template Name” = field(“Journal Template Name”), “Journal Batch Name” = field(“Journal Batch Name”)))
4 Line No. Integer —
5 Account No. Δ BC29 Code[20] Specifies the account number that the allocation will be posted to. TableRelation Table 15 “G/L Account” (G/L Account)
6 Shortcut Dimension 1 Code Δ BC29 Code[20] Specifies the code for Shortcut Dimension 1, which is one of two global dimension codes that you set up in the General Ledger Setup window. TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(1), Blocked = const(false)))
7 Shortcut Dimension 2 Code Δ BC29 Code[20] Specifies the code for Shortcut Dimension 2, which is one of two global dimension codes that you set up in the General Ledger Setup window. TableRelation Table 349 “Dimension Value” (“Dimension Value”.Code where(“Global Dimension No.” = const(2), Blocked = const(false)))
8 Allocation Quantity Δ BC28 Δ BC29 Decimal Specifies the quantity that will be used to calculate the amount in the allocation journal line.
9 Allocation % Δ BC28 Δ BC29 Decimal Specifies the percentage that will be used to calculate the amount in the allocation journal line.
10 Amount Δ BC29 Decimal Specifies the amount that will be posted from the allocation journal line.
11 Gen. Posting Type Δ BC29 Enum “General Posting Type” Specifies the type of transaction. enum Enum 57 “General Posting Type”
12 Gen. Bus. Posting Group Δ BC29 Code[20] Specifies the vendor’s or customer’s trade type to link transactions made for this business partner with the appropriate general ledger account according to the general posting setup. TableRelation Table 250 “Gen. Business Posting Group” (Gen. Business Posting Group)
13 Gen. Prod. Posting Group Δ BC29 Code[20] Specifies the item’s product type to link transactions made for this item with the appropriate general ledger account according to the general posting setup. TableRelation Table 251 “Gen. Product Posting Group” (Gen. Product Posting Group)
14 VAT Calculation Type Enum “Tax Calculation Type” — enum Enum 254 “Tax Calculation Type”; not editable
15 VAT Amount Decimal — not editable
16 VAT % Δ BC28 Decimal — not editable
17 Account Name Δ BC24 Δ BC29 Text[100] Specifies the name of the account that the allocation will be posted to. FlowField: lookup(“G/L Account”.Name where(“No.” = field(“Account No.”))); not editable
18 Tax Area Code Code[20] — TableRelation Table 318 “Tax Area” (Tax Area)
19 Tax Liable Boolean —
20 Tax Group Code Code[20] — TableRelation Table 321 “Tax Group” (Tax Group)
21 Use Tax Boolean —
22 VAT Bus. Posting Group Δ BC29 Code[20] Specifies the VAT specification of the involved customer or vendor to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. TableRelation Table 323 “VAT Business Posting Group” (VAT Business Posting Group)
23 VAT Prod. Posting Group Δ BC29 Code[20] Specifies the VAT specification of the involved item or resource to link transactions made for this record with the appropriate general ledger account according to the VAT posting setup. TableRelation Table 324 “VAT Product Posting Group” (VAT Product Posting Group)
24 Additional-Currency Amount Δ BC28 Decimal — not editable
480 Dimension Set ID Integer — TableRelation Table 480 “Dimension Set Entry” (Dimension Set Entry); not editable

Keys

  • Key1: Journal Template Name, Journal Batch Name, Journal Line No., Line No. (clustered)

Events published

  • OnAfterInitDefaultDimensionSources(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; var DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]) (integration): Integration event raised after initializing default dimension sources for allocation line dimension creation. Enables custom modification of dimension sources before dimension set creation for allocation lines.
  • OnBeforeCreateDim(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; var IsHandled: Boolean) (integration): Integration event raised before creating dimension set for allocation line. Enables custom logic to completely override standard dimension creation processing for allocations.
  • OnAfterCreateDimProcedure(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; CurrFieldNo: Integer; DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]; xGenJnlAllocation: Record "Gen. Jnl. Allocation"; OldDimSetID: Integer) (integration): Integration event raised after completing dimension creation procedure for allocation line. Enables custom processing and validation after standard dimension set creation is completed.
  • OnAfterShowDimensions(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; xGenJnlAllocation: Record "Gen. Jnl. Allocation") (integration): Integration event raised after displaying dimensions page for allocation line. Enables custom processing after user interaction with allocation line dimensions.
  • OnAfterValidateShortcutDimCode(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; var xGenJnlAllocation: Record "Gen. Jnl. Allocation"; FieldNumber: Integer; var ShortcutDimCode: Code[20]) (integration): Integration event raised after validating shortcut dimension code for allocation line. Enables custom processing after shortcut dimension validation and dimension set updates.
  • OnBeforeValidateShortcutDimCode(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; var xGenJnlAllocation: Record "Gen. Jnl. Allocation"; FieldNumber: Integer; var ShortcutDimCode: Code[20]) (integration): Integration event raised before validating shortcut dimension code for allocation line. Enables custom logic to override standard shortcut dimension validation processing.
  • OnUpdateAllocationsOnAfterGenJnlAllocModify(var GenJnlAlloc: Record "Gen. Jnl. Allocation") (integration): Integration event that occurs after modifying a general journal allocation line during update process. Allows customization of allocation line processing after standard modification logic.
  • OnUpdateAllocationsOnBeforeGenJnlAllocModify(GenJournalLine: Record "Gen. Journal Line"; var GenJnlAlloc: Record "Gen. Jnl. Allocation") (integration): Integration event that occurs before modifying a general journal allocation line during update process. Allows customization of allocation line values before standard modification logic.
  • OnUpdateAllocationsAddCurrOnAfterGenJnlAllocModify(var GenJnlAlloc: Record "Gen. Jnl. Allocation") (integration): Integration event raised after modifying allocation line during additional currency allocation updates. Enables custom processing after allocation line changes during ACY amount distribution.
  • OnBeforeCheckGLAccount(GLAccount: Record "G/L Account"; var IsHandled: Boolean; var GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration): Integration event raised before validating G/L account setup for allocation line. Enables custom logic to override standard G/L account validation processing for allocations.
  • OnAfterCheckGLAccount(var GLAccount: Record "G/L Account"; GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration): Integration event raised after validating G/L account setup for allocation line. Enables custom processing and validation after standard G/L account checks are completed.
  • OnBeforeUpdateVAT(var GenJournalLine: Record "Gen. Journal Line"; var IsHandled: Boolean; var GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration): Integration event raised before updating VAT amounts for allocation line. Enables custom logic to completely override standard VAT update processing for allocations.
  • OnAfterUpdateVAT(var GenJournalLine: Record "Gen. Journal Line"; GenJournalLine2: Record "Gen. Journal Line"; var GenJnlAllocation: Record "Gen. Jnl. Allocation") (integration): Integration event raised after updating VAT amounts for allocation line. Enables custom processing after standard VAT calculation and update is completed.
  • OnBeforeValidateAccountNo(var GenJnlAllocation: Record "Gen. Jnl. Allocation"; xGenJnlAllocation: Record "Gen. Jnl. Allocation"; var IsHandled: Boolean) + BC24 (integration): Integration event raised before validating account number for allocation line. Enables custom logic to completely override standard account number validation processing.

Procedures

  • CopyVATSetupToJnlLines(): Boolean Δ BC24 (protected)
  • UpdateAllocations(var GenJnlLine: Record "Gen. Journal Line"): Updates allocation amounts and distributions for all allocation lines associated with the specified journal line. Recalculates allocation percentages and amounts to ensure total allocation equals journal line amount.
  • UpdateAllocationsAddCurr(var GenJnlLine: Record "Gen. Journal Line"; AddCurrAmount: Decimal): Updates allocation amounts in additional reporting currency for all allocation lines associated with the specified journal line. Converts allocation amounts to additional currency using current exchange rates.
  • CheckVAT(var GenJnlLine: Record "Gen. Journal Line"): Validates VAT setup and calculations for this allocation line based on the associated journal line context. Ensures VAT posting groups and calculation types are compatible with journal line requirements.
  • UpdateVAT(var GenJnlLine: Record "Gen. Journal Line"): Updates VAT amounts and percentages for this allocation line based on current VAT setup and allocation amount. Calculates VAT amount using VAT posting group configuration and allocation base amount.
  • GetCurrencyCode(): Code[10]: Retrieves the currency code applicable to this allocation line based on the associated journal line. Returns the journal line’s currency code or LCY if no specific currency is defined.
  • CreateDim(DefaultDimSource: List of [Dictionary of [Integer, Code[20]]]): Creates dimension set for this allocation line from the specified default dimension sources. Builds dimension combinations for financial analysis and reporting requirements.
  • ValidateShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Validates shortcut dimension code for the specified dimension and updates the allocation line’s dimension set. Ensures dimension values are valid and updates the dimension set ID accordingly.
  • LookupShortcutDimCode(FieldNumber: Integer; var ShortcutDimCode: Code[20]): Opens lookup for shortcut dimension code selection and updates the allocation line’s dimension set. Provides user interface for selecting valid dimension values for the specified dimension.
  • ShowShortcutDimCode(var ShortcutDimCode: array[8] of Code[20]): Retrieves and displays shortcut dimension codes for this allocation line in the provided array. Populates shortcut dimension code array with current dimension values for display purposes.
  • ShowDimensions(): Opens the dimensions page to display and allow editing of all dimensions for this allocation line. Provides comprehensive dimension management interface for detailed financial analysis setup.
  • CreateDimFromDefaultDim(): Creates dimension set for this allocation line from default dimension setup for the G/L account. Automatically applies standard dimension configuration based on account and posting group defaults.
  • ChooseAndImportFromAllocationAccount() + BC25 (internal)

Plus 8 local procedures.

Triggers

OnDelete, OnInsert

Relations

Referenced by

1 fields in 1 objects relate to this table (TableRelation or CalcFormula).

Pages and codeunits on this table

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.

Countries that replace it

IT, 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: "table", object_name: "Gen. Jnl. Allocation"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources