Overview
SalesPad integration with Blue Moon’s Operations Core features several components such as Auto Release for sales documents, purchase orders, and inventory item, as well as WMS Status and Lock, and Fulfillment Options. This document describes these components and how to enable and use them in SalesPad.
Blue Moon’s Operations Core integration also includes the Shipment Inquiry tool. Please refer to documentation Blue Moon Operations Core Shipment Inquiry for more details.
Note: The Blue Moon Operations Core Integration is a licensed addon. Please reach out to your Account Manager for more information on licensing and implementation.
Sales Document Auto Release
Auto Release for sales documents is a functionality that sends a notification to Operations Core each time a sales document is moved to a specific queue/batch (released); Operations Core then sends the sales document to the WMS for processing.
Setup
Enable plugin Blue Moon Operations Core Auto Release for all user groups that have access to Sales Documents. The plugin has the following setting:
- Allow Auto Release When Locked By The Plant - If set to True, it allows the user to send the auto release notification even if the sales document is locked by the plant; defaults to “False”
- Create Sales Document Audit - If set to True, it creates a log entry in Sales Document Audit when the Auto Release notification is sent to the WMS; defaults to False
Create a workflow according to your business process, and include a queue that runs the Operations Core Auto Release plugin:
Usage
In the example above, when a sales document leaves the WAREHOUSE+ queue, the plugin runs in the background and sends the appropriate notification to Operations Core.
The Auto Release can also be triggered manually from the sales document:
Order Delete
To enable the notification each time a sales document is deleted, place the following script in Security Editor > Sales Document Entry > Pre Save Script:
if (sd.IsMarkedToDelete && sd.SaveAction == SalesDocumentSaveActions.None) OpCoreAutoRelease.NotifyDocumentDeleted(sd, true); return "";
Note: Sales Document Auto Release is available in the extended module Blue Moon Operations Core in SalesPad 4.4.0.1 or newer.
Purchase Order Auto Release
Auto Release for purchase order sends a notification to Operations Core each time a purchase order is saved, allowing Operations Core to forward the message to the WMS for processing.
To enable the Purchase Order Auto Release, copy and paste the following script into Security Editor > Purchase Order Entry > Pre Save Script:
try { if (po.IsNew) { // We need to force a first save in order to get the po num po.Save(true); // Since we save the document here, we need to manually show the message box with the po number po.SaveMessage = String.Format("Saved {0}:{1}.", po.val_PO_Type, po.val_PO_Number) + "\n\n" + po.SaveMessage; if (po.SaveMessage.Contains("error")) Messenger.Show(null as Form, po.SaveMessage, String.Empty); else if (SalesPad.Module.Common.Settings.Show_Pop_Up_Save_Message) Messenger.Show(null as Form, po.SaveMessage, String.Empty); po.SaveMessage = ""; // Otherwise the message appears twice } } catch (Exception) { // We need this because any exception thrown during save would be shown twice return ""; } // Send the notification OpCoreAutoRelease.NotifyPurchaseOrderCreated(po, true); return "";
Note: Purchase Order Auto Release is available in the extended module Blue Moon Operations Core in SalesPad 4.4.0.6 or newer.
Item Number Auto Release
Auto Release for inventory items sends a notification to Operations Core each time an item is created (or updated) in SalesPad, allowing Operations Core to send the item number to the WMS.
Setup
Create the following SQL stored procedure in the GP company database to enable the Item Number Auto Release:
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE PROCEDURE [dbo].[spcpUpdateItemMaster] @Item_Number CHAR(31) AS IF (@Item_Number = '') RETURN --Item auto release notification for when items are created in SalesPad --This INSERT must happen in the same transaction as sppUpdateItemMaster --that is why we don't use a trigger (it would not be reliable) IF NOT EXISTS SELECT 1> FROM WMI10500 AS w(NOLOCK WHERE ITEMNMBR = @Item_Number AND w.Transaction_Type = 20 ) BEGIN INSERT INTO WMI10500 ( TIMESTMP ,DOCNUMBR ,WMI_Document_Type ,ITEMNMBR ,Transaction_Type ) SELECT TOP 1 substring(cast(newID() AS CHAR(100)), 1, 24) ,'' ,0 ,im.Item_Number ,20 --'Item_Number' Transaction Type FROM spItemMaster AS im WITH (NOLOCK) WHERE im.Item_Number = @Item_Number AND lower(app_name()) LIKE 'salespad%' END
Usage
When a new item is created in SalesPad (for instance, from the “Item Maintenance” screen), the stored procedure will send the appropriate notification to Operations Core, which will then send the item number to the WMS.
WMS Status and Lock
Status
Operations Core keeps track of the status of the sales order that has been sent to the WMS. These are the possible statuses:
- AVAILABLE: The document has not been sent to the WMS, yet;
- RELEASED: The order was sent to the WMS but the warehouse has not acknowledged it, yet;
- ACKNOWLEDGED: The WMS has received and acknowledged the document;
- PROCESSING: The warehouse is actively working on the order allocating the items;
- SHIPPED: The order has been completed and the items are ready to be shipped.
Note: If the status is NOT RECEIVED, this indicates that the Auto Release notification was never sent to the WMS.
The WMS status of an order can be viewed in SalesPad in a Sales Document User Defined Field (UDF). Download this UDF and import it into your system (Business Object Sales Document).
The WMS Status field will be visible in all the main Sales Documents forms:
To view the WMS Status in Sales Monitor, create a custom stored procedure called spcpSalesMonitor (based off of the stored procedure sppSalesMonitor in your company database), and add the field xWMS_Status and the left join (RBI13000) as shown:
-- Beginning of your current stored procedure ,[xWMS_Status] = CASE rblock.RBI_Release_Status WHEN 1 THEN 'AVAILABLE' WHEN 2 THEN 'RELEASED' WHEN 3 THEN 'ACKNOWLEDGED' WHEN 4 THEN 'PROCESSING' WHEN 5 THEN 'SHIPPED' ELSE 'NOT RECEIVED' END FROM SOP10100 AS sh(NOLOCK) LEFT JOIN RBI13000 AS rblock ON sh.SOPNUMBE = rblock.RBI_Order_Number AND sh.SOPTYPE = rblock.DOCTYPE -- End of your current stored procedure
Also, change the following line
,[Warehouse_Code] = LOCNCODE
to
,[Warehouse_Code] = sh.LOCNCODE
Lock
The WMS Status can also be used to lock a sales document when the order is being processed by the warehouse. When the WMS Status is PROCESSING, the document will be read-only, therefore CSR cannot modify it.
Note: With SalesPad versions 4.4.1.4 and above, there is a Setting called Sales Document Lock Release Statuses that allows administrators to select the release statuses that will lock the sales document:
To enable the WMS lock copy and paste the following script into Security Editor > Sales Document Entry > On Load Script:
if (!sd.IsNew && !sd.val_ReadOnly) sd.val_ReadOnly = OpCoreRelease.IsWMSLocked(sd); // Make the doc read-only if it's "locked" by the plant return "";
Note: WMS Lock requires the extended module Blue Moon Operations Core available in SalesPad 4.4.0.1 or newer.
Sales Document Fulfillment Options
Fulfillment Options is a sales document plugin that allows users to view and edit options such as priority, payment type, cancel and do not ship before data, as well as any additional instructions for the plant.
Setup
Enable plugin Blue Moon Operations Core Fulfillment Options in Security Editor for the appropriate user groups. The plugin has the following setting:
Read Only - If set to False, it allows users to make changes and save them; defaults to False
Usage
Plugin Op Core Fulfillment Options is available in the sales document header under Actions menu.
In the window that pops up, make the appropriate changes and click OK to save.
Note: Fulfillment Options is available in the extended module Blue Moon Operations Core in SalesPad 4.4.0.1 or newer.