PROCEDURE ReserveBindingOrderToReqline@26(VAR DemandReqLine@1001 : Record 246;VAR SupplyReqLine@1002 : Record 246);
VAR
ProdOrderComp@1003 : Record 5407;
SalesLine@1004 : Record 37;
ReservEntry@1005 : Record 337;
ReserveProdOrderComp@1006 : Codeunit 99000838;
ReserveSalesLine@1007 : Codeunit 99000832;
ReservMgt@1008 : Codeunit 99000845;
ReservQty@1009 : Decimal;
BEGIN
CLEAR(ReservMgt);
ReservMgt.SetReqLine(SupplyReqLine);
CASE SupplyReqLine."Demand Type" OF
DATABASE::"Prod. Order Component":
BEGIN
ProdOrderComp.GET(
SupplyReqLine."Demand Subtype",
SupplyReqLine."Demand Order No.",
SupplyReqLine."Demand Line No.",
SupplyReqLine."Demand Ref. No.");
ReservEntry."Source Type" := DATABASE::"Prod. Order Component";
ReserveProdOrderComp.SetBinding(ReservEntry.Binding::"Order-to-Order");
ReserveProdOrderComp.CreateReservationSetFrom(
DATABASE::"Requisition Line",
0,
DemandReqLine."Worksheet Template Name",
DemandReqLine."Journal Batch Name",
0,DemandReqLine."Line No.",
DemandReqLine."Variant Code",
DemandReqLine."Location Code",'','',
DemandReqLine."Qty. per Unit of Measure");
ReserveProdOrderComp.CreateReservation(
ProdOrderComp,
DemandReqLine.Description,
DemandReqLine."Due Date",
SupplyReqLine."Demand Quantity (Base)",
'','');
ProdOrderComp.MODIFY;
END;
DATABASE::"Sales Line":
BEGIN
SalesLine.GET(
SupplyReqLine."Demand Subtype",
SupplyReqLine."Demand Order No.",
SupplyReqLine."Demand Line No.");
ReservEntry."Source Type" := DATABASE::"Sales Line";
ReserveSalesLine.SetBinding(ReservEntry.Binding::"Order-to-Order");
ReserveSalesLine.CreateReservationSetFrom(
DATABASE::"Requisition Line",
0,
DemandReqLine."Worksheet Template Name",
DemandReqLine."Journal Batch Name",
0, DemandReqLine."Line No.",
DemandReqLine."Variant Code",
DemandReqLine."Location Code",'','',
DemandReqLine."Qty. per Unit of Measure");
ReserveSalesLine.CreateReservation(
SalesLine,
DemandReqLine.Description,
DemandReqLine."Due Date",
SupplyReqLine."Demand Quantity (Base)",
'','');
IF SalesLine.Reserve = SalesLine.Reserve::Never THEN
SalesLine.Reserve := SalesLine.Reserve::Optional;
SalesLine.MODIFY;
END;
END;
END;