Skip to content

KVSKBAReqWkshMakeOrder#

Procedures#

ResetAll() :#

Summary: Resets all blanket order related settings in the request worksheet make order process.

procedure ResetAll(): 

Remarks: This procedure clears the previous blanket order number and line number, as well as the assignment and one order per blanket order flags.

SetAssignBlanketOrders(Boolean) :#

Summary: Sets the blanket order assignment flag for the request worksheet make order process.

procedure SetAssignBlanketOrders(NewAssignBlanketOrders: Boolean): 

Parameters:

  • NewAssignBlanketOrders: Boolean indicating whether to assign blanket orders

Remarks: This procedure is used to configure whether requisition lines should be assigned to existing blanket purchase orders during the make order process.

SetOneOrderPerBlanketOrder(Boolean) :#

Summary: Sets the one order per blanket order flag for the request worksheet make order process.

procedure SetOneOrderPerBlanketOrder(NewOneOrderPerBlanketOrder: Boolean): 

Parameters:

  • NewOneOrderPerBlanketOrder: Boolean indicating whether to create one order per blanket order

Remarks: This procedure is used to configure whether a separate purchase order should be created for each blanket order during the make order process.

GetAssignBlanketOrders() : Boolean#

Summary: Gets the blanket order assignment flag for the request worksheet make order process.

procedure GetAssignBlanketOrders(): Boolean

Returns: Boolean indicating whether blanket orders are assigned

Remarks: This procedure retrieves the current setting for assigning requisition lines to existing blanket purchase orders.

GetOneOrderPerBlanketOrder() : Boolean#

Summary: Gets the one order per blanket order flag for the request worksheet make order process.

procedure GetOneOrderPerBlanketOrder(): Boolean

Returns: Boolean indicating whether one order per blanket order is created

Remarks: This procedure retrieves the current setting for creating separate purchase orders for each blanket order.

CheckBlanketOrderData(Record Requisition Line) : Boolean#

Summary: Checks whether the blanket order data on the requisition line differs from the previously processed line.

procedure CheckBlanketOrderData(RequisitionLine: Record "Requisition Line"): Boolean

Parameters:

  • RequisitionLine: Requisition Line for checking the blanket order data against previous values

Returns: Boolean, true if Blanket Order No. or Blanket Order Line No. differs from previous values

Remarks: This function is used when OneOrderPerBlanketOrder is enabled to determine if a new purchase order should be created due to a change in blanket order assignment. It compares the current requisition line's blanket order number and line number with the previous values stored in PrevBlanketOrderNo and PrevBlanketOrderLineNo. If either value differs, it returns true, triggering the creation of a new purchase order. The OnBeforeCheckBlanketOrderData integration event allows customization of this behavior.

Events#

OnBeforeOnReqWkshMakeOrderOnBeforeCheckRunPrintPurchOrdersReqWkshMakeOrder(Codeunit Req. Wksh.-Make Order, Record Transfer Header, Record Purchase Header, Record Purchase Header, Boolean, Boolean, Boolean) :#

[IntegrationEvent(false, false)]
local procedure OnBeforeOnReqWkshMakeOrderOnBeforeCheckRunPrintPurchOrdersReqWkshMakeOrder(var Sender: Codeunit "Req. Wksh.-Make Order"; var TransferHeader: Record "Transfer Header"; var PurchaseHeader: Record "Purchase Header"; var TempPurchaseHeader: Record "Purchase Header" temporary; var PrintPurchOrders: Boolean; var GlobalIsHandled: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReqWkshMakeOrder", 'OnBeforeOnReqWkshMakeOrderOnBeforeCheckRunPrintPurchOrdersReqWkshMakeOrder', '', false, false)]
local procedure DoSomethingOnBeforeOnReqWkshMakeOrderOnBeforeCheckRunPrintPurchOrdersReqWkshMakeOrder(var Sender: Codeunit "Req. Wksh.-Make Order"; var TransferHeader: Record "Transfer Header"; var PurchaseHeader: Record "Purchase Header"; var TempPurchaseHeader: Record "Purchase Header" temporary; var PrintPurchOrders: Boolean; var GlobalIsHandled: Boolean; var IsHandled: Boolean)
begin
end;

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

Summary: Integration event raised before checking if blanket order data has changed on the requisition line.

[IntegrationEvent(false, false)]
local procedure OnBeforeCheckBlanketOrderData(RequisitionLine: Record "Requisition Line"; var BlanketOrderDataaredifferent: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReqWkshMakeOrder", 'OnBeforeCheckBlanketOrderData', '', false, false)]
local procedure DoSomethingOnBeforeCheckBlanketOrderData(RequisitionLine: Record "Requisition Line"; var BlanketOrderDataaredifferent: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: The requisition line being checked for blanket order data changes
  • BlanketOrderDataaredifferent: Output parameter indicating whether blanket order data differs
  • IsHandled: Flag to indicate if the check is handled by the subscriber

Remarks: This integration event allows subscribers to implement custom logic for determining whether blanket order data has changed, bypassing the standard comparison of blanket order number and line number. This is useful for implementing additional criteria or custom blanket order assignment logic when OneOrderPerBlanketOrder is enabled. Subscribers can set BlanketOrderDataaredifferent to true to force a new purchase order creation, or false to continue with the current order, and then set IsHandled to true to skip the standard check.

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

Summary: Integration event raised before setting the previous blanket order number and line number values.

[IntegrationEvent(false, false)]
local procedure OnBeforeSetPreviousBlanketOrderValues(RequisitionLine: Record "Requisition Line"; OneOrderPerBlanketOrder: Boolean; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSKBAReqWkshMakeOrder", 'OnBeforeSetPreviousBlanketOrderValues', '', false, false)]
local procedure DoSomethingOnBeforeSetPreviousBlanketOrderValues(RequisitionLine: Record "Requisition Line"; OneOrderPerBlanketOrder: Boolean; var IsHandled: Boolean)
begin
end;

Parameters:

  • RequisitionLine: The requisition line whose blanket order data will be stored as previous values
  • OneOrderPerBlanketOrder: Flag indicating whether one order per blanket order mode is enabled
  • IsHandled: Flag to indicate if the value assignment is handled by the subscriber

Remarks: This integration event allows subscribers to customize how the previous blanket order values are stored or to skip the standard storage mechanism. The previous values (PrevBlanketOrderNo and PrevBlanketOrderLineNo) are used to detect changes in blanket order assignments when creating purchase orders from requisition lines. This event is only triggered when OneOrderPerBlanketOrder is true. Subscribers can implement custom tracking logic or use alternative storage mechanisms by setting IsHandled to true.