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.
Type | Plugin Name | Interface | Module | Linked Action |
Receiving | ILCTAllocationImport |
| Import LCT | |
Receiving | IPOAllocationImport |
| Import Button | |
Picking/Release | ISalesOrderAllocationAutoReservation |
| Auto Reserve Button | |
Picking/Release | LJobAllocationAutoReservation |
| Auto Reserve Button | |
Picking/Release | ISalesPickingReleaseRule |
| Confirm Button | |
Picking/Release | LJobPickingReleaseRule |
| Confirm Button | |
Picking/Release | IINDUCTIONPRINT |
| Print Carton | |
Checkout | IFetchMass |
| Fetch Mass Button | |
Checkout | IFetchMass |
| Fetch Mass Button | |
Checkout | iFetchMass |
| Fetch Mass Button | |
Checkout | iFetchMass |
| Fetch Mass Button | |
TMS | ITMSAddressValidation |
| Address Validation Step | |
TMS | ITMSIRateShop |
| Rate Shop Step | |
TMS | ITMSSetType |
| Set Type Step | |
TMS | ITMSCartonShip |
| Create Carton | |
TMS | ITMSRateShop |
| Dispatch/Invoice | |
TMS | ITMSShipmentShip |
| Dispatch/Invoice | |
TMS | ITMSFreightLines |
| Dispatch/Invoice | |
Task Management | ITASKMANALLOCATION |
| Allocate Tasks | |
Replenishment | IReplenishmentAutoReservation |
| Auto Reserve Button | |
Replenishment | IReplenishmentReleaseRule |
| Confirm Button | |
Replenishment | IReplenishmentCalculation |
| Calculate Replenishment (Calculation Type) | |
Replenishment | iReplenishmentCalculation |
| Calculation Replenishment (Calculation Type) | |
Shipping | IFetchMass |
| Fetch Mass Button | |
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.
Â