Skip to content

KVSKBARequisitionLib#

Procedures#

ResetBlanketOrderData(Record Requisition Line) :#

Summary: This function reset the blanket order datas at the requisition line

procedure ResetBlanketOrderData(var CurrentRequisitionLine: Record "Requisition Line"): 

Parameters:

  • CurrentRequisitionLine: Requisition line, in which the values are to be reset

GetAssignedBlanketOrderQty(Record Requisition Line, Code[20], Integer) : Decimal#

Summary: This function give back the qty. base of already assigend qty. of the blanket order line

procedure GetAssignedBlanketOrderQty(CurrentRequisitionLine: Record "Requisition Line"; SearchBlanketOrderNo: Code[20]; SearchBlanketOrderLineNo: Integer): Decimal

Parameters:

  • CurrentRequisitionLine: Requisition line from where is searched is not taken into account when determining the ReturnValue
  • SearchBlanketOrderNo: Blanket order number to be searched with
  • SearchBlanketOrderLineNo: Blanket order line number to be searched wit

Returns: ReturnValue as Decimal

AssignBlanketOrdersToReqLines(Record Requisition Line, Option) :#

Summary: Assign to the requisition lines possible blanket order lines If the qty. of the requisition lines is greatet than the blanket order line, it will splitt the requisition lines

procedure AssignBlanketOrdersToReqLines(var RequisitionLine: Record "Requisition Line"; AssignmentMethod: Option): 

Parameters:

  • RequisitionLine: Requisition line, in which the values are to be set
  • AssignmentMethod: how should be assigned: assign,reassign,delete

VerifyQtyToBlanketOrderQty(Record Requisition Line) :#

Summary: this function checks each modification of the quantity, if the actual outstanding qty of the blanket order is enough

procedure VerifyQtyToBlanketOrderQty(var RequisitionLine: Record "Requisition Line"): 

Parameters:

  • RequisitionLine: Requisition line, in which the values are to be check

NextBlanketOrderNo(Record Requisition Line, Boolean) : Boolean#

Summary: This function returns yes, if blanket order no. or blanket order line no. changed on checkReqLine

procedure NextBlanketOrderNo(RequisitionLine: Record "Requisition Line"; SetPreviousValues: Boolean): Boolean

Parameters:

  • RequisitionLine: Requisition line, in which the values are to be check
  • SetPreviousValues: Defines the blanket order data to be saved in the codeunit

Returns: Boolean

TransferFromReqLineToPurchLine(Record Purchase Line, Record Requisition Line) :#

Summary: this function handle additional fields to tranfered form requisition Line to purchase line

procedure TransferFromReqLineToPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 

Parameters:

  • PurchaseLine: Purchase Line, in which data is to be written
  • RequisitionLine: Requisition Line, from which the data is to be taken

SplitReqLine(Record Requisition Line, Decimal) :#

Summary: this function splitts a requisition Line to the new requisition Line about the split quantity

procedure SplitReqLine(var OriginalRequisitionLine: Record "Requisition Line"; SplitQuantityBase: Decimal): 

Parameters:

  • OriginalRequisitionLine: Requisition Line, original line from which a split line is to be created
  • SplitQuantityBase: Quantity (Base), which is to be split

OnDeleteReqLine(Record Requisition Line) :#

Obsolete

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

Summary: Delete further data records when the requisition line is deleted

[Obsolete('The procedure is be replaced by OnDeleteReqLine with addional parameters DeleteAllLines.', '27.0')]
procedure OnDeleteReqLine(RequisitionLine: Record "Requisition Line"): 

Parameters:

  • RequisitionLine: Requisition Line, which is deleted

OnDeleteReqLine(Record Requisition Line, Boolean) :#

Summary: Delete further data records when the requisition line is deleted

procedure OnDeleteReqLine(RequisitionLine: Record "Requisition Line"; DeleteAllLines: Boolean): 

Parameters:

  • RequisitionLine: Requisition Line, which is deleted (for filtering)
  • DeleteAllLines: Indicates whether all lines of the requisition are being deleted

Remarks: The standard event specifies the DeleteAllLines parameter, which indicates whether a specific requisition line or all requisition lines are to be deleted.

TransferFromReqLineToProdOrder(Record Production Order, Record Requisition Line) :#

Summary: This function transfers additional values from the Requisition Line to a new created Production Order

procedure TransferFromReqLineToProdOrder(var ProductionOrder: Record "Production Order"; RequisitionLine: Record "Requisition Line"): 

Parameters:

  • ProductionOrder: Production Order, in which the values are to be set
  • RequisitionLine: Requisition Line, from which the data is to be take

CalcAvailability(Record Requisition Line) : Decimal#

Summary: Calculates the item availability for the specified requisition line.

procedure CalcAvailability(RequisitionLine: Record "Requisition Line"): Decimal

Parameters:

  • RequisitionLine: The requisition line record for which to calculate availability.

Returns: The calculated availability amount as a decimal value.

CalcNoOfPurchasePrices(Record Requisition Line) : Integer#

Summary: Calculates the number of purchase prices available for a requisition line.

procedure CalcNoOfPurchasePrices(var RequisitionLine: Record "Requisition Line"): Integer

Parameters:

  • RequisitionLine: Requisition line to count purchase prices for

Returns: Number of available purchase prices as integer

CalcNoOfRequisitionLineDisc(Record Requisition Line) : Integer#

Summary: Calculates the number of line discounts available for a requisition line.

procedure CalcNoOfRequisitionLineDisc(var RequisitionLine: Record "Requisition Line"): Integer

Parameters:

  • RequisitionLine: Requisition line to count discounts for

Returns: Number of available line discounts as integer

Events#

OnBeforeAssignBlanketOrdersToReqLines(Record Requisition Line, Option, Boolean) :#

Summary: Integration event that allows customization before assigning blanket orders to requisition lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeAssignBlanketOrdersToReqLines(var RequisitionLine: Record "Requisition Line"; AssignmentMethod: Option; var HandledLoc: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeAssignBlanketOrdersToReqLines', '', false, false)]
local procedure DoSomethingOnBeforeAssignBlanketOrdersToReqLines(var RequisitionLine: Record "Requisition Line"; AssignmentMethod: Option; var HandledLoc: Boolean)
begin
end;

Parameters:

  • RequisitionLine: Requisition line being processed for blanket order assignment
  • AssignmentMethod: Assignment method (assign, reassign, delete)
  • HandledLoc: Variable indicating whether a subscriber has handled the assignment

Remarks: Set HandledLoc to true to skip standard blanket order assignment logic

OnAssignBlanketOrdersToReqLinesOnAfterSetCurrentKey(Record Purchase Line, Record Requisition Line, Option) :#

Summary: Integration event that allows customization after setting current key for blanket order assignment.

[IntegrationEvent(false, false)]
local procedure OnAssignBlanketOrdersToReqLinesOnAfterSetCurrentKey(var PurchaseLine: Record "Purchase Line"; RequisitionLine: Record "Requisition Line"; AssignmentMethod: Option): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAssignBlanketOrdersToReqLinesOnAfterSetCurrentKey', '', false, false)]
local procedure DoSomethingOnAssignBlanketOrdersToReqLinesOnAfterSetCurrentKey(var PurchaseLine: Record "Purchase Line"; RequisitionLine: Record "Requisition Line"; AssignmentMethod: Option)
begin
end;

Parameters:

  • PurchaseLine: Purchase line record with applied filters
  • RequisitionLine: Requisition line being processed
  • AssignmentMethod: Assignment method being used

Remarks: Use this event to modify filters or sorting for blanket order purchase lines

OnDrillDownBlanketOrderLinesOnSetFilterBlanketPurchLine(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization of filters for blanket order line drill-down.

[IntegrationEvent(false, false)]
local procedure OnDrillDownBlanketOrderLinesOnSetFilterBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnDrillDownBlanketOrderLinesOnSetFilterBlanketPurchLine', '', false, false)]
local procedure DoSomethingOnDrillDownBlanketOrderLinesOnSetFilterBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Purchase line record to apply additional filters to
  • RequisitionLine: Requisition line providing context for filtering

Remarks: Use this event to add custom filters for blanket order line drill-down functionality

OnLookupBlanketOrderLinesOnSetFilterBlanketPurchLine(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization of filters for blanket order line lookup.

[IntegrationEvent(false, false)]
local procedure OnLookupBlanketOrderLinesOnSetFilterBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnLookupBlanketOrderLinesOnSetFilterBlanketPurchLine', '', false, false)]
local procedure DoSomethingOnLookupBlanketOrderLinesOnSetFilterBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Purchase line record to apply additional filters to
  • RequisitionLine: Requisition line providing context for filtering

Remarks: Use this event to add custom filters for blanket order line lookup functionality

OnLookupBlanketOrderLinesOnBeforeAssignBlanketOrderValues(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization before assigning blanket order values during lookup.

[IntegrationEvent(false, false)]
local procedure OnLookupBlanketOrderLinesOnBeforeAssignBlanketOrderValues(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnLookupBlanketOrderLinesOnBeforeAssignBlanketOrderValues', '', false, false)]
local procedure DoSomethingOnLookupBlanketOrderLinesOnBeforeAssignBlanketOrderValues(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Purchase line record selected in lookup
  • RequisitionLine: Requisition line to assign values to

Remarks: Use this event to modify values before they are assigned from blanket order to requisition line

OnSplitReqLineOnAfterNewSplittReqLineModify(Record Requisition Line, Record Requisition Line, Decimal) :#

Summary: Integration event that allows customization after modifying a new split requisition line.

[IntegrationEvent(false, false)]
local procedure OnSplitReqLineOnAfterNewSplittReqLineModify(var NewRequisitionLine: Record "Requisition Line"; var OrigRequisitionLine: Record "Requisition Line"; SplittQtyBase: Decimal): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnSplitReqLineOnAfterNewSplittReqLineModify', '', false, false)]
local procedure DoSomethingOnSplitReqLineOnAfterNewSplittReqLineModify(var NewRequisitionLine: Record "Requisition Line"; var OrigRequisitionLine: Record "Requisition Line"; SplittQtyBase: Decimal)
begin
end;

Parameters:

  • NewRequisitionLine: New requisition line created from splitting
  • OrigRequisitionLine: Original requisition line that was split
  • SplittQtyBase: Quantity (Base) that was split off

Remarks: Use this event to perform additional actions after a new split line has been created and modified

OnSplitReqLineOnBeforeNewSplittReqLineModify(Record Requisition Line, Record Requisition Line, Decimal) :#

Summary: Integration event that allows customization before modifying a new split requisition line.

[IntegrationEvent(false, false)]
local procedure OnSplitReqLineOnBeforeNewSplittReqLineModify(var NewRequisitionLine: Record "Requisition Line"; var OrigRequisitionLine: Record "Requisition Line"; SplittQtyBase: Decimal): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnSplitReqLineOnBeforeNewSplittReqLineModify', '', false, false)]
local procedure DoSomethingOnSplitReqLineOnBeforeNewSplittReqLineModify(var NewRequisitionLine: Record "Requisition Line"; var OrigRequisitionLine: Record "Requisition Line"; SplittQtyBase: Decimal)
begin
end;

Parameters:

  • NewRequisitionLine: New requisition line being created from splitting
  • OrigRequisitionLine: Original requisition line being split
  • SplittQtyBase: Quantity (Base) being split off

Remarks: Use this event to set additional values on the new split line before it is modified

OnTransferFromReqLineToPurchLineOnAssignValuestoPurchLine(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization when transferring values from requisition line to purchase line.

[IntegrationEvent(false, false)]
local procedure OnTransferFromReqLineToPurchLineOnAssignValuestoPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnTransferFromReqLineToPurchLineOnAssignValuestoPurchLine', '', false, false)]
local procedure DoSomethingOnTransferFromReqLineToPurchLineOnAssignValuestoPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Purchase line receiving the values
  • RequisitionLine: Requisition line providing the values

Remarks: Use this event to transfer additional custom fields from requisition line to purchase line

OnBeforeAssignBlanketPurchLine(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization before assigning a blanket purchase line to a requisition line.

[IntegrationEvent(false, false)]
local procedure OnBeforeAssignBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeAssignBlanketPurchLine', '', false, false)]
local procedure DoSomethingOnBeforeAssignBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Blanket purchase line being assigned
  • RequisitionLine: Requisition line receiving the assignment

Remarks: Use this event to perform validations or modifications before blanket order assignment

OnAfterAssignBlanketPurchLine(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization after assigning a blanket purchase line to a requisition line.

[IntegrationEvent(false, false)]
local procedure OnAfterAssignBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAfterAssignBlanketPurchLine', '', false, false)]
local procedure DoSomethingOnAfterAssignBlanketPurchLine(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Blanket purchase line that was assigned
  • RequisitionLine: Requisition line that received the assignment

Remarks: Use this event to perform additional actions after blanket order assignment is complete

OnBeforeVerifyQtyToBlanketOrderQty(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization before verifying quantity against blanket order quantity.

[IntegrationEvent(false, false)]
local procedure OnBeforeVerifyQtyToBlanketOrderQty(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeVerifyQtyToBlanketOrderQty', '', false, false)]
local procedure DoSomethingOnBeforeVerifyQtyToBlanketOrderQty(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • PurchaseLine: Blanket purchase line being verified
  • RequisitionLine: Requisition line being validated

Remarks: Use this event to modify validation logic before quantity verification

OnVerifyQtyToBlanketOrderQtyOnAfterCalculateRemainingBlanketOrderQty(Record Purchase Line, Record Requisition Line, Decimal) :#

Summary: Integration event that allows customization after calculating remaining blanket order quantity.

[IntegrationEvent(false, false)]
local procedure OnVerifyQtyToBlanketOrderQtyOnAfterCalculateRemainingBlanketOrderQty(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"; var RemainingBlanketOrderQty: Decimal): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnVerifyQtyToBlanketOrderQtyOnAfterCalculateRemainingBlanketOrderQty', '', false, false)]
local procedure DoSomethingOnVerifyQtyToBlanketOrderQtyOnAfterCalculateRemainingBlanketOrderQty(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"; var RemainingBlanketOrderQty: Decimal)
begin
end;

Parameters:

  • PurchaseLine: Blanket purchase line being processed
  • RequisitionLine: Requisition line being validated
  • RemainingBlanketOrderQty: Calculated remaining quantity on blanket order

Remarks: Use this event to modify the remaining quantity calculation or perform additional validations

OnBeforeDrillDownBlanketOrderLines(Record Requisition Line, Boolean, Boolean) :#

Summary: Integration event that allows customization before drilling down to blanket order lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeDrillDownBlanketOrderLines(RequisitionLine: Record "Requisition Line"; FilterwithVendor: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeDrillDownBlanketOrderLines', '', false, false)]
local procedure DoSomethingOnBeforeDrillDownBlanketOrderLines(RequisitionLine: Record "Requisition Line"; FilterwithVendor: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: Requisition line providing context for drill-down
  • FilterwithVendor: Whether to filter by vendor
  • IsHandled: Variable indicating whether a subscriber has handled the drill-down

Remarks: Set IsHandled to true to skip standard drill-down logic and implement custom behavior

OnBeforeGetBlanketOrderData(Record Requisition Line, Boolean, Boolean) :#

Summary: Integration event that allows customization before getting blanket order data.

[IntegrationEvent(false, false)]
local procedure OnBeforeGetBlanketOrderData(var RequisitionLine: Record "Requisition Line"; var Returnvalue: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeGetBlanketOrderData', '', false, false)]
local procedure DoSomethingOnBeforeGetBlanketOrderData(var RequisitionLine: Record "Requisition Line"; var Returnvalue: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: Requisition line to get blanket order data for
  • Returnvalue: Variable indicating success of the operation
  • IsHandled: Variable indicating whether a subscriber has handled the operation

Remarks: Set IsHandled to true to skip standard blanket order data retrieval

OnGetBlanketOrderDataOnAfterAssignValues(Record Purchase Line, Record Requisition Line) :#

Summary: Integration event that allows customization after assigning values from blanket order data.

[IntegrationEvent(false, false)]
local procedure OnGetBlanketOrderDataOnAfterAssignValues(BlanketPurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnGetBlanketOrderDataOnAfterAssignValues', '', false, false)]
local procedure DoSomethingOnGetBlanketOrderDataOnAfterAssignValues(BlanketPurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • BlanketPurchaseLine: Blanket purchase line providing the data
  • RequisitionLine: Requisition line receiving the values

Remarks: Use this event to assign additional custom values from blanket order to requisition line

OnBeforeResetBlanketOrderData(Record Requisition Line, Boolean) :#

Summary: Integration event that allows customization before resetting blanket order data.

[IntegrationEvent(false, false)]
local procedure OnBeforeResetBlanketOrderData(var RequisitionLine: Record "Requisition Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeResetBlanketOrderData', '', false, false)]
local procedure DoSomethingOnBeforeResetBlanketOrderData(var RequisitionLine: Record "Requisition Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: Requisition line to reset blanket order data for
  • IsHandled: Variable indicating whether a subscriber has handled the reset

Remarks: Set IsHandled to true to skip standard blanket order data reset

OnAfterResetBlanketOrderData(Record Requisition Line) :#

Summary: Integration event that allows customization after resetting blanket order data.

[IntegrationEvent(false, false)]
local procedure OnAfterResetBlanketOrderData(var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAfterResetBlanketOrderData', '', false, false)]
local procedure DoSomethingOnAfterResetBlanketOrderData(var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • RequisitionLine: Requisition line that had blanket order data reset

Remarks: Use this event to perform additional actions after blanket order data has been reset

OnBeforeGetAssignedBlanketOrderQty(Record Requisition Line, Code[20], Integer, Decimal, Boolean) :#

Summary: Integration event that allows customization before getting assigned blanket order quantity.

[IntegrationEvent(false, false)]
local procedure OnBeforeGetAssignedBlanketOrderQty(RequisitionLine: Record "Requisition Line"; SearchBlanketOrderNo: Code[20]; SearchBlanketOrderLineNo: Integer; var ReturnValue: Decimal; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeGetAssignedBlanketOrderQty', '', false, false)]
local procedure DoSomethingOnBeforeGetAssignedBlanketOrderQty(RequisitionLine: Record "Requisition Line"; SearchBlanketOrderNo: Code[20]; SearchBlanketOrderLineNo: Integer; var ReturnValue: Decimal; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: Current requisition line (excluded from calculation)
  • SearchBlanketOrderNo: Blanket order number to search for
  • SearchBlanketOrderLineNo: Blanket order line number to search for
  • ReturnValue: Variable to store the calculated assigned quantity
  • IsHandled: Variable indicating whether a subscriber has handled the calculation

Remarks: Set IsHandled to true to provide custom logic for calculating assigned blanket order quantities

OnGetAssignedBlanketOrderQtyOnAfterSetFilterRequisitionLine(Record Requisition Line, Record Requisition Line, Code[20], Integer) :#

Summary: Integration event that allows customization of filters when getting assigned blanket order quantity.

[IntegrationEvent(false, false)]
local procedure OnGetAssignedBlanketOrderQtyOnAfterSetFilterRequisitionLine(var RequisitionLine: Record "Requisition Line"; CurrentRequisitionLine: Record "Requisition Line"; SearchBlanketOrderNo: Code[20]; SearchBlanketOrderLineNo: Integer): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnGetAssignedBlanketOrderQtyOnAfterSetFilterRequisitionLine', '', false, false)]
local procedure DoSomethingOnGetAssignedBlanketOrderQtyOnAfterSetFilterRequisitionLine(var RequisitionLine: Record "Requisition Line"; CurrentRequisitionLine: Record "Requisition Line"; SearchBlanketOrderNo: Code[20]; SearchBlanketOrderLineNo: Integer)
begin
end;

Parameters:

  • RequisitionLine: Requisition line record with applied filters
  • CurrentRequisitionLine: Current requisition line being processed
  • SearchBlanketOrderNo: Blanket order number being searched
  • SearchBlanketOrderLineNo: Blanket order line number being searched

Remarks: Use this event to add additional filters when calculating assigned blanket order quantities

OnBeforeLookupBlanketOrderLines(Record Requisition Line, Boolean, Boolean) :#

Summary: Integration event that allows customization before looking up blanket order lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeLookupBlanketOrderLines(var RequisitionLine: Record "Requisition Line"; var ReturnValue: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeLookupBlanketOrderLines', '', false, false)]
local procedure DoSomethingOnBeforeLookupBlanketOrderLines(var RequisitionLine: Record "Requisition Line"; var ReturnValue: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: Requisition line context for the lookup
  • ReturnValue: Variable indicating success of the lookup
  • IsHandled: Variable indicating whether a subscriber has handled the lookup

Remarks: Set IsHandled to true to skip standard blanket order line lookup

OnAfterOnDeleteReqLine(Record Requisition Line, Boolean) :#

Summary: Integration event: Allows subscribers to perform custom actions after a requisition line (or all lines) has been deleted.

[IntegrationEvent(false, false)]
local procedure OnAfterOnDeleteReqLine(RequisitionLine: Record "Requisition Line"; DeleteAllLines: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAfterOnDeleteReqLine', '', false, false)]
local procedure DoSomethingOnAfterOnDeleteReqLine(RequisitionLine: Record "Requisition Line"; DeleteAllLines: Boolean)
begin
end;

Parameters:

  • RequisitionLine: The requisition line record that was deleted (used for filtering).
  • DeleteAllLines: Indicates whether all lines of the requisition were deleted (true) or only a specific line (false).

Remarks: This event is triggered after the deletion of a requisition line or all lines in a requisition. Subscribers can use this event to clean up related data, trigger notifications, or implement additional business logic that should occur after the deletion process. The DeleteAllLines parameter allows differentiation between single line and batch deletions, enabling more granular handling of post-delete scenarios.

OnAfterSetFilterBlanketOrderPurchaseLine(Record Purchase Line, Record Requisition Line, Boolean) :#

Summary: Integration event that allows customization after setting filters for blanket order purchase lines.

[IntegrationEvent(false, false)]
local procedure OnAfterSetFilterBlanketOrderPurchaseLine(var BlanketOrderPurchaseLine: Record "Purchase Line"; var AssigntoRequisitionLine: Record "Requisition Line"; FilterEmptyLocationCode: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAfterSetFilterBlanketOrderPurchaseLine', '', false, false)]
local procedure DoSomethingOnAfterSetFilterBlanketOrderPurchaseLine(var BlanketOrderPurchaseLine: Record "Purchase Line"; var AssigntoRequisitionLine: Record "Requisition Line"; FilterEmptyLocationCode: Boolean)
begin
end;

Parameters:

  • BlanketOrderPurchaseLine: Purchase line record with applied filters
  • AssigntoRequisitionLine: Requisition line being processed for assignment
  • FilterEmptyLocationCode: Whether filtering by empty location code

Remarks: Use this event to add additional filters for blanket order purchase line selection

OnBeforeCalcAvailability(Record Item, Record Requisition Line, Decimal, Boolean) :#

Summary: Integration event that is triggered before calculating availability for an item in a requisition line.

[IntegrationEvent(false, false)]
local procedure OnBeforeCalcAvailability(var Item: Record "Item"; RequisitionLine: Record "Requisition Line"; var AvailableQuantity: Decimal; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnBeforeCalcAvailability', '', false, false)]
local procedure DoSomethingOnBeforeCalcAvailability(var Item: Record "Item"; RequisitionLine: Record "Requisition Line"; var AvailableQuantity: Decimal; var IsHandled: Boolean)
begin
end;

Parameters:

  • Item: The item record for which availability is being calculated.
  • RequisitionLine: The requisition line for which availability is being calculated.
  • AvailableQuantity: The quantity that is available for the item.
  • IsHandled: Boolean indicating whether the calculation has been handled by a subscriber. If set to true, the standard calculation will be skipped.

Remarks: This event allows you to modify the available quantity or completely override the standard availability calculation logic. Subscribe to this event if you need to customize how item availability is determined for requisition lines.

OnCalculateOrderAmountOnAfterSetRequisitionLineFilters(Record Requisition Line, Record Requisition Line) :#

Summary: Integration event that allows customization of requisition line filters when calculating order amounts.

[IntegrationEvent(false, false)]
local procedure OnCalculateOrderAmountOnAfterSetRequisitionLineFilters(var RequisitionLineFind: Record "Requisition Line"; var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnCalculateOrderAmountOnAfterSetRequisitionLineFilters', '', false, false)]
local procedure DoSomethingOnCalculateOrderAmountOnAfterSetRequisitionLineFilters(var RequisitionLineFind: Record "Requisition Line"; var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • RequisitionLineFind: Requisition line record with applied filters for calculation
  • RequisitionLine: Original requisition line providing context

Remarks: Use this event to add additional filters when calculating order amounts across requisition lines

OnAssignBlanketOrdersOnAfterSetFilterToAssignToRequisitionLine(Record Requisition Line) :#

Summary: Integration event that is triggered after setting the filter for assigning blanket orders to requisition lines

[IntegrationEvent(false, false)]
local procedure OnAssignBlanketOrdersOnAfterSetFilterToAssignToRequisitionLine(var RequisitionLine: Record "Requisition Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAssignBlanketOrdersOnAfterSetFilterToAssignToRequisitionLine', '', false, false)]
local procedure DoSomethingOnAssignBlanketOrdersOnAfterSetFilterToAssignToRequisitionLine(var RequisitionLine: Record "Requisition Line")
begin
end;

Parameters:

  • RequisitionLine: The requisition line record to which the blanket order line is being assigned

Remarks: This event allows subscribers to perform additional logic or modifications after setting the filter for assigning blanket orders to requisition lines.

OnAssignBlanketPurchLineOnAfterCalculateRemainingBlanketOrderQty(Record Purchase Line, Record Requisition Line, Decimal) :#

Summary: Integration event that is triggered after calculating the remaining blanket order quantity

[IntegrationEvent(false, false)]
local procedure OnAssignBlanketPurchLineOnAfterCalculateRemainingBlanketOrderQty(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"; var RemainingBlanketOrderQty: Decimal): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAssignBlanketPurchLineOnAfterCalculateRemainingBlanketOrderQty', '', false, false)]
local procedure DoSomethingOnAssignBlanketPurchLineOnAfterCalculateRemainingBlanketOrderQty(var PurchaseLine: Record "Purchase Line"; var RequisitionLine: Record "Requisition Line"; var RemainingBlanketOrderQty: Decimal)
begin
end;

Parameters:

  • PurchaseLine: The purchase line record representing the blanket order line.
  • RequisitionLine: The requisition line record to which the blanket order line is being assigned.
  • RemainingBlanketOrderQty: The remaining quantity available on the blanket order line after assignment.

Remarks: This event allows subscribers to perform additional logic or modifications after the remaining blanket order quantity has been calculated.

OnAssignBlanketPurchLineOnBeforeModifyAssignToRequisitionLine(Record Requisition Line, Record Purchase Line) :#

Summary: Integration event that is triggered before modifying and assigning values to a requisition line from a blanket purchase line.

[IntegrationEvent(false, false)]
local procedure OnAssignBlanketPurchLineOnBeforeModifyAssignToRequisitionLine(var RequisitionLine: Record "Requisition Line"; PurchaseLine: Record "Purchase Line"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBARequisitionLib", 'OnAssignBlanketPurchLineOnBeforeModifyAssignToRequisitionLine', '', false, false)]
local procedure DoSomethingOnAssignBlanketPurchLineOnBeforeModifyAssignToRequisitionLine(var RequisitionLine: Record "Requisition Line"; PurchaseLine: Record "Purchase Line")
begin
end;

Parameters:

  • RequisitionLine: The requisition line record to be modified and assigned values.
  • PurchaseLine: The purchase line record representing the blanket order line.

Remarks: This event allows subscribers to perform custom logic or validations before the requisition line is updated with values from the blanket purchase line.