Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...

...


Info
title(Legacy) OnPrem/Per-Tenant Extension

This article was written for a connector used with the separate Pack & Ship Extension (OnPrem or Per-Tenant).
Pack & Ship is now a feature in the standard Mobile WMS (since MOB5.42) and will use a new API to connect directly to the Mobile WMS App.

Existing custom connectors can be migrated by following the guide How-to: Migration of Pack & Ship.

Links:

Mobile WMS - Implementing a new Shipping Provider Connector
Mobile WMS - Read Master Data from 3rd party Shipping App

Use this event to

...

Optional:  Synchronize master data for Package Stations from 3rd party Shipping App to Tasklet Pack and Ship Extension.


Description

Package Stations is an optional entity in the "Pack and Ship" setup.  The "Pack and Ship" solution has no functionality attached to "Packing Station"s out-of-the box and syncronizing Packing Stations is entirely optional.

A sample use can be seen in our "ShipIt365 Connector" where the "MOS Packing Station" s table is extended with new fields for external user names and passwords to be sent to the "Transsmart" service used by the "IDYS ShipIt365 AppSource App". Unless you have extended the "MOS Packing Station" table with your own custom fields it will generally not be needed to syncronize master data for this table.

See also: Read master data from 3rd party Shipping App

Template

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOS Pack API", 'OnSynchronizePackingStations''', true, true)]
    local procedure OnSynchronizePackingStations(var _PackingStation: Record "MOS Packing Station")
    begin
    end;

Example

    [EventSubscriber(ObjectType::CodeunitCodeunit::"MOS Pack API", 'OnSynchronizePackingStations''', true, true)]
    local procedure OnSynchronizePackingStations(var _PackingStation: Record "MOS Packing Station")
    var
        IdysUserSetup: Record "IDYS User Setup";
    begin
        IdysUserSetup.Reset();
        if IdysUserSetup.FindSet() then
            repeat
                _PackingStation.SetRange("MOSSHIPIT User Name (External)", IdysUserSetup."User Name (External)");
                if _PackingStation.IsEmpty() then begin
                    _PackingStation.Init();
                    _PackingStation."No."  :=  0'';  // Uses Auto-Incrementassigned in OnInsert( ) if blank.
                    _PackingStation.Description := IdysUserSetup."User Name (External)";
                    _PackingStation."MOSSHIPIT User Name (External)" := IdysUserSetup."User Name User Name (External)";
                    _PackingStation."MOSSHIPIT Password (External)" := IdysUserSetup."Password (External)";
                    _PackingStation.Insert(true);
                end;
            until IdysUserSetup.Next() 0;

        _PackingStation.Reset();  // Remove any filters
    end;

tableextension 62100 "MOSSHIPIT Packing Station" extends "MOS Packing Station"
{
    fields
    {
        field(62100; "MOSSHIPIT User Name (External)"; Text[80])
        {
            Caption = 'User Name (External)';
            DataClassification = ToBeClassified;
        }
        field(62101;  "MOSSHIPIT Password (External)";   Text[80])
        {
            Caption =   'Password (External)';
            DataClassification  = ToBeClassified;
            ExtendedDatatype = Masked;
        }
    }
}


Version History

VersionChanges
MOS1.0.0Introduced