Table of Contents

KVSKBASalesPriceCalcMgt

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Procedures

CalcBestUnitPrice(Record KVSKBASalesPrice, Boolean) :

Summary: Determines the best matching unit price from the provided sales price records and writes the result back into the SalesPrice variable.

procedure CalcBestUnitPrice(var SalesPrice: Record "KVSKBASalesPrice"; DoNotFindBestPrice: Boolean): 

Parameters:

  • SalesPrice: Temporary sales price record set to iterate; receives the selected best price on return.
  • DoNotFindBestPrice: When true, the most specific price is chosen rather than the cheapest price.

Remarks: Iterates all records in the temporary SalesPrice table, applies VAT, unit of measure and currency conversions, and selects the price according to specificity rules (currency, variant code, lowest line amount). When DoNotFindBestPrice is true, the most specific price by hierarchy and sales type is chosen instead of the lowest price. If no price record satisfies the minimum quantity filter, the item's own unit price is used as a fallback. Raises OnBeforeCalcBestUnitPrice before iteration and OnAfterCalcBestUnitPrice after it.

CalcBestLineDisc(Record KVSKBASalesLineDiscount, Boolean) :

Summary: Determines the best matching line discount from the provided sales line discount records and writes the result back into the SalesLineDisc variable.

procedure CalcBestLineDisc(var SalesLineDisc: Record "KVSKBASalesLineDiscount"; DoNotFindBestPrice: Boolean): 

Parameters:

  • SalesLineDisc: Temporary sales line discount record set to iterate; receives the selected best discount on return.
  • DoNotFindBestPrice: When true, the most specific discount is chosen rather than the highest discount percentage.

Remarks: Iterates all records in the temporary SalesLineDisc table and selects the most appropriate discount based on minimum quantity, currency code, variant code, and highest discount percentage. When DoNotFindBestPrice is true, the most specific discount by hierarchy and sales type is chosen instead of the highest percentage. If no record matches, the default discount (0 %) descended from the item is used as a fallback.

FindSalesPrice(Record KVSKBASalesPrice, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean, Code[10], Record KVSKBASalesConditionLine, Code[10], Code[10], Code[20]) :

Summary: Fills the ToSalesPrice temporary table with all applicable sales prices for the given combination of customer, item, date, currency, and unit of measure.

procedure FindSalesPrice(var ToSalesPrice: Record "KVSKBASalesPrice"; CustNo: Code[20]; ContNo: Code[20]; CustPriceGrCode: Code[10]; CampaignNo: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UOM: Code[10]; CurrencyCode: Code[10]; StartingDate: Date; ShowAll: Boolean; RespCenterCode: Code[10]; var ToSalesCondLine: Record "KVSKBASalesConditionLine"; SalesOrderTypeCode: Code[10]; ItemPriceGrCode: Code[10]; ItemCategoryCode: Code[20]): 

Parameters:

  • ToSalesPrice: Temporary target record receiving all matching sales prices; cleared before filling unless called recursively.
  • CustNo: Customer number for customer-specific and hierarchy price lookup.
  • ContNo: Contact number used for campaign target group lookup.
  • CustPriceGrCode: Customer price group code.
  • CampaignNo: Specific campaign number; bypasses customer/contact lookup when provided.
  • ItemNo: Item number to search prices for.
  • VariantCode: Item variant code filter.
  • UOM: Unit of measure code filter.
  • CurrencyCode: Currency code filter.
  • StartingDate: Reference date; only prices valid on or before this date are included.
  • ShowAll: When true, date, currency and unit of measure filters are ignored.
  • RespCenterCode: Responsibility center code filter.
  • ToSalesCondLine: Temporary condition lines record populated alongside the prices.
  • SalesOrderTypeCode: Sales order type code filter.
  • ItemPriceGrCode: Item price group code; triggers a recursive call to include item price group prices.
  • ItemCategoryCode: Item category code used in hierarchy price lookup.

Remarks: Searches sales prices for All Customers, a specific Customer (including hierarchy), Customer Price Group, and Campaign. If an item price group code is provided, the function calls itself recursively once to also include item price group prices. Raises OnBeforeFindSalesPriceOnBeforeDeleteTempTable (allows early exit) and OnBeforeFindSalesPrice/OnAfterFindSalesPrice. The ToSalesPrice record must be temporary; an error is raised otherwise.

FindSalesLineDisc(Record KVSKBASalesLineDiscount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean, Code[10], Record KVSKBASalesConditionLine, Decimal, Code[10]) :

Summary: Fills the ToSalesLineDisc temporary table with all applicable sales line discounts for the given combination of customer, item, date, currency, and unit of measure.

procedure FindSalesLineDisc(var ToSalesLineDisc: Record "KVSKBASalesLineDiscount"; CustNo: Code[20]; ContNo: Code[20]; CustDiscGrCode: Code[20]; CampaignNo: Code[20]; ItemNo: Code[20]; ItemDiscGrCode: Code[20]; VariantCode: Code[10]; UOM: Code[10]; CurrencyCode: Code[10]; StartingDate: Date; ShowAll: Boolean; RespCenterCode: Code[10]; var ToSalesCondLine: Record "KVSKBASalesConditionLine"; InitialPrice: Decimal; SalesOrderTypeCode: Code[10]): 

Parameters:

  • ToSalesLineDisc: Temporary target record receiving all matching sales line discounts; cleared before filling.
  • CustNo: Customer number for customer-specific and hierarchy discount lookup.
  • ContNo: Contact number used for campaign target group lookup.
  • CustDiscGrCode: Customer discount group code.
  • CampaignNo: Specific campaign number; bypasses customer/contact lookup when provided.
  • ItemNo: Item number to search discounts for.
  • ItemDiscGrCode: Item discount group code.
  • VariantCode: Item variant code filter.
  • UOM: Unit of measure code filter.
  • CurrencyCode: Currency code filter.
  • StartingDate: Reference date; only discounts valid on or before this date are included.
  • ShowAll: When true, date, currency and unit of measure filters are ignored.
  • RespCenterCode: Responsibility center code filter.
  • ToSalesCondLine: Temporary condition lines record populated alongside the discounts.
  • InitialPrice: The initial unit price used for condition line calculation.
  • SalesOrderTypeCode: Sales order type code filter.

Remarks: Searches discounts for All Customers, a specific Customer (including hierarchy), Customer Discount Group, and Campaign. Both item-specific and item discount group discounts are collected. Raises OnBeforeFindSalesLineDisc before processing and OnAfterFindSalesLineDisc after. The ToSalesLineDisc record must be temporary; an error is raised otherwise.

CopySalesPriceToSalesPrice(Record KVSKBASalesPrice, Record KVSKBASalesPrice, Code[10], Code[20], Code[10], Record KVSKBASalesConditionLine) :

Summary: Copies qualifying records from the source sales price set into the destination temporary sales price table, processing condition lines for each entry.

procedure CopySalesPriceToSalesPrice(var FromSalesPrice: Record "KVSKBASalesPrice"; var ToSalesPrice: Record "KVSKBASalesPrice"; UOMCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; var ToSalesCondLine: Record "KVSKBASalesConditionLine"): 

Parameters:

  • FromSalesPrice: Source sales price records to copy from.
  • ToSalesPrice: Destination temporary sales price table to insert into.
  • UOMCode: Unit of measure code used for condition line calculation.
  • ItemNo: Item number used for condition line calculation.
  • VariantCode: Variant code used for condition line calculation.
  • ToSalesCondLine: Temporary condition line record populated for each copied entry.

Remarks: For each source record, CopySalesCondLinesPriceCU7000 is called to populate condition lines, the hierarchy level is set, and the price is inserted into the destination. Records with a unit price of zero are skipped. Raises OnCopySalesPriceToSalesPriceOnBeforeRepeatCode per record to allow subscribers to override individual entries.

SetItem(Code[20]) :

Summary: Loads the item with the given number into the internal GlobalItem variable.

procedure SetItem(ItemNo: Code[20]): 

Parameters:

  • ItemNo: The item number to load into GlobalItem.

Remarks: Used by external callers to pre-populate GlobalItem before invoking price calculation functions that depend on it.

SetCurrency(Code[10], Decimal, Date) :

Summary: Initialises the currency-related calculation variables for subsequent price and discount calculations.

procedure SetCurrency(CurrencyCode2: Code[10]; CurrencyFactor2: Decimal; ExchRateDate2: Date): 

Parameters:

  • CurrencyCode2: The document currency code; pass an empty string for LCY.
  • CurrencyFactor2: The currency exchange rate factor for the document.
  • ExchRateDate2: The date used for the exchange rate, typically the posting or order date.

Remarks: When a non-empty currency code is provided, the corresponding Currency record is loaded and PricesInCurrency is set to true. When the currency code is blank, General Ledger Setup is loaded and GlobalCurrency is cleared.

SetVAT(Boolean, Decimal, Enum Tax Calculation Type, Code[20]) :

procedure SetVAT(PriceInclVAT2: Boolean; VATPerCent2: Decimal; VATCalcType2: Enum "Tax Calculation Type"; VATBusPostingGr2: Code[20]): 

SetUoM(Decimal, Decimal) :

Summary: Initialises the quantity and unit of measure variables used for minimum quantity evaluation.

procedure SetUoM(Qty2: Decimal; QtyPerUoM2: Decimal): 

Parameters:

  • Qty2: The document line quantity (pass the absolute value).
  • QtyPerUoM2: The quantity per unit of measure from the document line.

Remarks: GlobalQty and GlobalQtyPerUOM are used by IsInMinQty and IsInPriceGrpMinQty to check whether a price or discount record's minimum quantity is satisfied.

SetLineDisc(Decimal, Boolean, Boolean) :

Summary: Initialises the line discount variables used during best unit price calculation.

procedure SetLineDisc(LineDiscPerCent2: Decimal; AllowLineDisc2: Boolean; AllowInvDisc2: Boolean): 

Parameters:

  • LineDiscPerCent2: The current line discount percentage from the document line.
  • AllowLineDisc2: Whether line discounts are allowed on the document line.
  • AllowInvDisc2: Whether invoice discounts are allowed on the document line.

Remarks: LineDiscPerCent is used in CalcLineAmount to compare competing prices when DoNotFindBestPrice is false. AllowLineDisc and AllowInvDisc are applied to the fallback BestSalesPrice when no price agreement is found.

ActivatedCampaignExists(Record Campaign Target Group, Code[20], Code[20], Code[20]) : Boolean

Summary: Returns whether at least one activated campaign is associated with the given customer, contact, or campaign, and fills ToCampaignTargetGr with the matching entries.

procedure ActivatedCampaignExists(var ToCampaignTargetGr: Record "Campaign Target Group"; CustNo: Code[20]; ContNo: Code[20]; CampaignNo: Code[20]): Boolean

Parameters:

  • ToCampaignTargetGr: Temporary target record receiving the activated campaign target group entries.
  • CustNo: Customer number to look up campaign memberships for.
  • ContNo: Contact number used as fallback when no customer campaigns are found.
  • CampaignNo: Optional specific campaign number; bypasses customer/contact lookup when provided.

Returns: True if at least one activated campaign was found; false otherwise.

Remarks: When CampaignNo is provided it is inserted directly into ToCampaignTargetGr and the function returns true. Otherwise active campaigns linked to the customer or contact are looked up and inserted. The passed ToCampaignTargetGr must be a temporary record; an error is raised otherwise. Raises OnBeforeActivatedCampaignExists to allow subscribers to replace the standard logic.

FindJobPlanningLineLineDisc(Record Job Planning Line) :

Summary: Finds and applies the best matching line discount for an item-type job planning line.

procedure FindJobPlanningLineLineDisc(var JobPlanningLine: Record "Job Planning Line"): 

Parameters:

  • JobPlanningLine: The job planning line for which the best line discount is determined; "Line Discount %" is updated in place.

Remarks: Populates TempKVSKBASalesLineDisc via JobPlanningLineLineDiscExists, then calls CalcBestLineDisc to select the best discount. Sets JobPlanningLine."Line Discount %" to the result; sets it to zero when line discounts are not allowed. Raises OnAfterFindJobPlanningLineLineDisc after the discount is applied. Has no effect for non-item planning line types.

FindJobJnlLineLineDisc(Record Job Journal Line) :

Summary: Finds and applies the best matching line discount for an item-type job journal line.

procedure FindJobJnlLineLineDisc(var JobJnlLine: Record "Job Journal Line"): 

Parameters:

  • JobJnlLine: The job journal line for which the best line discount is determined; "Line Discount %" is updated in place.

Remarks: Populates TempKVSKBASalesLineDisc via JobJnlLineLineDiscExists, then calls CalcBestLineDisc to select the best discount. Sets JobJnlLine."Line Discount %" to the result. Raises OnBeforeFindJobJnlLineLineDisc / OnBeforeFindJobJnlLineLineDisc2 for early-exit handling and OnAfterFindJobJnlLineLineDisc after the discount is applied. Has no effect for non-item journal line types.

JobJnlLineStartDate(Record Job Journal Line, Text[30]) : Date

Summary: Returns the posting date of the job journal line as the reference date for price and discount lookup.

procedure JobJnlLineStartDate(JobJnlLine: Record "Job Journal Line"; var DateCaption: Text[30]): Date

Parameters:

  • JobJnlLine: The job journal line providing the posting date.
  • DateCaption: Returns the localised caption of the "Posting Date" field.

Returns: The posting date of the job journal line.

Remarks: DateCaption is set to the field caption of "Posting Date" and is used in validation error messages.

SetDocLocationCode(Code[10]) :

Summary: Sets the document location code used in sales condition line calculations.

procedure SetDocLocationCode(DocLocationCodePar: Code[10]): 

Parameters:

  • DocLocationCodePar: The location code from the document or journal line.

Remarks: The stored code is forwarded to CopySalesCondLinesPriceCU7000 and CopySalesCondLinesLDiscCU7000 during price and discount copying.

GetDocLocationCode() : Code[10]

Summary: Returns the currently stored document location code.

procedure GetDocLocationCode(): Code[10]

Returns: The currently active document location code.

Remarks: Can be used by external callers to read the location code that was set via SetDocLocationCode.

OnCalcBestUnitPriceOnBeforeCaseBestSalesPrice(Record KVSKBASalesPrice, Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the best-price case comparison executes in CalcBestUnitPrice.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
procedure OnCalcBestUnitPriceOnBeforeCaseBestSalesPrice(var SalesPrice: Record "KVSKBASalesPrice"; DoNotFindBestPrice: Boolean; var IsHandled: Boolean): 

Parameters:

  • SalesPrice: The current candidate sales price being evaluated.
  • DoNotFindBestPrice: Whether the most specific price (true) or the lowest price (false) is being selected.
  • IsHandled: Set to true to skip the standard case comparison.

Remarks: Set IsHandled to true to skip the standard case comparison and retain the current BestSalesPrice. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

Events

OnAfterCalcBestUnitPrice(Record KVSKBASalesPrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best unit price has been determined in CalcBestUnitPrice.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterCalcBestUnitPrice(var SalesPrice: Record "KVSKBASalesPrice"): 

Parameters:

  • SalesPrice: The best sales price record selected by CalcBestUnitPrice.

Remarks: Subscribers can inspect or modify the resulting SalesPrice record. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterCalcBestUnitPriceAsItemUnitPrice(Record KVSKBASalesPrice, Record Item) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the item's own unit price has been used as a fallback in CalcBestUnitPrice.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterCalcBestUnitPriceAsItemUnitPrice(var SalesPrice: Record "KVSKBASalesPrice"; var Item: Record "Item"): 

Parameters:

  • SalesPrice: The sales price record populated with the item's unit price.
  • Item: The item whose unit price was applied.

Remarks: Raised when no price agreement satisfies the minimum quantity filter and the item unit price is applied. Subscribers can inspect or modify the resulting SalesPrice or Item record. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterCopyJobResPriceToJobJnlLine(Record Job Journal Line, Record Job Resource Price) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after a job resource price has been copied to a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterCopyJobResPriceToJobJnlLine(var JobJnlLine: Record "Job Journal Line"; JobResPrice: Record "Job Resource Price"): 

Parameters:

  • JobJnlLine: The job journal line that received the resource price.
  • JobResPrice: The job resource price record that was applied.

Remarks: Subscribers can adjust the resulting journal line values after the resource price copy.

OnAfterFindItemJnlLinePrice(Record Item Journal Line, Record KVSKBASalesPrice, Integer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best unit price has been determined for an item journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindItemJnlLinePrice(var ItemJournalLine: Record "Item Journal Line"; var SalesPrice: Record "KVSKBASalesPrice"; CalledByFieldNo: Integer): 

Parameters:

  • ItemJournalLine: The item journal line for which the price was found.
  • SalesPrice: The best sales price record selected.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.

Remarks: Subscribers can inspect or modify the resulting SalesPrice or item journal line. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindJobJnlLineResPrice(Record Job Journal Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the resource price has been determined for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindJobJnlLineResPrice(var JobJournalLine: Record "Job Journal Line"; var ResourcePrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • JobJournalLine: The job journal line being priced.
  • ResourcePrice: The resource price record that was applied.

Remarks: Subscribers can inspect or modify the resulting resource price before it is written back to the journal line.

OnAfterFindJobJnlLineLineDisc(Record Job Journal Line, Record KVSKBASalesLineDiscount) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best line discount has been determined for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindJobJnlLineLineDisc(var JobJournalLine: Record "Job Journal Line"; var TempSalesLineDisc: Record "KVSKBASalesLineDiscount" temporary): 

Parameters:

  • JobJournalLine: The job journal line for which the discount was found.
  • TempSalesLineDisc: The temporary sales line discount record selected as the best discount.

Remarks: Subscribers can inspect or modify the resulting temporary sales line discount. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindJobPlanningLineLineDisc(Record Job Planning Line, Record KVSKBASalesLineDiscount) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best line discount has been determined for a job planning line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindJobPlanningLineLineDisc(var JobPlanningLine: Record "Job Planning Line"; var TempSalesLineDisc: Record "KVSKBASalesLineDiscount" temporary): 

Parameters:

  • JobPlanningLine: The job planning line for which the discount was found.
  • TempSalesLineDisc: The temporary sales line discount record selected as the best discount.

Remarks: Subscribers can inspect or modify the resulting temporary sales line discount. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindJobPlanningLineResPrice(Record Job Planning Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the resource price has been determined for a job planning line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindJobPlanningLineResPrice(var JobPlanningLine: Record "Job Planning Line"; var ResourcePrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • JobPlanningLine: The job planning line being priced.
  • ResourcePrice: The resource price record that was applied.

Remarks: Subscribers can inspect or modify the resulting resource price before it is written to the planning line.

OnAfterFindStdItemJnlLinePrice(Record Standard Item Journal Line, Record KVSKBASalesPrice, Integer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best unit price has been determined for a standard item journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindStdItemJnlLinePrice(var StdItemJnlLine: Record "Standard Item Journal Line"; var SalesPrice: Record "KVSKBASalesPrice"; CalledByFieldNo: Integer): 

Parameters:

  • StdItemJnlLine: The standard item journal line for which the price was found.
  • SalesPrice: The best sales price record selected.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.

Remarks: Subscribers can inspect or modify the resulting SalesPrice or standard item journal line. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindSalesLinePrice(Record Sales Line, Record Sales Header, Record KVSKBASalesPrice, Record KVSKBAResourcePrice, Integer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best unit price has been determined for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindSalesLinePrice(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var SalesPrice: Record "KVSKBASalesPrice"; var ResourcePrice: Record "KVSKBAResourcePrice"; CalledByFieldNo: Integer): 

Parameters:

  • SalesLine: The sales line for which the price was found.
  • SalesHeader: The sales header providing date and customer context.
  • SalesPrice: The best sales price record selected.
  • ResourcePrice: The resource price applied for resource-type lines.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.

Remarks: Subscribers can inspect or modify the resulting sales price or sales line. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindSalesLineLineDisc(Record Sales Line, Record Sales Header, Record KVSKBASalesLineDiscount) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best line discount has been determined for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindSalesLineLineDisc(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var SalesLineDiscount: Record "KVSKBASalesLineDiscount"): 

Parameters:

  • SalesLine: The sales line for which the discount was found.
  • SalesHeader: The sales header providing date and customer context.
  • SalesLineDiscount: The best sales line discount record selected.

Remarks: Subscribers can inspect or modify the resulting sales line discount. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindSalesPrice(Record KVSKBASalesPrice, Record KVSKBASalesPrice, Decimal, Decimal, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean, Code[10], Record KVSKBASalesConditionLine, Code[10], Code[10], Code[20]) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after FindSalesPrice has finished populating the ToSalesPrice temporary table.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindSalesPrice(var ToSalesPrice: Record "KVSKBASalesPrice"; var FromSalesPrice: Record "KVSKBASalesPrice"; QtyPerUOM: Decimal; Qty: Decimal; CustNo: Code[20]; ContNo: Code[20]; CustPriceGrCode: Code[10]; CampaignNo: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UOM: Code[10]; CurrencyCode: Code[10]; StartingDate: Date; ShowAll: Boolean; RespCenterCode: Code[10]; var ToSalesCondLine: Record "KVSKBASalesConditionLine"; SalesOrderTypeCode: Code[10]; ItemPriceGrCode: Code[10]; ItemCategoryCode: Code[20]): 

Parameters:

  • ToSalesPrice: The temporary sales price table that was populated by FindSalesPrice.
  • FromSalesPrice: Internal working record used during the search (for inspection purposes).
  • QtyPerUOM: The quantity per unit of measure used in the lookup.
  • Qty: The quantity used in the lookup.
  • CustNo: Customer number used in the lookup.
  • ContNo: Contact number used in the lookup.
  • CustPriceGrCode: Customer price group code used in the lookup.
  • CampaignNo: Campaign number used in the lookup.
  • ItemNo: Item number used in the lookup.
  • VariantCode: Variant code used in the lookup.
  • UOM: Unit of measure code used in the lookup.
  • CurrencyCode: Currency code used in the lookup.
  • StartingDate: Reference date used in the lookup.
  • ShowAll: Whether all filters were bypassed.
  • RespCenterCode: Responsibility center code used in the lookup.
  • ToSalesCondLine: Temporary condition lines populated alongside the prices.
  • SalesOrderTypeCode: Sales order type code used in the lookup.
  • ItemPriceGrCode: Item price group code used in the lookup.
  • ItemCategoryCode: Item category code used in the lookup.

Remarks: Subscribers can add, modify or remove entries in ToSalesPrice before the caller proceeds to CalcBestUnitPrice. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindSalesLineItemPrice(Record Sales Line, Record KVSKBASalesPrice, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the sales prices for a sales line have been found and CalcBestUnitPrice has been called.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindSalesLineItemPrice(var SalesLine: Record "Sales Line"; var TempSalesPrice: Record "KVSKBASalesPrice" temporary; var FoundSalesPrice: Boolean): 

Parameters:

  • SalesLine: The sales line being priced.
  • TempSalesPrice: The temporary sales price table after the best price selection.
  • FoundSalesPrice: Whether a suitable price record was found.

Remarks: Subscribers can inspect or modify TempSalesPrice before the price is applied to the sales line. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindSalesLineResPrice(Record Sales Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the resource price has been determined for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindSalesLineResPrice(var SalesLine: Record "Sales Line"; var ResPrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • SalesLine: The sales line being priced.
  • ResPrice: The resource price record that was applied.

Remarks: Subscribers can inspect or modify the resulting resource price before it is applied.

OnAfterFindSalesLineDisc(Record KVSKBASalesLineDiscount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after FindSalesLineDisc has finished populating the ToSalesLineDisc temporary table for a sales context.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindSalesLineDisc(var ToSalesLineDisc: Record "KVSKBASalesLineDiscount"; CustNo: Code[20]; ContNo: Code[20]; CustDiscGrCode: Code[20]; CampaignNo: Code[20]; ItemNo: Code[20]; ItemDiscGrCode: Code[20]; VariantCode: Code[10]; UOM: Code[10]; CurrencyCode: Code[10]; StartingDate: Date; ShowAll: Boolean): 

Parameters:

  • ToSalesLineDisc: The temporary sales line discount table populated by FindSalesLineDisc.
  • CustNo: Customer number used in the lookup.
  • ContNo: Contact number used in the lookup.
  • CustDiscGrCode: Customer discount group code used in the lookup.
  • CampaignNo: Campaign number used in the lookup.
  • ItemNo: Item number used in the lookup.
  • ItemDiscGrCode: Item discount group code used in the lookup.
  • VariantCode: Variant code used in the lookup.
  • UOM: Unit of measure code used in the lookup.
  • CurrencyCode: Currency code used in the lookup.
  • StartingDate: Reference date used in the lookup.
  • ShowAll: Whether all filters were bypassed.

Remarks: Subscribers can add, modify or remove discount entries before CalcBestLineDisc is called. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindServLinePrice(Record Service Line, Record Service Header, Record KVSKBASalesPrice, Record KVSKBAResourcePrice, Record Service Cost, Integer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best unit price has been determined for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindServLinePrice(var ServiceLine: Record "Service Line"; var ServiceHeader: Record "Service Header"; var SalesPrice: Record "KVSKBASalesPrice"; var ResourcePrice: Record "KVSKBAResourcePrice"; var ServiceCost: Record "Service Cost"; CalledByFieldNo: Integer): 

Parameters:

  • ServiceLine: The service line for which the price was found.
  • ServiceHeader: The service header providing date and customer context.
  • SalesPrice: The best sales price record selected for item-type lines.
  • ResourcePrice: The resource price applied for resource-type lines.
  • ServiceCost: The service cost applied for cost-type lines.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.

Remarks: Subscribers can inspect or modify the resulting sales price, resource price, service cost or service line. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterFindServLineResPrice(Record Service Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the resource price has been determined for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindServLineResPrice(var ServiceLine: Record "Service Line"; var ResPrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • ServiceLine: The service line being priced.
  • ResPrice: The resource price record that was applied.

Remarks: Subscribers can inspect or modify the resulting resource price before it is applied to the service line.

OnAfterFindServLineDisc(Record Service Line, Record Service Header, Record KVSKBASalesLineDiscount) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the best line discount has been determined for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterFindServLineDisc(var ServiceLine: Record "Service Line"; var ServiceHeader: Record "Service Header"; var SalesLineDiscount: Record "KVSKBASalesLineDiscount"): 

Parameters:

  • ServiceLine: The service line for which the discount was found.
  • ServiceHeader: The service header providing date and customer context.
  • SalesLineDiscount: The best sales line discount record selected.

Remarks: Subscribers can inspect or modify the resulting sales line discount before it is applied. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterGetSalesLinePrice(Record Sales Header, Record Sales Line, Record KVSKBASalesPrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the unit price has been applied to a sales line via GetSalesLinePrice.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterGetSalesLinePrice(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var TempSalesPrice: Record "KVSKBASalesPrice" temporary): 

Parameters:

  • SalesHeader: The sales header providing customer and date context.
  • SalesLine: The sales line whose price was updated.
  • TempSalesPrice: The temporary sales price record holding the applied price.

Remarks: Subscribers can adjust TempSalesPrice before the unit price is written back to the sales line. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterGetSalesLineLineDisc(Record Sales Line, Record KVSKBASalesLineDiscount) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the line discount has been applied to a sales line via GetSalesLineLineDisc.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterGetSalesLineLineDisc(var SalesLine: Record "Sales Line"; var SalesLineDiscount: Record "KVSKBASalesLineDiscount"): 

Parameters:

  • SalesLine: The sales line whose line discount was updated.
  • SalesLineDiscount: The sales line discount record that was applied.

Remarks: Subscribers can adjust the resulting SalesLineDiscount before the line discount percentage is written back. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterJobJnlLineFindJTPriceGLAccount(Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the GL account job task price has been determined for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterJobJnlLineFindJTPriceGLAccount(var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobJournalLine: The job journal line after the GL account job task price has been applied.

Remarks: Subscribers can modify the resulting journal line after the job task price for a GL account has been applied.

OnAfterJobJnlLineFindJTPriceItem(Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the item job task price has been determined for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterJobJnlLineFindJTPriceItem(var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobJournalLine: The job journal line after the item job task price has been applied.

Remarks: Subscribers can modify the resulting journal line after the job task price for an item has been applied.

OnAfterJobJnlLineFindJTPriceResource(Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the resource job task price has been determined for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterJobJnlLineFindJTPriceResource(var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobJournalLine: The job journal line after the resource job task price has been applied.

Remarks: Subscribers can modify the resulting journal line after the job task price for a resource has been applied.

OnAfterJobJnlLineLineDiscExists(Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the line discount check has been executed for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterJobJnlLineLineDiscExists(var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobJournalLine: The job journal line after the line discount existence check.

Remarks: Subscribers can read or adjust the journal line state after the discount existence check.

OnAfterJobPlanningLineLineDiscExists(Record Job Planning Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the line discount check has been executed for a job planning line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterJobPlanningLineLineDiscExists(var JobPlanningLine: Record "Job Planning Line"): 

Parameters:

  • JobPlanningLine: The job planning line after the line discount existence check.

Remarks: Subscribers can read or adjust the planning line state after the discount existence check.

OnAfterSalesLineLineDiscExists(Record Sales Line, Record Sales Header, Record KVSKBASalesLineDiscount, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the line discount existence check has been completed for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterSalesLineLineDiscExists(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var TempSalesLineDisc: Record "KVSKBASalesLineDiscount" temporary; ShowAll: Boolean): 

Parameters:

  • SalesLine: The sales line for which the discount check was performed.
  • SalesHeader: The sales header providing date and customer context.
  • TempSalesLineDisc: The temporary sales line discount table after the existence check.
  • ShowAll: Whether all filters were bypassed during the check.

Remarks: Subscribers can add, modify or remove entries from TempSalesLineDisc before the caller proceeds to CalcBestLineDisc. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterSalesLinePriceExists(Record Sales Line, Record Sales Header, Record KVSKBASalesPrice, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the price existence check has been completed for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterSalesLinePriceExists(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var TempSalesPrice: Record "KVSKBASalesPrice" temporary; ShowAll: Boolean): 

Parameters:

  • SalesLine: The sales line for which the price check was performed.
  • SalesHeader: The sales header providing date and customer context.
  • TempSalesPrice: The temporary sales price table after the existence check.
  • ShowAll: Whether all filters were bypassed during the check.

Remarks: Subscribers can add, modify or remove entries from TempSalesPrice before the caller proceeds to CalcBestUnitPrice. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnAfterServLinePriceExists(Record Service Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the price existence check has been completed for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterServLinePriceExists(var ServiceLine: Record "Service Line"): 

Parameters:

  • ServiceLine: The service line after the price existence check.

Remarks: Subscribers can read or adjust the service line state after the price check.

OnAfterServLineLineDiscExists(Record Service Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the line discount existence check has been completed for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnAfterServLineLineDiscExists(var ServiceLine: Record "Service Line"): 

Parameters:

  • ServiceLine: The service line after the line discount existence check.

Remarks: Subscribers can read or adjust the service line state after the discount check.

OnBeforeCalcBestUnitPrice(Record KVSKBASalesPrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before CalcBestUnitPrice starts iterating the sales price set.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeCalcBestUnitPrice(var SalesPrice: Record "KVSKBASalesPrice"): 

Parameters:

  • SalesPrice: The temporary sales price record set that will be iterated.

Remarks: Subscribers can pre-process or replace entries in SalesPrice before the iteration begins. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeConvertPriceToVAT(Record VAT Posting Setup) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before ConvertPriceToVAT reads the VAT posting setup.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeConvertPriceToVAT(var VATPostingSetup: Record "VAT Posting Setup"): 

Parameters:

  • VATPostingSetup: The VAT posting setup record loaded for the price conversion.

Remarks: Subscribers can modify the VATPostingSetup record before its values are used for the VAT conversion.

OnBeforeFindAnalysisReportPrice(Code[20], Date, Decimal, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindAnalysisReportPrice determines the unit price for an analysis report line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindAnalysisReportPrice(ItemNo: Code[20]; Date: Date; var UnitPrice: Decimal; var IsHandled: Boolean): 

Parameters:

  • ItemNo: The item number being priced.
  • Date: The reference date for the price lookup.
  • UnitPrice: Returns the unit price when IsHandled is set to true.
  • IsHandled: Set to true to skip the standard analysis report price lookup.

Remarks: Set IsHandled to true and return the desired unit price in UnitPrice to skip the standard lookup.

OnBeforeFindItemJnlLinePrice(Record Item Journal Line, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindItemJnlLinePrice starts the price lookup for an item journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindItemJnlLinePrice(var ItemJournalLine: Record "Item Journal Line"; CalledByFieldNo: Integer; var IsHandled: Boolean): 

Parameters:

  • ItemJournalLine: The item journal line for which a price is being looked up.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard item journal line price lookup entirely.

OnBeforeFindJobJnlLinePrice(Record Job Journal Line, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindJobJnlLinePrice starts the price lookup for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(true, false)]
local procedure OnBeforeFindJobJnlLinePrice(var JobJournalLine: Record "Job Journal Line"; CalledByFieldNo: Integer; var IsHandled: Boolean): 

Parameters:

  • JobJournalLine: The job journal line for which a price is being looked up.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard job journal line price lookup entirely. This event has SkipOnMissingLicense = true.

OnBeforeFindJobPlanningLineResPrice(Record Job Planning Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the resource price lookup for a job planning line begins.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindJobPlanningLineResPrice(var JobPlanningLine: Record "Job Planning Line"; var ResourcePrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • JobPlanningLine: The job planning line being priced.
  • ResourcePrice: The resource price record to be applied; can be modified by subscribers.

Remarks: Subscribers can modify the initial ResourcePrice record before the standard lookup applies it.

OnBeforeFindJobPlanningLinePrice(Record Job Planning Line, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindJobPlanningLinePrice starts the price lookup for a job planning line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindJobPlanningLinePrice(var JobPlanningLine: Record "Job Planning Line"; CalledByFieldNo: Integer; var IsHandled: Boolean): 

Parameters:

  • JobPlanningLine: The job planning line for which a price is being looked up.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard job planning line price lookup entirely.

OnBeforeFindJobResPrice(Record Job Resource Price, Code[10], Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the job resource price is retrieved during job price calculation.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindJobResPrice(var JobResPrice: Record "Job Resource Price"; WorkTypeCode: Code[10]; var ReturnValue: Boolean; var IsHandled: Boolean): 

Parameters:

  • JobResPrice: The job resource price record used in the lookup.
  • WorkTypeCode: The work type code used to filter job resource prices.
  • ReturnValue: Set to true if a matching resource price was found when IsHandled is set.
  • IsHandled: Set to true to skip the standard job resource price lookup.

Remarks: Set IsHandled to true and assign ReturnValue to override the standard job resource price lookup result.

OnBeforeFindSalesPrice(Record KVSKBASalesPrice, Record KVSKBASalesPrice, Decimal, Decimal, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindSalesPrice starts populating the ToSalesPrice table.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindSalesPrice(var ToSalesPrice: Record "KVSKBASalesPrice"; var FromSalesPrice: Record "KVSKBASalesPrice"; var QtyPerUOM: Decimal; var Qty: Decimal; var CustNo: Code[20]; var ContNo: Code[20]; var CustPriceGrCode: Code[10]; var CampaignNo: Code[20]; var ItemNo: Code[20]; var VariantCode: Code[10]; var UOM: Code[10]; var CurrencyCode: Code[10]; var StartingDate: Date; var ShowAll: Boolean): 

Parameters:

  • ToSalesPrice: The temporary destination sales price table (empty at this point).
  • FromSalesPrice: Internal working record used during the search.
  • QtyPerUOM: The quantity per unit of measure; can be modified.
  • Qty: The quantity; can be modified.
  • CustNo: Customer number; can be modified.
  • ContNo: Contact number; can be modified.
  • CustPriceGrCode: Customer price group code; can be modified.
  • CampaignNo: Campaign number; can be modified.
  • ItemNo: Item number; can be modified.
  • VariantCode: Variant code; can be modified.
  • UOM: Unit of measure code; can be modified.
  • CurrencyCode: Currency code; can be modified.
  • StartingDate: Reference date; can be modified.
  • ShowAll: Whether all filters are bypassed; can be modified.

Remarks: Subscribers can modify the input parameters before the lookup begins. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeFindSalesLinePrice(Record Sales Line, Record Sales Header, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindSalesLinePrice starts the price lookup for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindSalesLinePrice(var SalesLine: Record "Sales Line"; SalesHeader: Record "Sales Header"; CalledByFieldNo: Integer; var IsHandled: Boolean): 

Parameters:

  • SalesLine: The sales line for which a price is being looked up.
  • SalesHeader: The sales header providing customer and date context.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard sales line price lookup entirely.

OnBeforeFindSalesLineDisc(Record KVSKBASalesLineDiscount, Code[20], Code[20], Code[20], Code[20], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindSalesLineDisc starts the discount lookup for a sales context.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindSalesLineDisc(var ToSalesLineDisc: Record "KVSKBASalesLineDiscount"; CustNo: Code[20]; ContNo: Code[20]; CustDiscGrCode: Code[20]; CampaignNo: Code[20]; ItemNo: Code[20]; ItemDiscGrCode: Code[20]; VariantCode: Code[10]; UOM: Code[10]; CurrencyCode: Code[10]; StartingDate: Date; ShowAll: Boolean): 

Parameters:

  • ToSalesLineDisc: The temporary destination discount table (empty at this point).
  • CustNo: Customer number; can be modified.
  • ContNo: Contact number; can be modified.
  • CustDiscGrCode: Customer discount group code; can be modified.
  • CampaignNo: Campaign number; can be modified.
  • ItemNo: Item number; can be modified.
  • ItemDiscGrCode: Item discount group code; can be modified.
  • VariantCode: Variant code; can be modified.
  • UOM: Unit of measure code; can be modified.
  • CurrencyCode: Currency code; can be modified.
  • StartingDate: Reference date; can be modified.
  • ShowAll: Whether all filters are bypassed; can be modified.

Remarks: Subscribers can modify the input parameters before the lookup begins. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeFindSalesLineLineDisc(Record Sales Line, Record Sales Header, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the line discount lookup starts for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindSalesLineLineDisc(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var IsHandled: Boolean): 

Parameters:

  • SalesLine: The sales line for which a line discount is being looked up.
  • SalesHeader: The sales header providing customer and date context.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard sales line discount lookup entirely.

OnBeforeFindSalesLineResPrice(Record Sales Header, Record Sales Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the resource price lookup starts for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindSalesLineResPrice(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"; var ResPrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • SalesHeader: The sales header providing customer and date context.
  • SalesLine: The sales line being priced.
  • ResPrice: The resource price record to be applied; can be modified by subscribers.

Remarks: Subscribers can modify the initial ResPrice record before the standard lookup applies it.

OnBeforeFindServLinePrice(Record Service Line, Record Service Header, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindServLinePrice starts the price lookup for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindServLinePrice(var ServiceLine: Record "Service Line"; ServiceHeader: Record "Service Header"; CalledByFieldNo: Integer; var IsHandled: Boolean): 

Parameters:

  • ServiceLine: The service line for which a price is being looked up.
  • ServiceHeader: The service header providing customer and date context.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard service line price lookup entirely.

OnBeforeFindServLineDisc(Record Service Header, Record Service Line, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the discount lookup starts for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindServLineDisc(var ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var IsHandled: Boolean): 

Parameters:

  • ServiceHeader: The service header providing customer and date context.
  • ServiceLine: The service line for which a discount is being looked up.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard service line discount lookup entirely.

OnBeforeFindServLineResPrice(Record Service Header, Record Service Line, Record KVSKBAResourcePrice) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the resource price lookup starts for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindServLineResPrice(ServiceHeader: Record "Service Header"; var ServiceLine: Record "Service Line"; var ResPrice: Record "KVSKBAResourcePrice"): 

Parameters:

  • ServiceHeader: The service header providing customer and date context.
  • ServiceLine: The service line being priced.
  • ResPrice: The resource price record to be applied; can be modified by subscribers.

Remarks: Subscribers can modify the initial ResPrice record before the standard lookup applies it.

OnBeforeFindStdItemJnlLinePrice(Record Standard Item Journal Line, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindStdItemJnlLinePrice starts the price lookup for a standard item journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindStdItemJnlLinePrice(var StandardItemJournalLine: Record "Standard Item Journal Line"; CalledByFieldNo: Integer; var IsHandled: Boolean): 

Parameters:

  • StandardItemJournalLine: The standard item journal line for which a price is being looked up.
  • CalledByFieldNo: Field number of the field that triggered the price calculation.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard lookup entirely.

OnBeforeGetSalesLineLineDisc(Record Sales Header, Record Sales Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before GetSalesLineLineDisc applies the line discount to a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeGetSalesLineLineDisc(var SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"): 

Parameters:

  • SalesHeader: The sales header providing customer and date context.
  • SalesLine: The sales line for which the line discount will be applied.

Remarks: Subscribers can adjust the SalesHeader or SalesLine before the discount is determined and applied.

OnBeforeJobJnlLineFindJobResPrice(Record Job Journal Line, Record Job Resource Price, Option, Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the job resource price is looked up for a job journal line during job journal line find JT price.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeJobJnlLineFindJobResPrice(var JobJnlLine: Record "Job Journal Line"; var JobResPrice: Record "Job Resource Price"; PriceType: Option; var ReturnValue: Boolean; var IsHandled: Boolean): 

Parameters:

  • JobJnlLine: The job journal line being priced.
  • JobResPrice: The job resource price record used in the lookup.
  • PriceType: The price type option (Resource, Group(Resource), All).
  • ReturnValue: Set to true if a matching resource price was found when IsHandled is set.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true and assign ReturnValue to override the standard job resource price lookup.

OnBeforeJobJnlLineLineDiscExists(Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the line discount existence check is performed for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeJobJnlLineLineDiscExists(var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobJournalLine: The job journal line for which the discount existence is being checked.

Remarks: Subscribers can modify the job journal line state before the discount check begins.

OnBeforeFindJobJnlLineLineDisc(Record Job Journal Line, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the job journal line discount lookup begins.

[Obsolete('Use OnBeforeFindJobJnlLineLineDisc2 instead', '24.3')]
[IntegrationEvent(true, false)]
local procedure OnBeforeFindJobJnlLineLineDisc(var JobJournalLine: Record "Job Journal Line"; IsHandled: Boolean): 

Parameters:

  • JobJournalLine: The job journal line for which the discount lookup is being performed.
  • IsHandled: Pass true to indicate the discount was already handled.

Remarks: This event has SkipOnMissingLicense = true. This event is obsolete; use OnBeforeFindJobJnlLineLineDisc2 instead.

OnBeforeFindJobJnlLineLineDisc2(Record Job Journal Line, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the job journal line discount lookup begins (replacement for OnBeforeFindJobJnlLineLineDisc).

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(true, false)]
local procedure OnBeforeFindJobJnlLineLineDisc2(var JobJournalLine: Record "Job Journal Line"; var IsHandled: Boolean): 

Parameters:

  • JobJournalLine: The job journal line for which the discount lookup is being performed.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard job journal line discount lookup. This event has SkipOnMissingLicense = true.

OnBeforeJobPlanningLineLineDiscExists(Record Job Planning Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the line discount existence check is performed for a job planning line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeJobPlanningLineLineDiscExists(var JobPlanningLine: Record "Job Planning Line"): 

Parameters:

  • JobPlanningLine: The job planning line for which the discount existence is being checked.

Remarks: Subscribers can modify the job planning line state before the discount check begins.

OnBeforeJobPlanningLineFindJTPrice(Record Job Planning Line, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the job task price is looked up for a job planning line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeJobPlanningLineFindJTPrice(var JobPlanningLine: Record "Job Planning Line"; var IsHandled: Boolean): 

Parameters:

  • JobPlanningLine: The job planning line for which the job task price is being looked up.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard job planning line job task price lookup.

OnBeforeSalesLineLineDiscExists(Record Sales Line, Record Sales Header, Record KVSKBASalesLineDiscount, Date, Decimal, Decimal, Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the discount existence check starts for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSalesLineLineDiscExists(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var TempSalesLineDisc: Record "KVSKBASalesLineDiscount" temporary; StartingDate: Date; Qty: Decimal; QtyPerUOM: Decimal; ShowAll: Boolean; var IsHandled: Boolean): 

Parameters:

  • SalesLine: The sales line being checked for discounts.
  • SalesHeader: The sales header providing customer and date context.
  • TempSalesLineDisc: The temporary discount table (empty at this point).
  • StartingDate: The reference date for the discount lookup.
  • Qty: The document line quantity.
  • QtyPerUOM: The quantity per unit of measure from the document line.
  • ShowAll: Whether all filters are bypassed.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard discount existence check. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeSalesLinePriceExists(Record Sales Line, Record Sales Header, Record KVSKBASalesPrice, Record Currency, Decimal, Date, Decimal, Decimal, Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the price existence check starts for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSalesLinePriceExists(var SalesLine: Record "Sales Line"; var SalesHeader: Record "Sales Header"; var TempSalesPrice: Record "KVSKBASalesPrice" temporary; Currency: Record "Currency"; CurrencyFactor: Decimal; StartingDate: Date; Qty: Decimal; QtyPerUOM: Decimal; ShowAll: Boolean; var InHandled: Boolean): 

Parameters:

  • SalesLine: The sales line being checked for prices.
  • SalesHeader: The sales header providing customer and date context.
  • TempSalesPrice: The temporary price table (empty at this point).
  • Currency: The document currency record.
  • CurrencyFactor: The currency exchange rate factor.
  • StartingDate: The reference date for the price lookup.
  • Qty: The document line quantity.
  • QtyPerUOM: The quantity per unit of measure from the document line.
  • ShowAll: Whether all filters are bypassed.
  • InHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard price existence check. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeServLinePriceExists(Record Service Line, Record Service Header, Record KVSKBASalesPrice, Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the price existence check starts for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeServLinePriceExists(var ServiceLine: Record "Service Line"; var ServiceHeader: Record "Service Header"; var TempSalesPrice: Record "KVSKBASalesPrice" temporary; ShowAll: Boolean; var IsHandled: Boolean): 

Parameters:

  • ServiceLine: The service line being checked for prices.
  • ServiceHeader: The service header providing customer and date context.
  • TempSalesPrice: The temporary price table (empty at this point).
  • ShowAll: Whether all filters are bypassed.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard price existence check. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeServLineLineDiscExists(Record Service Line, Record Service Header) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the discount existence check starts for a service line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeServLineLineDiscExists(var ServiceLine: Record "Service Line"; var ServiceHeader: Record "Service Header"): 

Parameters:

  • ServiceLine: The service line being checked for discounts.
  • ServiceHeader: The service header providing customer and date context.

Remarks: Subscribers can modify the service header or line before the check begins.

OnGetCustNoForSalesHeader(Record Sales Header, Code[20]) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised to allow subscribers to override the customer number derived from a sales header.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnGetCustNoForSalesHeader(var SalesHeader: Record "Sales Header"; var CustomerNo: Code[20]): 

Parameters:

  • SalesHeader: The sales header from which the customer number is derived.
  • CustomerNo: The customer number; can be replaced by the subscriber.

Remarks: Used when the bill-to customer is different from the sell-to customer and a specific customer number is needed for price lookups.

OnFindSalesLineDiscOnAfterSetFilters(Record KVSKBASalesLineDiscount) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised after the filters are set on the sales line discount record during FindSalesLineDisc.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnFindSalesLineDiscOnAfterSetFilters(var SalesLineDiscount: Record "KVSKBASalesLineDiscount"): 

Parameters:

  • SalesLineDiscount: The sales line discount record after the standard filters have been set.

Remarks: Subscribers can add or modify the filters applied to the SalesLineDiscount record before the search executes.

OnFindSalesLineLineDiscOnBeforeCalcLineDisc(Record Sales Header, Record Sales Line, Record KVSKBASalesLineDiscount, Decimal, Decimal, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the line discount percentage is calculated for a sales line during FindSalesLineLineDisc.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnFindSalesLineLineDiscOnBeforeCalcLineDisc(var SalesHeader: Record "Sales Header"; SalesLine: Record "Sales Line"; var TempSalesLineDiscount: Record "KVSKBASalesLineDiscount" temporary; Qty: Decimal; QtyPerUOM: Decimal; var IsHandled: Boolean): 

Parameters:

  • SalesHeader: The sales header providing customer and date context.
  • SalesLine: The sales line for which the line discount is being calculated.
  • TempSalesLineDiscount: The temporary sales line discount table with applicable records.
  • Qty: The document line quantity.
  • QtyPerUOM: The quantity per unit of measure from the document line.
  • IsHandled: Set to true to skip the standard discount percentage calculation.

Remarks: Set IsHandled to true to skip the standard line discount calculation. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnJobJnlLineFindJTPriceCaseGLAccountOnBeforeSetFilter(Record Job G/L Account Price, Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the filter is set on the Job G/L Account Price record during job task price lookup for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnJobJnlLineFindJTPriceCaseGLAccountOnBeforeSetFilter(var JobGLAccountPrice: Record "Job G/L Account Price"; var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobGLAccountPrice: The job G/L account price record before the filter is applied.
  • JobJournalLine: The job journal line for which the price is being looked up.

Remarks: Subscribers can add or modify filters on JobGLAccountPrice before the search runs.

OnJobJnlLineFindJTPriceCaseItemOnBeforeSetFilter(Record Job Item Price, Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the filter is set on the Job Item Price record during job task price lookup for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnJobJnlLineFindJTPriceCaseItemOnBeforeSetFilter(var JobItemPrice: Record "Job Item Price"; var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobItemPrice: The job item price record before the filter is applied.
  • JobJournalLine: The job journal line for which the price is being looked up.

Remarks: Subscribers can add or modify filters on JobItemPrice before the search runs.

OnJobJnlLineFindJTPriceCaseResourceOnBeforeSetFilter(Record Job Resource Price, Record Job Journal Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the filter is set on the Job Resource Price record during job task price lookup for a job journal line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnJobJnlLineFindJTPriceCaseResourceOnBeforeSetFilter(var JobResourcePrice: Record "Job Resource Price"; var JobJournalLine: Record "Job Journal Line"): 

Parameters:

  • JobResourcePrice: The job resource price record before the filter is applied.
  • JobJournalLine: The job journal line for which the price is being looked up.

Remarks: Subscribers can add or modify filters on JobResourcePrice before the search runs.

OnBeforeSalesHeaderStartDate(Record Sales Header, Text[30], Date, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before SalesHeaderStartDate determines the starting date for a sales header.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeSalesHeaderStartDate(var SalesHeader: Record "Sales Header"; var DateCaption: Text[30]; var ReturnValue: Date; var IsHandled: Boolean): 

Parameters:

  • SalesHeader: The sales header for which the reference date is being determined.
  • DateCaption: Returns the localised date field caption; can be overridden.
  • ReturnValue: Returns the reference date when IsHandled is set to true.
  • IsHandled: Set to true to skip the standard date determination.

Remarks: Set IsHandled to true and assign ReturnValue and DateCaption to override the standard date determination.

OnBeforeServHeaderStartDate(Record Service Header, Text[30], Date, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before ServHeaderStartDate determines the starting date for a service header.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeServHeaderStartDate(var ServiceHeader: Record "Service Header"; var DateCaption: Text[30]; var ReturnValue: Date; var IsHandled: Boolean): 

Parameters:

  • ServiceHeader: The service header for which the reference date is being determined.
  • DateCaption: Returns the localised date field caption; can be overridden.
  • ReturnValue: Returns the reference date when IsHandled is set to true.
  • IsHandled: Set to true to skip the standard date determination.

Remarks: Set IsHandled to true and assign ReturnValue and DateCaption to override the standard date determination.

OnBeforeFindSalesPriceOnBeforeDeleteTempTable(Record KVSKBASalesPrice, Code[20], Code[20], Code[10], Code[20], Code[20], Code[10], Code[10], Code[10], Date, Boolean, Code[10], Record KVSKBASalesConditionLine, Code[10], Code[10], Code[20], Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before FindSalesPrice deletes the ToSalesPrice temp table and starts the lookup.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeFindSalesPriceOnBeforeDeleteTempTable(var ToSalesPrice: Record "KVSKBASalesPrice"; CustNo: Code[20]; ContNo: Code[20]; CustPriceGrCode: Code[10]; CampaignNo: Code[20]; ItemNo: Code[20]; VariantCode: Code[10]; UOM: Code[10]; CurrencyCode: Code[10]; StartingDate: Date; ShowAll: Boolean; RespCenterCode: Code[10]; var ToSalesCondLine: Record "KVSKBASalesConditionLine"; SalesOrderTypeCode: Code[10]; ItemPriceGrCode: Code[10]; ItemCategoryCode: Code[20]; var IsHandled: Boolean): 

Parameters:

  • ToSalesPrice: The temporary destination sales price table (may already have entries).
  • CustNo: Customer number used in the lookup.
  • ContNo: Contact number used in the lookup.
  • CustPriceGrCode: Customer price group code used in the lookup.
  • CampaignNo: Campaign number used in the lookup.
  • ItemNo: Item number used in the lookup.
  • VariantCode: Variant code used in the lookup.
  • UOM: Unit of measure code used in the lookup.
  • CurrencyCode: Currency code used in the lookup.
  • StartingDate: Reference date used in the lookup.
  • ShowAll: Whether all filters are bypassed.
  • RespCenterCode: Responsibility center code used in the lookup.
  • ToSalesCondLine: Temporary condition lines record.
  • SalesOrderTypeCode: Sales order type code used in the lookup.
  • ItemPriceGrCode: Item price group code used in the lookup.
  • ItemCategoryCode: Item category code used in the lookup.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard lookup entirely and return your own prices in ToSalesPrice. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnCopySalesPriceToSalesPriceOnBeforeRepeatCode(Record KVSKBASalesPrice, Record KVSKBASalesPrice, Code[10], Code[20], Code[10], Record KVSKBASalesConditionLine, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before each source sales price record is processed in CopySalesPriceToSalesPrice.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnCopySalesPriceToSalesPriceOnBeforeRepeatCode(var FromSalesPrice: Record "KVSKBASalesPrice"; var ToSalesPrice: Record "KVSKBASalesPrice"; UOMCode: Code[10]; ItemNo: Code[20]; VariantCode: Code[10]; var ToSalesCondLine: Record "KVSKBASalesConditionLine"; var IsHandled: Boolean): 

Parameters:

  • FromSalesPrice: The current source sales price record being processed.
  • ToSalesPrice: The destination temporary sales price table.
  • UOMCode: Unit of measure code used for condition line calculation.
  • ItemNo: Item number used for condition line calculation.
  • VariantCode: Variant code used for condition line calculation.
  • ToSalesCondLine: Temporary condition lines record.
  • IsHandled: Set to true to skip standard processing for this record.

Remarks: Set IsHandled to true to skip the standard processing for the current record. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnCalcBestUnitPriceOnBeforeCaseBestSalesPrice(Record KVSKBASalesPrice, Boolean, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the best-price case comparison executes in CalcBestUnitPrice.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
procedure OnCalcBestUnitPriceOnBeforeCaseBestSalesPrice(var SalesPrice: Record "KVSKBASalesPrice"; DoNotFindBestPrice: Boolean; var IsHandled: Boolean): 

Parameters:

  • SalesPrice: The current candidate sales price being evaluated.
  • DoNotFindBestPrice: Whether the most specific price (true) or the lowest price (false) is being selected.
  • IsHandled: Set to true to skip the standard case comparison.

Remarks: Set IsHandled to true to skip the standard case comparison and retain the current BestSalesPrice. This event is obsolete; the price calculation is subject to redesign and this event may be removed in the future.

OnBeforeGetSalesLinePrice(Record Sales Header, Record Sales Line) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before GetSalesLinePrice starts the price lookup for a sales line.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeGetSalesLinePrice(SalesHeader: Record "Sales Header"; var SalesLine: Record "Sales Line"): 

Parameters:

  • SalesHeader: The sales header providing customer and date context.
  • SalesLine: The sales line for which the price will be determined.

Remarks: Subscribers can adjust the SalesHeader or SalesLine before the price is determined and applied.

OnBeforeActivatedCampaignExists(Record Campaign Target Group, Code[20], Code[20], Code[20], Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before ActivatedCampaignExists performs the standard campaign lookup.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnBeforeActivatedCampaignExists(var ToCampaignTargetGroup: Record "Campaign Target Group"; CustNo: Code[20]; ContNo: Code[20]; CampaignNo: Code[20]; var IsHandled: Boolean): 

Parameters:

  • ToCampaignTargetGroup: Temporary target record; populate this and set IsHandled to provide custom campaign entries.
  • CustNo: Customer number being checked.
  • ContNo: Contact number being checked.
  • CampaignNo: Optional specific campaign number.
  • IsHandled: Set to true to skip the standard lookup.

Remarks: Set IsHandled to true to skip the standard lookup and provide your own campaign entries in ToCampaignTargetGroup.

OnSetPriceHierarchyLevelOnCaseSalesTypeCaseElse(Record KVSKBASalesPrice, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised inside SetPriceHierarchyLevel when the sales type does not match any of the standard case branches.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnSetPriceHierarchyLevelOnCaseSalesTypeCaseElse(var KVSKBASalesPrice: Record "KVSKBASalesPrice"; var Ishandled: Boolean): 

Parameters:

  • KVSKBASalesPrice: The sales price record whose hierarchy level is being determined.
  • Ishandled: Set to true to prevent fallback to the default hierarchy level.

Remarks: Subscribers can set a custom hierarchy level for non-standard sales types on a KVSKBASalesPrice record. Set Ishandled to true to indicate the hierarchy level has been assigned.

OnSetLineDiscHierarchyLevelOnCaseSalesTypeCaseElse(Record KVSKBASalesLineDiscount, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised inside SetLineDiscHierarchyLevel when the sales type does not match any of the standard case branches.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnSetLineDiscHierarchyLevelOnCaseSalesTypeCaseElse(var KVSKBASalesLineDiscount: Record "KVSKBASalesLineDiscount"; var Ishandled: Boolean): 

Parameters:

  • KVSKBASalesLineDiscount: The sales line discount record whose hierarchy level is being determined.
  • Ishandled: Set to true to indicate the hierarchy level has been assigned.

Remarks: Subscribers can set a custom hierarchy level for non-standard sales types on a KVSKBASalesLineDiscount record. Set Ishandled to true to prevent fallback to the default hierarchy level.

OnReplacePriceifMoreSpecificOnSalesPriceSalesTypeCaseElse2(Record KVSKBASalesPrice, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised inside ReplacePriceifMoreSpecific when the sales type of the candidate price does not match the standard case branches.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnReplacePriceifMoreSpecificOnSalesPriceSalesTypeCaseElse2(KVSKBASalesPrice: Record "KVSKBASalesPrice"; var SalesTypePriority: Integer; var Ishandled: Boolean): 

Parameters:

  • KVSKBASalesPrice: The candidate sales price record being evaluated.
  • SalesTypePriority: Priority value for the candidate price's sales type; assign to override the default.
  • Ishandled: Set to true to indicate the priority has been assigned.

Remarks: Assign a SalesTypePriority value and set Ishandled to true to define the priority for custom sales types.

OnReplacePriceifMoreSpecificOnBestSalesPriceSalesTypeCaseElse2(Record KVSKBASalesPrice, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised inside ReplacePriceifMoreSpecific when the sales type of the current best price does not match the standard case branches.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnReplacePriceifMoreSpecificOnBestSalesPriceSalesTypeCaseElse2(KVSKBABestSalesPrice: Record "KVSKBASalesPrice"; var BestSalesTypePriority: Integer; var Ishandled: Boolean): 

Parameters:

  • KVSKBABestSalesPrice: The current best sales price record being evaluated.
  • BestSalesTypePriority: Priority value for the best price's sales type; assign to override the default.
  • Ishandled: Set to true to indicate the priority has been assigned.

Remarks: Assign a BestSalesTypePriority value and set Ishandled to true to define the priority for the current best price's sales type.

OnReplacePriceifMoreSpecificOnBeforeComparisonSalesTypePriorities(Record KVSKBASalesPrice, Record KVSKBASalesPrice, Integer, Integer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the sales type priority values are compared to decide which sales price is more specific.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnReplacePriceifMoreSpecificOnBeforeComparisonSalesTypePriorities(KVSKBASalesPrice: Record "KVSKBASalesPrice"; KVSKBABestSalesPrice: Record "KVSKBASalesPrice"; var SalesTypePriority: Integer; var BestSalesTypePriority: Integer): 

Parameters:

  • KVSKBASalesPrice: The candidate sales price record.
  • KVSKBABestSalesPrice: The current best sales price record.
  • SalesTypePriority: Priority of the candidate price's sales type.
  • BestSalesTypePriority: Priority of the best price's sales type.

Remarks: Subscribers can adjust SalesTypePriority or BestSalesTypePriority before the comparison determines which price wins.

OnReplaceLineDiscifMoreSpecificOnSalesLineDiscountSalesTypeCaseElse2(Record KVSKBASalesLineDiscount, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised inside ReplaceLineDiscifMoreSpecific when the sales type of the candidate discount does not match the standard case branches.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnReplaceLineDiscifMoreSpecificOnSalesLineDiscountSalesTypeCaseElse2(var KVSKBASalesLineDiscount: Record "KVSKBASalesLineDiscount"; var SalesTypePriority: Integer; var Ishandled: Boolean): 

Parameters:

  • KVSKBASalesLineDiscount: The candidate sales line discount record being evaluated.
  • SalesTypePriority: Priority value for the candidate discount's sales type; assign to override the default.
  • Ishandled: Set to true to indicate the priority has been assigned.

Remarks: Assign a SalesTypePriority value and set Ishandled to true to define the priority for custom sales types.

OnReplaceLineDiscifMoreSpecificOnBestSalesLineDiscountSalesTypeCaseElse2(Record KVSKBASalesLineDiscount, Integer, Boolean) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised inside ReplaceLineDiscifMoreSpecific when the sales type of the current best discount does not match the standard case branches.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnReplaceLineDiscifMoreSpecificOnBestSalesLineDiscountSalesTypeCaseElse2(KVSKBABestSalesLineDiscount: Record "KVSKBASalesLineDiscount"; var BestSalesTypePriority: Integer; var Ishandled: Boolean): 

Parameters:

  • KVSKBABestSalesLineDiscount: The current best sales line discount record being evaluated.
  • BestSalesTypePriority: Priority value for the best discount's sales type; assign to override the default.
  • Ishandled: Set to true to indicate the priority has been assigned.

Remarks: Assign a BestSalesTypePriority value and set Ishandled to true to define the priority for the best discount's sales type.

OnReplaceLineDiscifMoreSpecificOnBeforeComparisonSalesTypePriorities(Record KVSKBASalesLineDiscount, Record KVSKBASalesLineDiscount, Integer, Integer) :

OBSOLETE

This Element will be removed or changed with a future Version of the App.

Summary: Integration event raised before the sales type priority values are compared to decide which line discount is more specific.

[Obsolete('The price calculation needs a redesign due to the standard changes, possibly the function will not be available in the future.', '18.3')]
[IntegrationEvent(false, false)]
local procedure OnReplaceLineDiscifMoreSpecificOnBeforeComparisonSalesTypePriorities(var KVSKBASalesLineDiscount: Record "KVSKBASalesLineDiscount"; KVSKBABestSalesLineDiscount: Record "KVSKBASalesLineDiscount"; var SalesTypePriority: Integer; var BestSalesTypePriority: Integer): 

Parameters:

  • KVSKBASalesLineDiscount: The candidate sales line discount record.
  • KVSKBABestSalesLineDiscount: The current best sales line discount record.
  • SalesTypePriority: Priority of the candidate discount's sales type.
  • BestSalesTypePriority: Priority of the best discount's sales type.

Remarks: Subscribers can adjust SalesTypePriority or BestSalesTypePriority before the comparison determines which discount wins.