Why do you need this change?
Our Client has been modifiying the ProdOrdercomponent Filtering before calculating the crossdock elements.
Modifications now in Navision needs to be reimplemented in BC
Describe the request
<-------Original code--------->
local procedure CalcCrossDockToProdOrderComponent(var WhseCrossDockOpportunity: Record "Whse. Cross-Dock Opportunity"; ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; CrossDockDate: Date; LineNo: Integer; var sender: Codeunit "Whse. Cross-Dock Management")
var
ProdOrderComponent: Record "Prod. Order Component";
begin
ProdOrderComponent.SetRange(Status, ProdOrderComponent.Status::Released);
ProdOrderComponent.SetRange("Item No.", ItemNo);
ProdOrderComponent.SetRange("Variant Code", VariantCode);
ProdOrderComponent.SetRange("Location Code", LocationCode);
ProdOrderComponent.SetRange("Due Date", 0D, CrossDockDate);
ProdOrderComponent.SetRange("Planning Level Code", 0);
ProdOrderComponent.SetFilter("Remaining Qty. (Base)", '>0');
if ProdOrderComponent.Find('-') then
repeat
ProdOrderComponent.CalcFields("Pick Qty. (Base)");
OnCalcCrossDockToProdOrderComponentOnBeforeInsertCrossDockLine(ProdOrderComponent);
sender.InsertCrossDockOpp(
WhseCrossDockOpportunity,
Database::"Prod. Order Component", ProdOrderComponent.Status.AsInteger(), ProdOrderComponent."Prod. Order No.",
ProdOrderComponent."Line No.", ProdOrderComponent."Prod. Order Line No.",
ProdOrderComponent."Remaining Quantity", ProdOrderComponent."Remaining Qty. (Base)",
ProdOrderComponent."Pick Qty.", ProdOrderComponent."Pick Qty. (Base)", ProdOrderComponent."Qty. Picked", ProdOrderComponent."Qty. Picked (Base)",
ProdOrderComponent."Unit of Measure Code", ProdOrderComponent."Qty. per Unit of Measure", ProdOrderComponent."Due Date",
ProdOrderComponent."Item No.", ProdOrderComponent."Variant Code", LineNo);
until ProdOrderComponent.Next() = 0;
end;
<----------Modified Code-------------->
local procedure CalcCrossDockToProdOrderComponent(var WhseCrossDockOpportunity: Record "Whse. Cross-Dock Opportunity"; ItemNo: Code[20]; VariantCode: Code[10]; LocationCode: Code[10]; CrossDockDate: Date; LineNo: Integer; var sender: Codeunit "Whse. Cross-Dock Management")
var
ProdOrderComponent: Record "Prod. Order Component";
begin
ProdOrderComponent.SetRange(Status, ProdOrderComponent.Status::Released);
ProdOrderComponent.SetRange("Item No.", ItemNo);
ProdOrderComponent.SetRange("Variant Code", VariantCode);
ProdOrderComponent.SetRange("Location Code", LocationCode);
ProdOrderComponent.SetRange("Due Date", 0D, CrossDockDate);
ProdOrderComponent.SetRange("Planning Level Code", 0);
ProdOrderComponent.SetFilter("Remaining Qty. (Base)", '>0');
OnBeforeFindProdOrderComponent(ProdOrderComponent);
if ProdOrderComponent.Find('-') then
repeat
ProdOrderComponent.CalcFields("Pick Qty. (Base)");
OnCalcCrossDockToProdOrderComponentOnBeforeInsertCrossDockLine(ProdOrderComponent);
sender.InsertCrossDockOpp(
WhseCrossDockOpportunity,
Database::"Prod. Order Component", ProdOrderComponent.Status.AsInteger(), ProdOrderComponent."Prod. Order No.",
ProdOrderComponent."Line No.", ProdOrderComponent."Prod. Order Line No.",
ProdOrderComponent."Remaining Quantity", ProdOrderComponent."Remaining Qty. (Base)",
ProdOrderComponent."Pick Qty.", ProdOrderComponent."Pick Qty. (Base)", ProdOrderComponent."Qty. Picked", ProdOrderComponent."Qty. Picked (Base)",
ProdOrderComponent."Unit of Measure Code", ProdOrderComponent."Qty. per Unit of Measure", ProdOrderComponent."Due Date",
ProdOrderComponent."Item No.", ProdOrderComponent."Variant Code", LineNo);
until ProdOrderComponent.Next() = 0;
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeFindProdOrderComponent(var ProdOrderComponent: Record "Prod. Order Component")
begin
end;
Internal work item: AB#638055
Why do you need this change?
Our Client has been modifiying the ProdOrdercomponent Filtering before calculating the crossdock elements.
Modifications now in Navision needs to be reimplemented in BC
Describe the request
<-------Original code--------->
<----------Modified Code-------------->
Internal work item: AB#638055