Skip to content

KVSFCYEDModPropModifiLib#

Procedures#

OnRun#

procedure OnRun(Rec: Record "KVSFCYEDModProposalWkshtLine")

SetParameters(Boolean, Option) :#

Summary: Configures global parameters for engineering design modification proposal processing including task information transfer and routing calculation direction. This procedure initializes the modification library with essential parameters that control the behavior of subsequent modification processing operations. It sets the task information transfer flag to determine whether task details should be transferred during modification operations, and establishes the routing calculation direction (Forward or Backward) for production order routing recalculations. These parameters are used throughout the modification workflow to ensure consistent processing behavior across all modification operations including component updates, routing line changes, and production order line modifications. The procedure is typically called from report 5026357 "Carry Out Action Msg. - Comp." to establish the processing context before executing modification actions.

procedure SetParameters(transferTaskInfoPar: Boolean; calculateRoutingPar: Option): 

Parameters:

  • transferTaskInfoPar: When true, enables transfer of task information during modification operations; when false, task details are not transferred, affecting the level of detail preserved during modifications.
  • calculateRoutingPar: Specifies the direction for routing calculations during modification processing: Forward for forward scheduling (start date based) or Backward for backward scheduling (due date based).

GetProdOrderToRoutingCalc(Record Production Order) :#

Summary: Retrieves production orders that require routing recalculation after modification processing and transfers them to the provided temporary record buffer. This procedure collects all production orders that have been affected by modification actions during the current processing session and need routing recalculation to ensure accurate scheduling and capacity planning. It accesses the internal temporary production order buffer that accumulates production orders during component actions, routing line modifications, and production order line updates, then transfers unique production order records to the caller's temporary buffer. The procedure ensures that each production order is included only once in the output buffer, preventing duplicate routing calculations and optimizing performance. This supports the modification workflow by identifying which production orders require routing recalculation after engineering design changes have been applied, enabling efficient batch processing of routing updates for affected production orders.

procedure GetProdOrderToRoutingCalc(var productionOrderTempVar: Record "Production Order" temporary): 

Parameters:

  • productionOrderTempVar: Temporary production order record buffer that receives unique production orders requiring routing recalculation, containing status and number fields for subsequent routing calculation processing.

Events#

OnBeforeTransferRoutingLine(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine) :#

Summary: Event triggered before transferring routing line data from Engineering Design proposals to production order routing lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeTransferRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeTransferRoutingLine', '', false, false)]
local procedure DoSomethingOnBeforeTransferRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine")
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record that will receive the transferred data and can be modified.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record containing the source data for transfer operations.

OnAfterTransferRoutingLine(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine) :#

Summary: Event triggered after transferring routing line data from Engineering Design proposals to production order routing lines.

[IntegrationEvent(false, false)]
local procedure OnAfterTransferRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnAfterTransferRoutingLine', '', false, false)]
local procedure DoSomethingOnAfterTransferRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine")
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record that has received the transferred data and can be further modified.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record that was used as the source for transfer operations.

OnBeforeUpdateRoutingLine(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine) :#

Summary: Event triggered before updating a production order routing line with data from Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeUpdateRoutingLine', '', false, false)]
local procedure DoSomethingOnBeforeUpdateRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine")
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record that will be updated and can be modified before the update operation.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record containing the new values for the update operation.

OnAfterUpdateRoutingLine(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine) :#

Summary: Event triggered after updating a production order routing line with data from Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnAfterUpdateRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnAfterUpdateRoutingLine', '', false, false)]
local procedure DoSomethingOnAfterUpdateRoutingLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine")
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record that has been updated and can be further modified after the update operation.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record that was used as the source for the update operation.

OnBeforeInsertProdOrderComp(Record Prod. Order Component, Record KVSFCYEDModProposalComponent) :#

Summary: Event triggered before inserting a new production order component based on Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnBeforeInsertProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeInsertProdOrderComp', '', false, false)]
local procedure DoSomethingOnBeforeInsertProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent")
begin
end;

Parameters:

  • ProdOrderComp: The production order component record that will be inserted and can be modified before insertion.
  • EDProdOrderComp: The Engineering Design production order component proposal record containing the source data for the new component.

OnAfterInsertProdOrderComp(Record Prod. Order Component, Record KVSFCYEDModProposalComponent) :#

Summary: Event triggered after inserting a new production order component based on Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnAfterInsertProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnAfterInsertProdOrderComp', '', false, false)]
local procedure DoSomethingOnAfterInsertProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent")
begin
end;

Parameters:

  • ProdOrderComp: The production order component record that has been inserted and can be further modified after insertion.
  • EDProdOrderComp: The Engineering Design production order component proposal record that was used as the source data for the inserted component.

OnBeforeUpdateProdOrderComp(Record Prod. Order Component, Record KVSFCYEDModProposalComponent) :#

Summary: Event triggered before updating a production order component with data from Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeUpdateProdOrderComp', '', false, false)]
local procedure DoSomethingOnBeforeUpdateProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent")
begin
end;

Parameters:

  • ProdOrderComp: The production order component record that will be updated and can be modified before the update operation.
  • EDProdOrderComp: The Engineering Design production order component proposal record containing the new values for the update operation.

OnAfterUpdateProdOrderComp(Record Prod. Order Component, Record KVSFCYEDModProposalComponent) :#

Summary: Event triggered after updating a production order component with data from Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnAfterUpdateProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnAfterUpdateProdOrderComp', '', false, false)]
local procedure DoSomethingOnAfterUpdateProdOrderComp(var ProdOrderComp: Record "Prod. Order Component"; EDProdOrderComp: Record "KVSFCYEDModProposalComponent")
begin
end;

Parameters:

  • ProdOrderComp: The production order component record that has been updated and can be further modified after the update operation.
  • EDProdOrderComp: The Engineering Design production order component proposal record that was used as the source for the update operation.

OnBeforeUpdateProdOrderLine(Record Prod. Order Line, Record KVSFCYEDModProposalOrderLine) :#

Summary: Event triggered before updating a production order line with data from Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; EDProdOrderLine: Record "KVSFCYEDModProposalOrderLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeUpdateProdOrderLine', '', false, false)]
local procedure DoSomethingOnBeforeUpdateProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; EDProdOrderLine: Record "KVSFCYEDModProposalOrderLine")
begin
end;

Parameters:

  • ProdOrderLine: The production order line record that will be updated and can be modified before the update operation.
  • EDProdOrderLine: The Engineering Design production order line proposal record containing the new values for the update operation.

OnAfterUpdateProdOrderLine(Record Prod. Order Line, Record KVSFCYEDModProposalOrderLine) :#

Summary: Event triggered after updating a production order line with data from Engineering Design proposals.

[IntegrationEvent(false, false)]
local procedure OnAfterUpdateProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; EDProdOrderLine: Record "KVSFCYEDModProposalOrderLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnAfterUpdateProdOrderLine', '', false, false)]
local procedure DoSomethingOnAfterUpdateProdOrderLine(var ProdOrderLine: Record "Prod. Order Line"; EDProdOrderLine: Record "KVSFCYEDModProposalOrderLine")
begin
end;

Parameters:

  • ProdOrderLine: The production order line record that has been updated and can be further modified after the update operation.
  • EDProdOrderLine: The Engineering Design production order line proposal record that was used as the source for the update operation.

OnBeforeCarryOutActions(Record KVSFCYEDModProposalWkshtLine, Boolean, Option) :#

Summary: Event triggered before carrying out modification actions based on production modification worksheet lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeCarryOutActions(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine"; var TransferTaskInfoYN: Boolean; var CalculateRouting: Option): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeCarryOutActions', '', false, false)]
local procedure DoSomethingOnBeforeCarryOutActions(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine"; var TransferTaskInfoYN: Boolean; var CalculateRouting: Option)
begin
end;

Parameters:

  • ProdModWkshLine: The production modification worksheet line record containing the modification actions to be carried out and can be modified.
  • TransferTaskInfoYN: Boolean flag indicating whether task information should be transferred during the action execution, can be modified to control task transfer behavior.
  • CalculateRouting: Option indicating the direction for routing calculations (Forward or Backward), can be modified to control routing calculation behavior.

OnAfterCarryOutActions(Record KVSFCYEDModProposalWkshtLine) :#

Summary: Event triggered after carrying out modification actions based on production modification worksheet lines.

[IntegrationEvent(false, false)]
local procedure OnAfterCarryOutActions(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnAfterCarryOutActions', '', false, false)]
local procedure DoSomethingOnAfterCarryOutActions(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine")
begin
end;

Parameters:

  • ProdModWkshLine: The production modification worksheet line record that has had its modification actions carried out and can be further processed.

OnBeforeCarryOutComponentAction(Record KVSFCYEDModProposalWkshtLine) :#

Summary: Event triggered before carrying out component-specific modification actions based on production modification worksheet lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeCarryOutComponentAction(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeCarryOutComponentAction', '', false, false)]
local procedure DoSomethingOnBeforeCarryOutComponentAction(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine")
begin
end;

Parameters:

  • ProdModWkshLine: The production modification worksheet line record containing component-specific modification actions and can be modified before execution.

OnBeforeCarryOutProdLineAction(Record KVSFCYEDModProposalWkshtLine) :#

Summary: Event triggered before carrying out production order line-specific modification actions based on production modification worksheet lines.

[IntegrationEvent(false, false)]
local procedure OnBeforeCarryOutProdLineAction(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnBeforeCarryOutProdLineAction', '', false, false)]
local procedure DoSomethingOnBeforeCarryOutProdLineAction(var ProdModWkshLine: Record "KVSFCYEDModProposalWkshtLine")
begin
end;

Parameters:

  • ProdModWkshLine: The production modification worksheet line record containing production order line-specific modification actions and can be modified before execution.

OnTransferRoutingLineBeforeSetDateTime(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine, Record Prod. Order Line, Boolean) :#

Summary: Event triggered before setting date and time fields during routing line transfer operations.

[IntegrationEvent(false, false)]
local procedure OnTransferRoutingLineBeforeSetDateTime(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"; ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnTransferRoutingLineBeforeSetDateTime', '', false, false)]
local procedure DoSomethingOnTransferRoutingLineBeforeSetDateTime(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"; ProdOrderLine: Record "Prod. Order Line"; var IsHandled: Boolean)
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record that will have its date and time fields set and can be modified.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record containing the source date and time information.
  • ProdOrderLine: The production order line record that provides context for the date and time calculations.
  • IsHandled: Boolean flag to indicate if the date and time setting has been handled by custom logic, preventing default processing.

OnDifferenceInProdOrderRtngLine(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine, Boolean) :#

Summary: Event triggered to determine if there are differences between a production order routing line and an Engineering Design routing line proposal.

[IntegrationEvent(false, false)]
local procedure OnDifferenceInProdOrderRtngLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"; var Result: Boolean): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnDifferenceInProdOrderRtngLine', '', false, false)]
local procedure DoSomethingOnDifferenceInProdOrderRtngLine(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"; var Result: Boolean)
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record being compared for differences.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record being compared against.
  • Result: Boolean result indicating whether differences were found between the routing lines, can be set by custom logic to override default comparison.

OnUpateRoutingLineWithDifference(Record Prod. Order Routing Line, Record KVSFCYEDModProposalRtgLine) :#

Summary: Event triggered when updating a production order routing line that has differences with an Engineering Design routing line proposal.

[IntegrationEvent(false, false)]
local procedure OnUpateRoutingLineWithDifference(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine"): 
[EventSubscriber(ObjectType::Codeunit, Codeunit::"KVSFCYEDModPropModifiLib", 'OnUpateRoutingLineWithDifference', '', false, false)]
local procedure DoSomethingOnUpateRoutingLineWithDifference(var ProdOrderRtngLine: Record "Prod. Order Routing Line"; EDProdOrderRtngLine: Record "KVSFCYEDModProposalRtgLine")
begin
end;

Parameters:

  • ProdOrderRtngLine: The production order routing line record that has differences and is being updated, can be modified during the difference handling process.
  • EDProdOrderRtngLine: The Engineering Design production order routing line proposal record that contains the target values for resolving differences.