Report 99001020 Carry Out Action Msg. - Plan.
- App
- Base Application
- Namespace
- Microsoft.Inventory.Requisition
- Versions
- 17-28
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Requisition/CarryOutActionMsgPlan.Report.al696 lines, Copyright (c) Microsoft Corporation. MIT
// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace Microsoft.Inventory.Requisition;
using Microsoft.Foundation.Navigate;
using Microsoft.Inventory.Planning;
using Microsoft.Manufacturing.Setup;
using Microsoft.Purchases.Document;
report 99001020 "Carry Out Action Msg. - Plan."
{
Caption = 'Carry Out Action Msg. - Plan.';
ProcessingOnly = true;
dataset
{
dataitem("Requisition Line"; "Requisition Line")
{
#pragma warning disable AL0254
DataItemTableView = sorting("Worksheet Template Name", "Journal Batch Name", "Vendor No.", "Sell-to Customer No.", "Ship-to Code", "Order Address Code", "Currency Code", "Ref. Order Type", "Ref. Order Status", "Ref. Order No.", "Low-Level Code", "Location Code", "Transfer-from Code");
#pragma warning restore AL0254
RequestFilterHeading = 'Planning Line';
trigger OnAfterGetRecord()
begin
OnBeforeRequisitionLineOnAfterGetRecord("Requisition Line", CombineTransferOrders);
if not HideDialog then
WindowUpdate();
if not "Accept Action Message" then
CurrReport.Skip();
Commit();
RunCarryOutActionsByRefOrderType("Requisition Line");
Commit();
OnAfterRequisitionLineOnAfterGetRecord("Requisition Line", ProdOrderChoice.AsInteger());
end;
trigger OnPostDataItem()
begin
if not HideDialog then
Window.Close();
CarryOutAction.PrintTransferOrders();
OnPostDataItemOnPrintOrders();
if PurchOrderChoice in [PurchOrderChoice::"Make Purch. Orders",
PurchOrderChoice::"Make Purch. Orders & Print"]
then begin
SetRange("Accept Action Message", true);
if PurchaseSuggestionExists("Requisition Line") then begin
PurchOrderHeader."Order Date" := WorkDate();
PurchOrderHeader."Posting Date" := WorkDate();
EndOrderDate := WorkDate();
PrintOrders := (PurchOrderChoice = PurchOrderChoice::"Make Purch. Orders & Print");
Clear(ReqWkshMakeOrders);
ReqWkshMakeOrders.SetCreatedDocumentBuffer(TempDocumentEntry);
ReqWkshMakeOrders.Set(PurchOrderHeader, EndOrderDate, PrintOrders);
if not NoPlanningResiliency then
ReqWkshMakeOrders.SetPlanningResiliency();
ReqWkshMakeOrders.CarryOutBatchAction("Requisition Line");
CounterFailed := CounterFailed + ReqWkshMakeOrders.GetFailedCounter();
end;
end;
ShowResult();
end;
trigger OnPreDataItem()
begin
LockTable();
SetReqLineFilters();
if not Find('-') then
Error(Text000);
if PurchOrderChoice = PurchOrderChoice::"Copy to Req. Wksh" then
CheckCopyToWksh(ReqWkshTemp, ReqWksh);
if TransOrderChoice = TransOrderChoice::"Copy to Req. Wksh" then
CheckCopyToWksh(TransWkshTemp, TransWkshName);
if ProdOrderChoice = ProdOrderChoice::"Copy to Req. Wksh" then
CheckCopyToWksh(ProdWkshTempl, ProdWkshName);
CheckReleasedProductionOrderNoSeries();
if not HideDialog then
Window.Open(Text012);
CheckPreconditions();
CounterTotal := Count;
end;
}
}
requestpage
{
SaveValues = true;
layout
{
area(content)
{
group(Options)
{
Caption = 'Options';
group("Production Order")
{
Caption = 'Production Order';
field(ProductionOrder; ProdOrderChoice)
{
ApplicationArea = Manufacturing;
Caption = 'Production Order';
ToolTip = 'Specifies that you want to create production orders for item with the Prod. Order replenishment system. You can select to create either planned or firm planned production order, and you can have the new order documents printed.';
}
}
group("Assembly Order")
{
Caption = 'Assembly Order';
field(AsmOrderChoice; AsmOrderChoice)
{
ApplicationArea = Assembly;
Caption = 'Assembly Order';
ToolTip = 'Specifies the assembly orders that are created for items with the Assembly replenishment method.';
}
}
group("Purchase Order")
{
Caption = 'Purchase Order';
field(PurchaseOrder; PurchOrderChoice)
{
ApplicationArea = Planning;
Caption = 'Purchase Order';
ToolTip = 'Specifies that you want to create purchase orders for items with the Purchase replenishment method. You can have the new order documents printed.';
trigger OnValidate()
begin
PurchOrderCopyToReqWksh := PurchOrderChoice = PurchOrderChoice::"Copy to Req. Wksh";
end;
}
group(Control10)
{
ShowCaption = false;
Visible = PurchOrderCopyToReqWksh;
field(ReqTemp; ReqWkshTemp)
{
ApplicationArea = Planning;
Caption = 'Req. Wksh. Template';
Enabled = true;
TableRelation = "Req. Wksh. Template";
ToolTip = 'Specifies that you want to copy the planning line proposals for transfer orders to this requisition worksheet template.';
trigger OnLookup(var Text: Text): Boolean
begin
if PAGE.RunModal(PAGE::"Req. Worksheet Templates", ReqWkshTmpl) = ACTION::LookupOK then begin
Text := ReqWkshTmpl.Name;
exit(true);
end;
exit(false);
end;
trigger OnValidate()
begin
ReqWksh := '';
end;
}
field(ReqName; ReqWksh)
{
ApplicationArea = Planning;
Caption = 'Req. Wksh. Name';
Enabled = true;
TableRelation = "Requisition Wksh. Name".Name;
ToolTip = 'Specifies that you want to copy the planning line proposals for transfer orders to this requisition worksheet name.';
trigger OnLookup(var Text: Text): Boolean
begin
ReqWkshName.SetFilter("Worksheet Template Name", ReqWkshTemp);
if PAGE.RunModal(PAGE::"Req. Wksh. Names", ReqWkshName) = ACTION::LookupOK then begin
Text := ReqWkshName.Name;
exit(true);
end;
exit(false);
end;
}
}
}
group("Transfer Order")
{
Caption = 'Transfer Order';
field(TransOrderChoice; TransOrderChoice)
{
ApplicationArea = Location;
Caption = 'Transfer Order';
ToolTip = 'Specifies that you want to create transfer orders for items with the Transfer replenishment method in the SKU card. You can have the new order documents printed.';
trigger OnValidate()
begin
TransOrderCopyToReqWksh := TransOrderChoice = TransOrderChoice::"Copy to Req. Wksh";
end;
}
group(Control3)
{
ShowCaption = false;
Visible = TransOrderCopyToReqWksh;
field(TransTemp; TransWkshTemp)
{
ApplicationArea = Planning;
Caption = 'Req. Wksh. Template';
Enabled = true;
TableRelation = "Req. Wksh. Template";
ToolTip = 'Specifies that you want to copy the planning line proposals for transfer orders to this requisition worksheet template.';
trigger OnLookup(var Text: Text): Boolean
begin
if PAGE.RunModal(PAGE::"Req. Worksheet Templates", ReqWkshTmpl) = ACTION::LookupOK then begin
Text := ReqWkshTmpl.Name;
exit(true);
end;
exit(false);
end;
trigger OnValidate()
begin
TransWkshName := '';
end;
}
field(TransName; TransWkshName)
{
ApplicationArea = Planning;
Caption = 'Req. Wksh. Name';
Enabled = true;
TableRelation = "Requisition Wksh. Name".Name;
ToolTip = 'Specifies that you want to copy the planning line proposals for transfer orders to this requisition worksheet name.';
trigger OnLookup(var Text: Text): Boolean
begin
ReqWkshName.SetFilter("Worksheet Template Name", TransWkshTemp);
if PAGE.RunModal(PAGE::"Req. Wksh. Names", ReqWkshName) = ACTION::LookupOK then begin
Text := ReqWkshName.Name;
exit(true);
end;
exit(false);
end;
}
}
}
field(CombineTransferOrders; CombineTransferOrders)
{
ApplicationArea = Location;
Caption = 'Combine Transfer Orders';
ToolTip = 'Specifies whether to combine transfer orders with other orders that are being sent to and from the same locations.';
}
}
field(NoPlanningResiliency; NoPlanningResiliency)
{
ApplicationArea = Planning;
Caption = 'Stop and Show First Error';
ToolTip = 'Specifies whether to stop as soon as the batch job encounters an error.';
}
}
}
actions
{
}
trigger OnInit()
begin
PurchOrderCopyToReqWksh := false;
TransOrderCopyToReqWksh := false;
end;
trigger OnOpenPage()
begin
PurchOrderCopyToReqWksh := PurchOrderChoice = PurchOrderChoice::"Copy to Req. Wksh";
TransOrderCopyToReqWksh := TransOrderChoice = TransOrderChoice::"Copy to Req. Wksh";
end;
}
labels
{
}
trigger OnInitReport()
begin
OnAfterInitReport();
end;
trigger OnPreReport()
begin
OnBeforePreReport();
end;
var
PurchOrderHeader: Record "Purchase Header";
ReqWkshTmpl: Record "Req. Wksh. Template";
ReqWkshName: Record "Requisition Wksh. Name";
ReqLineFilters: Record "Requisition Line";
TempDocumentEntry: Record "Document Entry" temporary;
CarryOutAction: Codeunit "Carry Out Action";
ReqWkshMakeOrders: Codeunit "Req. Wksh.-Make Order";
Window: Dialog;
ReqWkshTemp: Code[10];
ReqWksh: Code[10];
TransWkshTemp: Code[10];
TransWkshName: Code[10];
ProdWkshTempl: Code[10];
ProdWkshName: Code[10];
PrintOrders: Boolean;
CombineTransferOrders: Boolean;
ReserveforPlannedProd: Boolean;
HideDialog: Boolean;
Counter: Integer;
CounterTotal: Integer;
CounterFailed: Integer;
EndOrderDate: Date;
PurchOrderCopyToReqWksh: Boolean;
TransOrderCopyToReqWksh: Boolean;
#pragma warning disable AA0074
Text000: Label 'There are no planning lines to make orders for.';
Text007: Label 'This template and worksheet are currently active. ';
Text008: Label 'You must select a different template name or worksheet name to copy to.';
Text009: Label 'You must select a worksheet to copy to';
Text010: Label 'Components were not reserved for orders with status Planned.';
#pragma warning disable AA0470
Text011: Label 'You must make order for both line %1 and %2 because they are associated.';
Text012: Label 'Carrying Out Actions #1########## @2@@@@@@@@@@@@@';
Text013: Label 'Not all Requisition Lines were carried out.\A total of %1 lines were not carried out because of errors encountered.';
#pragma warning restore AA0470
#pragma warning restore AA0074
protected var
ProdOrderChoice: Enum Microsoft.Manufacturing.Document."Planning Create Prod. Order";
PurchOrderChoice: Enum "Planning Create Purchase Order";
TransOrderChoice: Enum "Planning Create Transfer Order";
AsmOrderChoice: Enum "Planning Create Assembly Order";
NoPlanningResiliency: Boolean;
CurrReqWkshTemp: Code[10];
CurrReqWkshName: Code[10];
procedure CarryOutActions(SourceType: Enum "Planning Create Source Type"; Choice: Option; WkshTempl: Code[10]; WkshName: Code[10])
begin
if NoPlanningResiliency then begin
CarryOutAction.SetParameters(SourceType, Choice, WkshTempl, WkshName);
CarryOutAction.Run("Requisition Line");
end else
if not CarryOutAction.TryCarryOutAction(SourceType, "Requisition Line", Choice, WkshTempl, WkshName) then begin
CounterFailed := CounterFailed + 1;
OnCarryOutActionsOnAfterUpdateCounterFailed("Requisition Line", WkshTempl, WkshName);
end;
end;
local procedure RunCarryOutActionsByRefOrderType(var RequisitionLine: Record "Requisition Line")
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeRunCarryOutActionsByRefOrderType(RequisitionLine, PurchOrderChoice, ReqWkshTemp, ReqWksh, NoPlanningResiliency, CounterFailed, IsHandled);
if IsHandled then
exit;
case RequisitionLine."Ref. Order Type" of
RequisitionLine."Ref. Order Type"::"Prod. Order":
if ProdOrderChoice <> ProdOrderChoice::" " then
CarryOutActions(Enum::"Planning Create Source Type"::Production, ProdOrderChoice.AsInteger(), ProdWkshTempl, ProdWkshName);
RequisitionLine."Ref. Order Type"::Purchase:
if PurchOrderChoice = PurchOrderChoice::"Copy to Req. Wksh" then
CarryOutActions(Enum::"Planning Create Source Type"::Purchase, PurchOrderChoice.AsInteger(), ReqWkshTemp, ReqWksh);
RequisitionLine."Ref. Order Type"::Transfer:
if TransOrderChoice <> TransOrderChoice::" " then begin
CarryOutAction.SetSplitTransferOrders(not CombineTransferOrders);
CarryOutActions(Enum::"Planning Create Source Type"::Transfer, TransOrderChoice.AsInteger(), TransWkshTemp, TransWkshName);
end;
RequisitionLine."Ref. Order Type"::Assembly:
if AsmOrderChoice <> AsmOrderChoice::" " then
CarryOutActions(Enum::"Planning Create Source Type"::Assembly, AsmOrderChoice.AsInteger(), '', '');
else
CurrReport.Skip();
end;
end;
procedure SetCreatedDocumentBuffer(var TempDocumentEntryNew: Record "Document Entry" temporary)
begin
TempDocumentEntry.Copy(TempDocumentEntryNew, true);
CarryOutAction.SetCreatedDocumentBuffer(TempDocumentEntryNew);
end;
procedure SetReqWkshLine(var CurrentReqLine: Record "Requisition Line")
begin
CurrReqWkshTemp := CurrentReqLine."Worksheet Template Name";
CurrReqWkshName := CurrentReqLine."Journal Batch Name";
ReqLineFilters.Copy(CurrentReqLine);
end;
procedure SetDemandOrder(var ReqLine: Record "Requisition Line"; MfgUserTempl: Record "Manufacturing User Template")
begin
SetReqWkshLine(ReqLine);
InitializeRequest(
MfgUserTempl."Create Production Order".AsInteger(),
MfgUserTempl."Create Purchase Order".AsInteger(),
MfgUserTempl."Create Transfer Order".AsInteger(),
MfgUserTempl."Create Assembly Order".AsInteger());
ReqWkshTemp := MfgUserTempl."Purchase Req. Wksh. Template";
ReqWksh := MfgUserTempl."Purchase Wksh. Name";
ProdWkshTempl := MfgUserTempl."Prod. Req. Wksh. Template";
ProdWkshName := MfgUserTempl."Prod. Wksh. Name";
TransWkshTemp := MfgUserTempl."Transfer Req. Wksh. Template";
TransWkshName := MfgUserTempl."Transfer Wksh. Name";
case MfgUserTempl."Make Orders" of
MfgUserTempl."Make Orders"::"The Active Line":
begin
ReqLineFilters := ReqLine;
ReqLineFilters.SetRecFilter();
end;
MfgUserTempl."Make Orders"::"The Active Order":
begin
ReqLineFilters.SetCurrentKey(
ReqLineFilters."User ID", ReqLineFilters."Demand Type", ReqLineFilters."Demand Subtype", ReqLineFilters."Demand Order No.", ReqLineFilters."Demand Line No.", ReqLineFilters."Demand Ref. No.");
ReqLineFilters.CopyFilters(ReqLine);
ReqLineFilters.SetRange(ReqLineFilters."Demand Type", ReqLine."Demand Type");
ReqLineFilters.SetRange(ReqLineFilters."Demand Subtype", ReqLine."Demand Subtype");
ReqLineFilters.SetRange(ReqLineFilters."Demand Order No.", ReqLine."Demand Order No.");
end;
MfgUserTempl."Make Orders"::"All Lines":
begin
ReqLineFilters.SetCurrentKey(
ReqLineFilters."User ID", ReqLineFilters."Worksheet Template Name", ReqLineFilters."Journal Batch Name", ReqLineFilters."Line No.");
ReqLineFilters.Copy(ReqLine);
end;
end;
OnAfterSetDemandOrder(ReqLine, MfgUserTempl, ReqLineFilters);
end;
procedure InitializeRequest(NewProdOrderChoice: Option; NewPurchOrderChoice: Option; NewTransOrderChoice: Option; NewAsmOrderChoice: Option)
begin
ProdOrderChoice := Enum::Microsoft.Manufacturing.Document."Planning Create Prod. Order".FromInteger(NewProdOrderChoice);
PurchOrderChoice := Enum::"Planning Create Purchase Order".FromInteger(NewPurchOrderChoice);
TransOrderChoice := Enum::"Planning Create Transfer Order".FromInteger(NewTransOrderChoice);
AsmOrderChoice := Enum::"Planning Create Assembly Order".FromInteger(NewAsmOrderChoice);
end;
procedure InitializeRequest2(NewProdOrderChoice: Option; NewPurchOrderChoice: Option; NewTransOrderChoice: Option; NewAsmOrderChoice: Option; NewReqWkshTemp: Code[10]; NewReqWksh: Code[10]; NewTransWkshTemp: Code[10]; NewTransWkshName: Code[10])
begin
InitializeRequest(NewProdOrderChoice, NewPurchOrderChoice, NewTransOrderChoice, NewAsmOrderChoice);
ReqWkshTemp := NewReqWkshTemp;
ReqWksh := NewReqWksh;
TransWkshTemp := NewTransWkshTemp;
TransWkshName := NewTransWkshName;
end;
procedure SetHideDialog(NewHideDialog: Boolean)
begin
HideDialog := NewHideDialog;
end;
local procedure SetReqLineFilters()
begin
if ReqLineFilters.GetFilters <> '' then
"Requisition Line".CopyFilters(ReqLineFilters);
"Requisition Line".SetRange("Worksheet Template Name", CurrReqWkshTemp);
if CurrReqWkshTemp <> '' then
"Requisition Line".SetRange("Journal Batch Name", CurrReqWkshName);
"Requisition Line".FilterGroup(2);
"Requisition Line".SetRange(Type, "Requisition Line".Type::Item);
"Requisition Line".SetFilter("Action Message", '<>%1', "Requisition Line"."Action Message"::" ");
"Requisition Line".FilterGroup(0);
OnAfterSetReqLineFilters("Requisition Line");
end;
local procedure CheckCopyToWksh(ToReqWkshTempl: Code[10]; ToReqWkshName: Code[10])
begin
if (ToReqWkshTempl <> '') and
(CurrReqWkshTemp = ToReqWkshTempl) and
(CurrReqWkshName = ToReqWkshName)
then
Error(Text007 + Text008);
if (ToReqWkshTempl = '') or (ToReqWkshName = '') then
Error(Text009);
end;
local procedure CheckPreconditions()
begin
repeat
CheckLine();
until "Requisition Line".Next() = 0;
end;
local procedure CheckReleasedProductionOrderNoSeries()
var
ManufacturingSetup: Record "Manufacturing Setup";
RequisitionLine2: Record "Requisition Line";
begin
if not (ProdOrderChoice in [ProdOrderChoice::Released, ProdOrderChoice::"Released & Print"]) then
exit;
RequisitionLine2.Copy("Requisition Line");
RequisitionLine2.SetRange("Accept Action Message", true);
RequisitionLine2.SetRange("Ref. Order Type", RequisitionLine2."Ref. Order Type"::"Prod. Order");
if RequisitionLine2.IsEmpty() then
exit;
ManufacturingSetup.Get();
ManufacturingSetup.TestField("Released Order Nos.");
end;
local procedure CheckLine()
var
ReqLine2: Record "Requisition Line";
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCheckLine("Requisition Line", PurchOrderChoice.AsInteger(), TransOrderChoice.AsInteger(), IsHandled);
if IsHandled then
exit;
if "Requisition Line"."Planning Line Origin" <> "Requisition Line"."Planning Line Origin"::"Order Planning" then
exit;
CheckAssociations("Requisition Line");
if "Requisition Line"."Planning Level" > 0 then
exit;
CheckSupplyFrom();
CheckDemandType();
ReqLine2.ReadIsolation := ReqLine2.ReadIsolation::ReadUncommitted;
ReqLine2.SetFilter("User ID", '<>%1', UserId);
ReqLine2.SetRange("Demand Type", "Requisition Line"."Demand Type");
ReqLine2.SetRange("Demand Subtype", "Requisition Line"."Demand Subtype");
ReqLine2.SetRange("Demand Order No.", "Requisition Line"."Demand Order No.");
ReqLine2.SetRange("Demand Line No.", "Requisition Line"."Demand Line No.");
ReqLine2.SetRange("Demand Ref. No.", "Requisition Line"."Demand Ref. No.");
if not ReqLine2.IsEmpty then
ReqLine2.DeleteAll(true);
end;
local procedure CheckDemandType()
begin
OnCheckDemandType("Requisition Line");
end;
local procedure CheckAssociations(var ReqLine: Record "Requisition Line")
var
ReqLine2: Record "Requisition Line";
ReqLine3: Record "Requisition Line";
begin
ReqLine3.Copy(ReqLine);
ReqLine2 := ReqLine;
if ReqLine2."Planning Level" > 0 then
while (ReqLine2.Next(-1) <> 0) and (ReqLine2."Planning Level" > 0) do;
repeat
ReqLine3 := ReqLine2;
if not ReqLine3.Find() then
Error(Text011, ReqLine."Line No.", ReqLine2."Line No.");
until (ReqLine2.Next() = 0) or (ReqLine2."Planning Level" = 0)
end;
local procedure CheckSupplyFrom()
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCheckSupplyFrom("Requisition Line", PurchOrderChoice.AsInteger(), TransOrderChoice.AsInteger(), IsHandled);
if IsHandled then
exit;
if "Requisition Line"."Replenishment System" in ["Requisition Line"."Replenishment System"::Purchase, "Requisition Line"."Replenishment System"::Transfer] then
"Requisition Line".TestField("Requisition Line"."Supply From");
end;
local procedure ShowResult()
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeShowResult(IsHandled);
if IsHandled then
exit;
if ReserveforPlannedProd then
Message(Text010);
if CounterFailed > 0 then
if GetLastErrorText() = '' then
Message(Text013, CounterFailed)
else
Message(GetLastErrorText);
end;
local procedure WindowUpdate()
begin
Counter := Counter + 1;
Window.Update(1, "Requisition Line"."No.");
Window.Update(2, Round(Counter / CounterTotal * 10000, 1));
end;
local procedure PurchaseSuggestionExists(var RequisitionLine: Record "Requisition Line"): Boolean
var
StopLoop: Boolean;
PurchaseExists: Boolean;
begin
if RequisitionLine.FindSet() then
repeat
PurchaseExists := RequisitionLine."Ref. Order Type" = RequisitionLine."Ref. Order Type"::Purchase;
if not PurchaseExists then
StopLoop := RequisitionLine.Next() = 0
else
StopLoop := true;
until StopLoop;
if PurchaseExists then
RequisitionLine.SetRange("Ref. Order Type", RequisitionLine."Ref. Order Type"::Purchase);
exit(PurchaseExists);
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetDemandOrder(var RequisitionLine: Record "Requisition Line"; MfgUserTempl: Record "Manufacturing User Template"; var ReqLineFilters: Record "Requisition Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetReqLineFilters(var RequisitionLine: Record "Requisition Line")
begin
end;
[IntegrationEvent(true, false)]
local procedure OnBeforeCheckSupplyFrom(RequisitionLine: Record "Requisition Line"; PurchOrderChoice: Option " ","Make Purch. Orders","Make Purch. Orders & Print","Copy to Req. Wksh"; TransOrderChoice: Option " ","Make Trans. Orders","Make Trans. Orders & Print","Copy to Req. Wksh"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCheckLine(RequisitionLine: Record "Requisition Line"; PurchOrderChoice: Option " ","Make Purch. Orders","Make Purch. Orders & Print","Copy to Req. Wksh"; TransOrderChoice: Option " ","Make Trans. Orders","Make Trans. Orders & Print","Copy to Req. Wksh"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnBeforePreReport()
begin
end;
[IntegrationEvent(true, false)]
local procedure OnBeforeRunCarryOutActionsByRefOrderType(var RequisitionLine: Record "Requisition Line"; PurchOrderChoice: Enum "Planning Create Purchase Order"; ReqWkshTemp: Code[10]; ReqWksh: Code[10]; NoPlanningResiliency: Boolean; var CounterFailed: Integer; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeRequisitionLineOnAfterGetRecord(var RequisitionLine: Record "Requisition Line"; var CombineTransferOrders: Boolean)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnBeforeShowResult(var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterRequisitionLineOnAfterGetRecord(var RequisitionLine: Record "Requisition Line"; ProdOrderChoice: Option)
begin
end;
[IntegrationEvent(true, false)]
local procedure OnAfterInitReport()
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCarryOutActionsOnAfterUpdateCounterFailed(var RequisitionLine: Record "Requisition Line"; WkshTempl: Code[10]; WkshName: Code[10])
begin
end;
[IntegrationEvent(false, false)]
local procedure OnCheckDemandType(RequisitionLine: Record "Requisition Line");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnPostDataItemOnPrintOrders()
begin
end;
}