Custom Plugin Interfaces and Types

System Setup / Plugin Customization / Plugin Configuration [SET062]

When purchasing the DATASCOPE WMS software, you automatically get access to our built-in plugin infrastructure and interfaces required to develop your plugins. This guide will take you through all the currently available plugins and a high-level overview of how they work and how to configure them.

 We would like you to first review the Custom Plugins Overview user guide.

A complete list of all plugins are also available on our DSP secure portal.

If you don’t like reading, you can watch the video.

Try it!

Plugin Types

We allow users to inject specific logic (plugins) into the system in particular software areas (modules). A plugin type is, therefore, linked or associated with a specific module in the system, which is how we have broken them down.

Below is a list of all available Plugin Types currently available in the system, explaining how each works.

These plugins are also listed in the Plugin Name drop-down on the Plugin Configuration screen.

image-20240202-130809.png
Various Plugin Types

Type

Plugin Name

Interface

Module

Linked Action

Receiving

LCT Tracking ID Allocation Import

ILCTAllocationImport

  • Receipt LCT

Import LCT

Receiving

PO Tracking ID Allocation Import

IPOAllocationImport

  • PC-based Purchase Order Receipt

Import Button

Picking/Release

Sales Order Allocation Auto Reservation

ISalesOrderAllocationAutoReservation

  • Sales Order Release

  • Sales Order Wave Release

Auto Reserve Button

Picking/Release

Job Allocation Auto Reservation

LJobAllocationAutoReservation

  • Job Allocation

Auto Reserve Button

Picking/Release

Sales Order Release Picking Slip Rule

ISalesPickingReleaseRule

  • Sales Order Allocation

  • Sales Order Advanced

Confirm Button

Picking/Release

Job Allocation Pick Slip Rule

LJobPickingReleaseRule

  • Job Allocation

  • Job Advanced

Confirm Button

Picking/Release

Induction Carton Print

IINDUCTIONPRINT

  • Induction Carton Print

Print Carton

Checkout

Final Mass Checkout Fetch Mass

IFetchMass

  • Final Mass Checkout

  • Inbound Mass Check

Fetch Mass Button

Checkout

MSN Grocery Checkout Fetch Mass

IFetchMass

  • MSN Grocery Checkout

Fetch Mass Button

Checkout

Line Mass Checkout Fetch Mass

iFetchMass

  • Line Mass Checkout

Fetch Mass Button

Checkout

Pack Station Checkout Fetch Mass

iFetchMass

  • Pack Station Checkout

Fetch Mass Button

TMS

TMS Address Validation

ITMSAddressValidation

  • TMS Initial Order Rate Shop Service

Address Validation Step

TMS

TMS Initial Rate Shop

ITMSIRateShop

  • TMS Initial Order Rate Shop Service

Rate Shop Step

TMS

TMS Set Type

ITMSSetType

  • TMS Initial Order Rate Shop Service

Set Type Step

TMS

TMS Carton Ship

ITMSCartonShip

  • Checkout Create Carton process

Create Carton

TMS

TMS Rate Shop

ITMSRateShop

  • Dispatch/Invoice process

Dispatch/Invoice

TMS

TMS Ship Shipment

ITMSShipmentShip

  • Dispatch/Invoice process

Dispatch/Invoice

TMS

TMS Freight Lines

ITMSFreightLines

  • Dispatch/Invoice process

Dispatch/Invoice

Task Management

Task Management Allocation

ITASKMANALLOCATION

  • Task Management Allocation

Allocate Tasks

Replenishment

Replenishment Auto Reservation

IReplenishmentAutoReservation

  • Replenishment Pick Slip Release

Auto Reserve Button

Replenishment

Replenishment Release Picking Slip Rule

IReplenishmentReleaseRule

  • Replenishment Pick Slip Release

Confirm Button

Replenishment

Replenishment Calculation

IReplenishmentCalculation

  • Pickface Replenishment Review

  • Replenishment Release

Calculate Replenishment

(Calculation Type)

Replenishment

Core Replenishment Calculation

iReplenishmentCalculation

  • PIckface Replenishment Review

Calculation Replenishment

(Calculation Type)

Shipping

Shipping Dimensions Fetch Mass

IFetchMass

  • Shipping TrackID Dimensions

Fetch Mass Button

Printing

Core Printing

ICorePrinting

 

Core Printing

What is an Interface?

Plugins are driven in the system using an Interface. An Interface is just a blueprint within the system on how the plugins communicate with the core system. Each Interface provides a slot or function to communicate with the core system or pass information back to the plugin.

It is a template in the core system on how the plugins talk to the core system.

These Interfaces are built into our SDK, and there is one for each plugin.

These Interfaces are shown in the configuration screen of each plugin. Therefore, if you cannot find the interface within the code, you can view it on the configuration screen of each plugin.

Usage of Plugin Interfaces

To use functions from one of the available Interfaces, you must do the following when building your plugin.

  • Include the Interface header file (DATASCOPE SDK) in your plugin.

  • Derive your plugin from the Interface class defined in the Interface header file (DATASCOPE SDK)

  • Add the MarshlalByRefObject class. This is a prerequisite for using our Interfaces.

  • Search for the Interface associated with the Plugin Name

Error Handling

Error handling is done with a return value.

Most of our Interfaces define a simple string return, there are a few that are different, but most of them return a value. If you have a ‘null’ return (empty string), it means everything is fine, but if it returns a string value, it will report/show that string value to the user in an error message on the front end.

Â