codeunitAL Developmentofficial - Microsoftderived - from the source, no model text

Codeunit 7002 "Price Calculation - V16"

Base Application · Microsoft.Pricing.Calculation

Across versions

  1. BC23-24present
  2. BC251 procedures removed, 1 events added
  3. BC26-30unchanged

Neighbourhood 4 connected objects and pages

Codeunit 7008 "Price Calculation Buffer Mgt." (calls, 13 links)Price Calculation Buffer Mgt.Codeunit 7007 "Price Asset List" (calls, 3 links)Price Asset ListCodeunit 7011 "Price Source List" (calls, 3 links)Price Source ListCodeunit 7001 "Price Calculation Mgt." (calls)Price Calculation Mgt.

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

Events published

  • OnAfterIsBetterLine(PriceListLine: Record "Price List Line"; AmountType: Enum "Price Amount Type"; BestPriceListLine: Record "Price List Line"; var Result: Boolean) (integration)
  • OnAfterIsDegradedLine(PriceListLine: Record "Price List Line"; BestPriceListLine: Record "Price List Line"; var Result: Boolean) (integration)
  • OnAfterIsImprovedLine(PriceListLine: Record "Price List Line"; BestPriceListLine: Record "Price List Line"; var Result: Boolean) (integration)
  • OnAfterPickBestLine(AmountType: Enum "Price Amount Type"; PriceListLine: Record "Price List Line"; var BestPriceListLine: Record "Price List Line"; var FoundBestLine: Boolean) (integration)
  • OnBeforeFindLines(AmountType: Enum "Price Amount Type"; var TempPriceListLine: Record "Price List Line" temporary; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; ShowAll: Boolean; var FoundLines: Boolean; var IsHandled: Boolean) (integration)
  • OnBeforePickBestLine(AmountType: Enum "Price Amount Type"; PriceListLine: Record "Price List Line"; var BestPriceListLine: Record "Price List Line"; var FoundBestLine: Boolean; var IsHandled: Boolean) (integration)
  • OnBeforeCalcBestAmount(AmountType: Enum "Price Amount Type"; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; var PriceListLine: Record "Price List Line") (integration)
  • OnIsDisabled(var Disabled: Boolean) (integration)
  • OnFindLinesOnBefoerPriceSourceListGetMinMaxLevel(var PriceAssetList: Codeunit "Price Asset List"; var PriceSourceList: Codeunit "Price Source List"; AmountType: Enum "Price Amount Type"; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; ShowAll: Boolean) (integration)
  • OnAfterCalcBestAmount(AmountType: Enum "Price Amount Type"; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; var PriceListLine: Record "Price List Line"; var FoundBestPrice: Boolean) (integration)
  • OnAfterFindLines(AmountType: Enum "Price Amount Type"; var TempPriceListLine: Record "Price List Line" temporary; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; ShowAll: Boolean; var FoundLines: Boolean) (integration)
  • OnBeforeShowPrices(var TempPriceListLine: Record "Price List Line"; LineWithPrice: Interface "Line With Price") (integration)
  • OnApplyDiscountOnBeforeFillBestLine(var TempPriceListLine: Record "Price List Line" temporary; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt.") + BC25 (integration)

Event subscriptions

  • OnFindImplementationHandler subscribes to Codeunit “Price Calculation Mgt.” OnFindSupportedSetup
  • OnCompanyInitializeHandler subscribes to Codeunit “Company-Initialize” OnCompanyInitialize

Procedures

  • GetLine(var Line: Variant)
  • Init(NewLineWithPrice: Interface "Line With Price"; PriceCalculationSetup: Record "Price Calculation Setup")
  • ApplyDiscount()
  • ApplyPrice(CalledByFieldNo: Integer)
  • CountDiscount(ShowAll: Boolean): Integer
  • CountPrice(ShowAll: Boolean): Integer
  • FindDiscount(var TempPriceListLine: Record "Price List Line"; ShowAll: Boolean): Boolean
  • FindPrice(var TempPriceListLine: Record "Price List Line"; ShowAll: Boolean): Boolean
  • IsDiscountExists(ShowAll: Boolean): Boolean
  • IsPriceExists(ShowAll: Boolean): Boolean
  • PickDiscount()
  • PickPrice()
  • ShowPrices(var TempPriceListLine: Record "Price List Line")
  • IsDegradedLine(PriceListLine: Record "Price List Line"; BestPriceListLine: Record "Price List Line"): Boolean
  • IsImprovedLine(PriceListLine: Record "Price List Line"; BestPriceListLine: Record "Price List Line"): Boolean
  • IsBetterLine(var PriceListLine: Record "Price List Line"; AmountType: Enum "Price Amount Type"; BestPriceListLine: Record "Price List Line"): Boolean
  • FindLines(AmountType: Enum "Price Amount Type"; var TempPriceListLine: Record "Price List Line" temporary; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; ShowAll: Boolean): Boolean
  • CopyLinesBySource(var PriceListLine: Record "Price List Line"; PriceSource: Record "Price Source"; var PriceAssetList: Codeunit "Price Asset List"; var TempPriceListLine: Record "Price List Line" temporary): Boolean
  • CopyLinesBySource(var PriceListLine: Record "Price List Line"; PriceSource: Record "Price Source"; PriceAsset: Record "Price Asset"; var TempPriceListLine: Record "Price List Line" temporary): Boolean
  • CalcBestAmount(AmountType: Enum "Price Amount Type"; var PriceCalculationBufferMgt: Codeunit "Price Calculation Buffer Mgt."; var PriceListLine: Record "Price List Line"): Boolean

Plus 10 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.

Implements

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: "Price Calculation - V16"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.

Evidence 1 sources