codeunitFinanceofficial - Microsoftderived - from the source, no model text

Codeunit 2679 "Purchase Alloc. Acc. Mgt."

Base Application · Microsoft.Finance.AllocationAccount.Purchase

Across versions

  1. BC23present
  2. BC243 procedures added, 2 procedures changed
  3. BC253 procedures added
  4. BC26unchanged
  5. BC271 events added
  6. BC281 procedures added
  7. BC29-30unchanged

Neighbourhood 7 connected objects and pages

Codeunit 2675 "Allocation Account Mgt." (calls, 4 links)Allocation Account Mgt.Codeunit 415 "Release Purchase Document" (calls, 3 links)Release Purchase DocumentCodeunit 2674 "Alloc. Acc. Handle Doc. Post" (calls, 2 links)Alloc. Acc. Handle Doc. PostCodeunit 408 "DimensionManagement" (calls, 2 links)DimensionManagementCodeunit 1720 "Deferral Utilities" (calls)Deferral UtilitiesCodeunit 2676 "Alloc. Acc. Telemetry" (calls)Alloc. Acc. TelemetryTable 2672 "Allocation Line" (calls)Allocation Line

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

Events published

  • OnBeforeCreatePurchaseLine(var PurchaseLine: Record "Purchase Line"; var AllocationLine: Record "Allocation Line"; var AllocationPurchaseLine: Record "Purchase Line") (integration): Integration event raised before creating purchase line from allocation line during distribution process. Enables custom modification of purchase line fields before standard allocation line processing.
  • OnBeforeVerifyPurchaseLine(var PurchaseLine: Record "Purchase Line") (integration): Integration event raised before verifying purchase line during allocation account validation. Enables custom validation logic for purchase lines before standard allocation verification.
  • OnLoadManualAllocationLinesOnBeforeInsertAllocationLine(var AllocAccManualOverride: Record "Alloc. Acc. Manual Override"; var AllocationLine: Record "Allocation Line") + BC27 (integration)

Event subscriptions

  • HandlePostDocument subscribes to Codeunit “Purch.-Post” OnBeforePostPurchaseDoc
  • HandleShowDimensions subscribes to Table “Purchase Line” OnBeforeShowDimensions
  • HandleAfterCheckSalesApprovalPossible subscribes to Codeunit “Approvals Mgmt.” OnAfterCheckPurchaseApprovalPossible
  • CheckBeforeModifyLine subscribes to Table “Purchase Line” OnBeforeModifyEvent
  • HandleValidateLineNo subscribes to Table “Purchase Line” OnBeforeValidateNo

Procedures

  • GetOrGenerateAllocationLines(var AllocationLine: Record "Allocation Line"; var ParentSystemId: Guid) (internal)
  • GetOrGenerateAllocationLines(var AllocationLine: Record "Allocation Line"; var ParentSystemId: Guid; var AmountToAllocate: Decimal; var PostingDate: Date) (internal)
  • LoadManualAllocationLines(var PurchaseLine: Record "Purchase Line"; var AllocationLine: Record "Allocation Line") (internal)
  • CreateLinesFromAllocationAccountLine(var AllocationAccountPurchaseLine: Record "Purchase Line"): Creates individual purchase lines from allocation account distribution lines based on allocation percentages or amounts. Processes allocation account configuration and generates corresponding G/L account lines with calculated amounts.
  • VerifyAllocationAccount(var AllocationAccount: Record "Allocation Account") (internal)
  • TransferDimensionSetID(var PurchaseLine: Record "Purchase Line"; var AllocationLine: Record "Allocation Line"; ModifiedByUser: Boolean) Δ BC24: Transfers dimension set ID from allocation line to purchase line with merge capabilities. Combines dimensions when both records have existing dimension sets or overwrites when specified.
  • VerifySelectedAllocationAccountNo(var PurchaseLine: Record "Purchase Line") Δ BC24: Validates the selected allocation account number on purchase line and verifies compatibility. Ensures the allocation account is properly configured and the purchase line uses G/L account type.

Plus 23 local procedures.

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

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: "Purchase Alloc. Acc. Mgt."), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources