InventoryBackflush [WIP019]
DATASCOPE.SDK.BusinessObjects.WorkInProgress.JobReceipt.InventoryBackflush()
The DATASCOPE PREMIUM WMS Inventory Backflush module(s), both on the PC screen and HTML5 interface, Backflush stock based on the BOM (Bill of Materials), creating inventory (and TrackIDs) for the parent of that particular BOM. In some cases, the required volumes of TrackIDs can be enormous as each BOM contains multiple stock codes.
To locate the modules, browse the Main Menu / Work in Progress / WIP Receipt / Inventory Backflush from the PC screen. Search for Inventory Backflush from the HTML5 interface.
This Business Object will replicate the functions of the Inventory Backflush screen on the PC and HTML5.
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 24R2 (#8305) - New Business Object developed.
Description
The InventoryBackflush Business Object can replicate the Inventory Backflush module(s) for both the PC screen and HTML5 interface. It allows the backflush to be triggered in the background, create enormous amounts of TrackIDs, and print them to a printer using the native printer language.
Code | WIP019 |
---|---|
Name | InventoryBackflush |
Module | WorkInProgress |
Functional Area | JobReceipt |
Name Space/Class | DATASCOPE.SDK.BusinessObjects.WorkInProgress.JobReceipt.InventoryBackflush() |
Release Date | 1 Aug 2024 |
Release Version | v24.2 |
Prerequisites | None |
---|---|
SYSPRO Objects | SYSPRO Business Objects |
Parameters
The Business Object allows the following logic, which matches the existing Inventory Backflush module(s) on the PC screen and HTML5 interface.
Business Object Post Properties
Warehouse to Backflush Into—The underlying SYSPRO Business Object requires this to determine the warehouse where the new stock is created.
Warehouse to Backflush From—The underlying SYSPRO Business Object requires this to determine where the component parts stock is consumed.
Parent Stock Code to be Backflushed - The parent stock will be created within the warehouse defined in the Warehouse to Backflush Into field.
Quantity being Backflushed.
To Tracking ID—This is an optional field that can be left blank. When supplied, the parent Stock is created on this TrackID; when left blank, a new TrackID will be created by the post of the Business Object.
Business Object Configuration Properties
Backflush Level - This is how deep the BOM is traversed when posting the Backflush and determines, for example, if there is no stock 1 level under the parent, the next level can be backflushed to create stock at level 1, etc.
Issue from Component Warehouse - This will override the Warehouse to Backflush From property in the above business object.
Replace Reference—This option allows for a custom Reference to be changed when posting, which will be reflected in SYSPRO on the Inventory Transaction. By default, this will be WMS_BKFLH, or it will reflect the 7 most significant characters of the TrackID field.
Printer Name - This is the printer the TrackID label will print to.
The following properties are applicable:
Main object definitions
Name | Description | Mandatory field | Data Type | Default Value |
---|---|---|---|---|
pWarehouseBFIntro | New parameter: This will match the field on the front-end screens BF Warehouse Into. Validation should be added that this warehouse exists in SYSPRO. | Yes | string | <blank> |
PWarehouseBFFrom | New parameter: This will match the field on the front end From Warehouse. Validation should be added that this warehouse exists in SYSPRO. | Yes | string | <blank> |
pStockCode | The existing parameter will match the field located on the front end, Stock Code. Validation should be added that this stock code exists in SYSPRO. | Yes | string | <blank> |
pQuantity | The existing parameter will match the field located on the front end, Quantity. Validation should be added that this is a non-negative value. | Yes | decimal | 0 |
pTrackingID | The existing parameter will match the field located on the front end, TrackID. This is an optional parameter, and no validation is required. | No | string | <blank> |
pBackflushLevel | This is an optional configuration property and can be left blank. If left blank, the existing Warehouse Setting, BACKFLUSHLEVEL, should be used under the System Name INVENTORY_BACKFLUSH. This is based on the To Warehouse. | No | string | <blank> |
pIssueFromComponentWarehouse | This is an optional configuration property and can be left blank. If left blank, the existing Warehouse Setting, ISSUE_FROM_COMPONENT_WAREHOUSE, should be used under the INVENTORY_BACKFLUSH System Name. This is based on the To Warehouse. | No | string | <blank> |
pReplaceReference | This is an optional configuration property and can be left blank. If left blank, the existing System setting should be used, REPLACE_REFERENCE under GENERAL System Name. | No | string | <default> |
pPrinterName | Printer name to print the pallet label to | No | string | <blank> |
Validations
The following validations is required:
The From and Into Warehouses are valid SYSPRO warehouses.
The Stock Code is a valid SYSPRO Stock Code.
If a Backflushing level is not provided, the existing system setting will be used.
If Issue from Component Warehouse is not provided, then existing System Setting will be used.
The To TrackID must be a valid DATASCOPE WMS TrackID, and not in a status of ONHOLD or INACTIVE.
Technical Details
The Functional Area is defined within the JobReceipt.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 JobReceipt.cs file, a method was created, InventoryBackflush. This is the entry point definition for the Business Object.
public Response InventoryBackflush(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.
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 several 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 JobReceipt.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.
<Description1> - This is a short description of the Object.
o  <Parameter1> - This is the parameter's name, e.g., pJobNumber.
o  <Mandatory/Options> - This indicates if the parameter is mandatory or optional.
o  <Code> - This is the code of the business object, e.g., WIP019.
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.
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.