Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Use this event to

Add filter conditions for Warehouse Activity Headers that cannot be solved by OnSetFilter-event.

 

Description

This event is triggered after filters have been applied to the Warehouse Shipment Header. The event should be used only when it is not possible to use OnSetFilter-event to solve if the Header should be included in the OrderList response.

The Warehouse Shipment Header can be excluded from the OrderList response by setting the parameter _IncludeInOrderList to false.


Template

 [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Ship", 'OnGetShipOrders_OnIncludeWarehouseShipmentHeader''', true, true)]
    procedure OnGetShipOrders_OnIncludeWarehouseShipmentHeader(_WhseShipmentHeader: Record "Warehouse Shipment Header"; var _IncludeInOrderList: Boolean)
    begin
    end;


Example: Do not include in order list if Vendor is blocked.

// [Example]: Do not include in order list if Customer is blocked.
    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOB WMS Ship", 'OnGetShipOrders_OnIncludeWarehouseShipmentHeader''', true, true)]
    procedure OnGetShipOrders_OnIncludeWarehouseShipmentHeader(_WhseShipmentHeader: Record "Warehouse Shipment Header"; var _IncludeInOrderList: Boolean)
    var
        WhseShipmentLine: Record "Warehouse Shipment Line";
        SalesHeader: Record "Sales Header";
        Customer: Record Customer;
    begin
        // Loop filtered Shipments
        if _WhseShipmentHeader.FindSet() then
            repeat
                // Loop lines
                WhseShipmentLine.SetFilter("No.", _WhseShipmentHeader."No.");

                if WhseShipmentLine.FindSet() then
                    repeat
                        if WhseShipmentLine."Source Document" = WhseShipmentLine."Source Document"::"Sales Order" then begin
                            SalesHeader.Get(WhseShipmentLine."Source Subtype", WhseShipmentLine."Source No.");
                            // Exclude the Shipment if Customer is blocked
                            if Customer.Get(SalesHeader."Sell-to Customer No.") and not (Customer.Blocked < Customer.Blocked::Allthen
                                _IncludeInOrderList := false;
                        end;
                    until (WhseShipmentLine.Next() 0) or not _IncludeInOrderList;

            until _WhseShipmentHeader.Next() 0;
    end;

More examples


Version History

VersionChanges
MOB5.13Introduced
  • No labels