Codeunit 5750 Whse.-Create Source Document
- App
- Base Application
- Namespace
- Microsoft.Warehouse.Request
- Versions
- 17-28
Procedures, 58Events, 58Obsolete, 53
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Warehouse/Request/WhseCreateSourceDocument.Codeunit.al186 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.Warehouse.Request;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Location;
using Microsoft.Warehouse.Document;
codeunit 5750 "Whse.-Create Source Document"
{
trigger OnRun()
begin
end;
internal procedure CreateShipmentLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line")
var
Item: Record Item;
begin
Item."No." := WarehouseShipmentLine."Item No.";
Item.ItemSKUGet(Item, WarehouseShipmentLine."Location Code", WarehouseShipmentLine."Variant Code");
WarehouseShipmentLine."Shelf No." := Item."Shelf No.";
OnBeforeWhseShptLineInsert(WarehouseShipmentLine);
WarehouseShipmentLine.Insert();
OnAfterWhseShptLineInsert(WarehouseShipmentLine);
WarehouseShipmentLine.CreateWhseItemTrackingLines();
OnAfterCreateShptLine(WarehouseShipmentLine);
end;
internal procedure SetQtysOnShptLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; Qty: Decimal; QtyBase: Decimal)
var
Location: Record Location;
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeSetQtysOnShptLine(WarehouseShipmentLine, Qty, QtyBase, IsHandled);
if not IsHandled then begin
WarehouseShipmentLine.Quantity := Qty;
WarehouseShipmentLine."Qty. (Base)" := QtyBase;
WarehouseShipmentLine.InitOutstandingQtys();
WarehouseShipmentLine.CheckSourceDocLineQty();
if Location.Get(WarehouseShipmentLine."Location Code") then
WarehouseShipmentLine.CheckBin(0, 0);
end;
OnAfterSetQtysOnShptLine(WarehouseShipmentLine, Qty, QtyBase);
end;
internal procedure CreateReceiptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line")
var
Item: Record Item;
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeCreateReceiptLine(WarehouseReceiptLine, IsHandled);
if IsHandled then
exit;
Item."No." := WarehouseReceiptLine."Item No.";
Item.ItemSKUGet(Item, WarehouseReceiptLine."Location Code", WarehouseReceiptLine."Variant Code");
WarehouseReceiptLine."Shelf No." := Item."Shelf No.";
WarehouseReceiptLine.Status := WarehouseReceiptLine.GetLineStatus();
OnBeforeWhseReceiptLineInsert(WarehouseReceiptLine);
WarehouseReceiptLine.Insert();
OnAfterWhseReceiptLineInsert(WarehouseReceiptLine);
end;
internal procedure SetQtysOnRcptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; Qty: Decimal; QtyBase: Decimal)
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeSetQtysOnRcptLine(WarehouseReceiptLine, Qty, QtyBase, IsHandled);
if IsHandled then
exit;
WarehouseReceiptLine.Quantity := Qty;
WarehouseReceiptLine."Qty. (Base)" := QtyBase;
WarehouseReceiptLine.InitOutstandingQtys();
OnAfterSetQtysOnRcptLine(WarehouseReceiptLine, Qty, QtyBase);
end;
internal procedure UpdateShipmentLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; WarehouseShipmentHeader: Record "Warehouse Shipment Header")
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeUpdateShptLine(WarehouseShipmentLine, WarehouseShipmentHeader, IsHandled);
if IsHandled then
exit;
if WarehouseShipmentHeader."Zone Code" <> '' then
WarehouseShipmentLine.Validate("Zone Code", WarehouseShipmentHeader."Zone Code");
if WarehouseShipmentHeader."Bin Code" <> '' then
WarehouseShipmentLine.Validate("Bin Code", WarehouseShipmentHeader."Bin Code");
end;
internal procedure UpdateReceiptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header")
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeUpdateReceiptLine(WarehouseReceiptLine, WarehouseReceiptHeader, IsHandled);
if not IsHandled then begin
if WarehouseReceiptHeader."Zone Code" <> '' then
WarehouseReceiptLine.Validate("Zone Code", WarehouseReceiptHeader."Zone Code");
if WarehouseReceiptHeader."Bin Code" <> '' then
WarehouseReceiptLine.Validate("Bin Code", WarehouseReceiptHeader."Bin Code");
if WarehouseReceiptHeader."Cross-Dock Zone Code" <> '' then
WarehouseReceiptLine.Validate("Cross-Dock Zone Code", WarehouseReceiptHeader."Cross-Dock Zone Code");
if WarehouseReceiptHeader."Cross-Dock Bin Code" <> '' then
WarehouseReceiptLine.Validate("Cross-Dock Bin Code", WarehouseReceiptHeader."Cross-Dock Bin Code");
OnAfterUpdateReceiptLine(WarehouseReceiptLine, WarehouseReceiptHeader);
end;
end;
[IntegrationEvent(false, false)]
local procedure OnAfterCreateShptLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetQtysOnRcptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; Qty: Decimal; QtyBase: Decimal)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterWhseReceiptLineInsert(var WarehouseReceiptLine: Record "Warehouse Receipt Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterWhseShptLineInsert(var WarehouseShipmentLine: Record "Warehouse Shipment Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeCreateReceiptLine(var WhseReceiptLine: Record "Warehouse Receipt Line"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeSetQtysOnShptLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; var Qty: Decimal; var QtyBase: Decimal; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateReceiptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeUpdateShptLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; WarehouseShipmentHeader: Record "Warehouse Shipment Header"; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeWhseReceiptLineInsert(var WarehouseReceiptLine: Record "Warehouse Receipt Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeWhseShptLineInsert(var WarehouseShipmentLine: Record "Warehouse Shipment Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeSetQtysOnRcptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; var Qty: Decimal; var QtyBase: Decimal; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterUpdateReceiptLine(var WarehouseReceiptLine: Record "Warehouse Receipt Line"; WarehouseReceiptHeader: Record "Warehouse Receipt Header");
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterSetQtysOnShptLine(var WarehouseShipmentLine: Record "Warehouse Shipment Line"; var Qty: Decimal; var QtyBase: Decimal)
begin
end;
}