Page 99000902 Item Availability Line List
- App
- Base Application
- Namespace
- Microsoft.Inventory.Availability
- Versions
- 17-28
- Source table
- 99000832
Procedures, 4Events, 11Obsolete, 3
Versions171819202122232425262728
Source29
Source in 29
src/Layers/W1/BaseApp/Inventory/Availability/ItemAvailabilityLineList.Page.al190 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.Availability;
using Microsoft.Inventory.Item;
using Microsoft.Inventory.Ledger;
page 99000902 "Item Availability Line List"
{
Caption = 'Item Availability Line List';
Editable = false;
PageType = List;
SourceTable = "Item Availability Line";
SourceTableTemporary = true;
layout
{
area(content)
{
repeater(Control1)
{
ShowCaption = false;
field(Name; Rec.Name)
{
ApplicationArea = Basic, Suite;
}
field(Quantity; Rec.Quantity)
{
ApplicationArea = Basic, Suite;
trigger OnDrillDown()
begin
LookupEntries();
end;
}
}
}
}
actions
{
}
trigger OnOpenPage()
begin
Rec.DeleteAll();
MakeWhat();
end;
var
ItemLedgerEntry: Record "Item Ledger Entry";
AvailType: Option "Gross Requirement","Planned Order Receipt","Scheduled Order Receipt","Planned Order Release",All;
Sign: Integer;
QtyByUnitOfMeasure: Decimal;
protected var
Item: Record Item;
procedure Init(NewType: Option "Gross Requirement","Planned Order Receipt","Scheduled Order Receipt","Planned Order Release",All; var NewItem: Record Item)
begin
AvailType := NewType;
Item.Copy(NewItem);
OnAfterInit(NewItem, AvailType);
end;
local procedure MakeEntries()
begin
case AvailType of
end;
OnAfterMakeEntries(Item, Rec, AvailType, Sign, QtyByUnitOfMeasure);
end;
local procedure MakeWhat()
begin
Sign := 1;
if AvailType <> AvailType::All then
MakeEntries()
else begin
Item.SetRange("Date Filter", 0D, Item.GetRangeMax("Date Filter"));
OnItemSetFilter(Item);
Item.CalcFields(
"Qty. on Purch. Order",
"Qty. on Sales Order",
"Qty. on Job Order",
"Net Change",
"Purch. Req. Receipt (Qty.)",
"Planning Issues (Qty.)",
"Purch. Req. Release (Qty.)",
"Qty. in Transit",
"Trans. Ord. Shipment (Qty.)",
"Trans. Ord. Receipt (Qty.)",
"Qty. on Assembly Order",
"Qty. on Asm. Component",
"Qty. on Purch. Return",
"Qty. on Sales Return");
OnItemCalcFields(Item);
if Item.Inventory <> 0 then
Rec.InsertEntry(
Database::"Item Ledger Entry", Item.FieldNo(Inventory),
ItemLedgerEntry.TableCaption(), Item.Inventory, QtyByUnitOfMeasure, Sign);
AvailType := AvailType::"Gross Requirement";
Sign := -1;
MakeEntries();
AvailType := AvailType::"Planned Order Receipt";
Sign := 1;
MakeEntries();
AvailType := AvailType::"Scheduled Order Receipt";
Sign := 1;
MakeEntries();
AvailType := AvailType::All;
end;
end;
local procedure LookupEntries()
var
IsHandled: Boolean;
begin
IsHandled := false;
OnBeforeLookupEntries(Rec, Item, IsHandled);
if IsHandled then
exit;
case Rec."Table No." of
Database::"Item Ledger Entry":
begin
ItemLedgerEntry.SetCurrentKey("Item No.", "Entry Type", "Variant Code", "Drop Shipment", "Location Code", "Posting Date");
ItemLedgerEntry.SetRange("Item No.", Item."No.");
ItemLedgerEntry.SetFilter("Variant Code", Item.GetFilter("Variant Filter"));
ItemLedgerEntry.SetFilter("Drop Shipment", Item.GetFilter("Drop Shipment Filter"));
ItemLedgerEntry.SetFilter("Location Code", Item.GetFilter("Location Filter"));
ItemLedgerEntry.SetFilter("Global Dimension 1 Code", Item.GetFilter("Global Dimension 1 Filter"));
ItemLedgerEntry.SetFilter("Global Dimension 2 Code", Item.GetFilter("Global Dimension 2 Filter"));
ItemLedgerEntry.SetFilter("Unit of Measure Code", Item.GetFilter("Unit of Measure Filter"));
OnItemLedgerEntrySetFilter(ItemLedgerEntry);
PAGE.RunModal(0, ItemLedgerEntry);
end;
end;
OnAfterLookupEntries(Item, Rec."Table No.", Rec);
end;
procedure SetQtyByUnitOfMeasure(NewQtyByUnitOfMeasure: Decimal);
begin
QtyByUnitOfMeasure := NewQtyByUnitOfMeasure;
end;
[IntegrationEvent(false, false)]
local procedure OnItemCalcFields(var Item: Record Item)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnItemSetFilter(var Item: Record Item)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnItemLedgerEntrySetFilter(var ItemLedgerEntry: Record "Item Ledger Entry")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterMakeEntries(var Item: Record Item; var ItemAvailabilityLine: Record "Item Availability Line"; AvailabilityType: Option; Sign: Decimal; QtyByUnitOfMeasure: Decimal)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterLookupEntries(var Item: Record Item; TableID: Integer; ItemAvailabilityLine: Record "Item Availability Line")
begin
end;
[IntegrationEvent(false, false)]
local procedure OnBeforeLookupEntries(ItemAvailabilityLine: Record "Item Availability Line"; var Item: Record Item; var IsHandled: Boolean)
begin
end;
[IntegrationEvent(false, false)]
local procedure OnAfterInit(var Item: Record Item; var AvailType: Option "Gross Requirement","Planned Order Receipt","Scheduled Order Receipt","Planned Order Release",All)
begin
end;
}