DATASCOPE.SDK.BusinessObjects.Shipping.Dispatch.ShippingShippingDispatchPutAway()
The DATASCOPE PREMIUM WMS Shipping module is built to manage the shipment of orders through a third-party logistics provider (LSP’s). It is designed to prepare and control the shipping of pallets of products (stock) that have already been picked and checked out. You can use the Shipping module to create waybills and packing lists to be given to a third-party logistics provider (LSPs) (shipper/courier) or by using your trucks to deliver the stock.
Once the entire order has correctly been packed onto Shipping TrackID by using the MSN Grocery Pack Check Out process, the dispatch staff must scan each Shipping TrackID into the Dispatch Bin or Lane in the dispatching staging area (if shipping lanes are being used in your warehouse). This is done by using the HTML5 Dispatch Bin Put Away (Ship TrackID) mobile screen.
This Business Object will match the mobile application, HTML5 Dispatch Bin Put Away (Ship TrackID), and allow sites to automate the process from a 3rd party perspective, specially for when the Mass and Dims are set, and stock is automatically moved to a specific location in the warehouse.
Note: This is only applicable to Shipping TrackIDs and not other types of TrackIDs.
For a detailed overview on working with DATASCOPE PREMIUM WMS Business Objects, refer to E.Net Business Objects
If you don’t like reading, you can watch the video.
RELEASE NOTES
Release notes 24R2 (Ticket # 8383) - ShippingDispatchPutAway Business Object development.
Description
The Shipping Dispatch Putaway Business Object will allow developers to replicate the functions of the mobile application (HTML5 Dispatch Bin Put Away (Ship TrackID)).
Code | SHIP009 |
---|---|
Name | ShippingDispatchPutAway |
Module | Shipping |
Functional Area | Dispatch |
Name Space/Class | DATASCOPE.SDK.BusinessObjects.Shipping.Dispatch.ShippingDispatchPutAway() |
Release Date | Aug 2024 |
Release Version | v24.2 |
Prerequisites | None |
---|---|
SYSPRO Objects | None |
Parameters
The Business Object allows the following logic, which matches the existing mobile application (HTML5 Dispatch Bin Put Away (Ship TrackID)).
Business Object Post Properties
This Business Object does not require many properties as the application simply allows the Shipping TrackID to be scanned and moved into a specific bin location.
ShippingTrackID—This is the Shipping TrackID to be moved when posting the Business Object.
DispatchBin—This is the destination location the Shipping TrackID is to be moved into.
The following properties are applicable:
Main object definitions
Name | Description | Mandatory field | Data Type | Default Value |
---|---|---|---|---|
pShppingTrackID | This is the Shipping Track ID to be “Moved” into the DispatchBin location. The following validation should be applied, details in the Validation section below. Must be a Shipping Track ID Type Must be associated to an MSN or Waybill. | YES | String | <blank> |
pDispatchBin | This is the Destination Bin that the Shipping Track ID is to be transferred into. The following validation should be applied: // TODO - Validation | YES | String | <blank> |
The Functional Area is defined within the Dispatch.cs class and doesn’t need to be created again. This new Business Object will be added to the existing class file.
Within the existing Dispatch.cs file, a method was created, ShippingDispatchPutAway. This is the entry point definition for the Business Object.
public Response ShippingDispatchPutAway(string p_GUID)
The return type will be Response; this is the standard response type for all Business Objects. The third party will use it to determine whether the process was a success or failure and display error messages.
All Business Objects take a single parameter within the function called p_GUID. The GUID is obtained by calling the standard DATASCOPE WMS Logon Business Object.
Note: GUID obtained directly from SYSPRO will not work, as there is validation within the Business Object that the GUID was obtained through the DATASCOPE WMS Logon process
The core code will be encapsulated within a standard Try Catch block. The Catch section should return a Response with the exception passed as the parameter.
try { // Core BO Logic here } catch (Exception ex) { return new Response(ex); }
There are some Properties required for this Business Object. They are placed at the top of the class in a section called Properties and prefixed with a p. The following code will indicate which properties apply to the business object being called.
See the example lines.
#region Properties /// <summary> /// SYSPRO Sales Order Number /// </summary> public string pSalesOrder { get; set; } = "";
As ALL Business Objects under the Dispatch.cs class (Functional Area) are contained within the same class, the above-mentioned properties(s) will be shared.
The following code will indicate which properties apply to the business object being called.
See the example lines added as decoration to the method.
/// <summary> /// <Description1> /// <para><Paremeter> - <Mandatory/Optional> </para> /// <param name="p_GUID">WMS GUID, obtained from the Logon Business Object - Mandatory</param> /// </summary> [WMSBusinessObject("<Code>", "<Description>")] [WMSBusinessObjectParameter("<Parameter1>", <Mandatory>, <Default>, "Description2")]
<Description1> - This is a short description of the Object.
o <Parameter1> - This is the parameter's name, e.g., pTrackingID.
o <Mandatory/Options> - This indicates if the parameter is mandatory or optional.
o <Code> - This is the code of the business object, e.g., SHIP002.
o <Mandatory> - This is a Boolean if the parameter is mandatory (true) or optional (false)
o <Default> - This is the default value of the parameter.
o <Description2> - This is a short description of the parameter.
TODO – Validations
The following validations must be done, to move the Shipping TrackID to the destination bin.
The ShippingTrackID must be a Shipping TrackID type (4), validated by the tblPallet.PalltTypeID field in the database table. If not, a message will return stating Not a Shipping TrackID.
The ShippingTrackID must have an associated Waybill and/or MSN (Master Shipment Number). This is checked against the tblShippingTrackIDOrder table in the database. If it doesn’t exist, a message will return stating Shipping TrackID does not have an associated Waybill and/or MSN number.
The DispatchBin must be validated whether it exist in the tblBin table in the database.
Posting
When posting the Business Object, the following updates will process.
Note: The process is slightly different from the mobile application. When posting on the mobile application, the line to be posted appear on the screen, but when posting via the Business Object the line and posting will happen in the backend.
The line to be posted will be fetched, by calling the GetShippingTrackIDDetails() method within the DATASCOPE.SDK.ShippingBO class.
The ShippingTrackID will be passed as the parameter for the above function.
A Loop will be performed through each line that is returned from the query, performing the following:
o Call the method UpdateBin() within the DATASCOPE.SDK.PalletBO class.
o The tbPallet.Bin table will be updated in the database for the associated TrackIDs returned by the GetShippingTrackIDDetails() method.
Testing the BO
The Business Object Harness application should be used to assist in troubleshooting and testing any of the DATASCOPE WMS Business Objects.
Ensure you followed the installation process to install and configure the Business Object Harness application.
To test the Business Object
o Open the Business Object Harness
o Enter the Company ID you would like to login to, followed by a valid Operator, along with its password and company password (if any). Clicking the Login button will then attempt to log in to the system using the WebAPI.
o The first step in posting an object is to select and add it to the main content window.
o Now you are ready to start testing the Business Object.