Pack & Ship Extension - Pack - PostPacking

(Legacy) OnPrem/Per-Tenant Extension

This article was written for the separate Pack & Ship Extension (OnPrem or Per-Tenant).
Pack & Ship is now a feature in the standard Mobile WMS (since MOB5.42) with new events in the Mobile WMS scope (MOB).

Links:

API Documentation - Pack & Ship


Integration Events published by Codeunit 6182209 "MOS WMS Pack Adhoc Reg-PostPck"

OnPostAdhocRegistrationOnPostPacking_OnBeforeRunWhsePostShipment

local procedure OnPostAdhocRegistrationOnPostPacking_OnBeforeRunWhsePostShipment(var _WhseShipmentLine: Record "Warehouse Shipment Line"; var _WhsePostShipment: Codeunit "Whse.-Post Shipment"; var _IsHandled: Boolean)
begin
end;


Important:

If you are using the _IsHandled flag to skip posting the Warehouse Shipment, you manually need to ensure the related License Plates are updated as part of your customization.

This can be done using the below example code:


    local procedure MarkLicensePlatesAsTransferred(var WhseShptHeader: Record "Warehouse Shipment Header"; var WhseShptLine: Record "Warehouse Shipment Line")
    var
        UntransferredLicensePlates: Record "MOS License Plate";
        LicensePlate: Record "MOS License Plate";
        MosPackRegister: Codeunit "MOS WMS Pack Adhoc Reg-PostPck";
    begin
        // Get Untransferred License Plates marked 'Ready for Shipping'
        MosPackRegister.FilterUntransferredLicensePlatesForWarehouseShipment(WhseShptHeader."No.", UntransferredLicensePlates);


        if UntransferredLicensePlates.FindSet() then
            repeat
                if IsShippingProvider(UntransferredLicensePlates."Package Type") then begin
                    LicensePlate.Get(UntransferredLicensePlates."No.");
                    LicensePlate.Validate("Transferred to Shipping", true); // Will update all child license plates as well
                    LicensePlate.Modify(true);
                end;
            until UntransferredLicensePlates.Next() = 0;
    end;


OnPostAdhocRegistrationOnPostPacking_OnBeforeModifyWarehouseShipmentHeader

local procedure OnPostAdhocRegistrationOnPostPacking_OnBeforeModifyWarehouseShipmentHeader(var _RequestValues: Record "MOB NS Request Element"; var _WhseShipmentHeader: Record "Warehouse Shipment Header")
begin
end;

OnPostAdhocRegistrationOnPostPacking_OnAfterPostWhseShipment

local procedure OnPostAdhocRegistrationOnPostPacking_OnAfterPostWhseShipment(var _WhseShipmentHeader: Record "Warehouse Shipment Header")
begin
end;