Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

DATASCOPE.SDK.BusinessObjects.WorkInProgress.JobReceipt.BackflushInventoryBackflush()

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 required can be enormous as each BOM contains multiple stock codes.

To locate the modules, browse the Main Menu / Work in Progress / WIP Receipt / Inventory Backflushfrom 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

Info

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

Panel
panelIconId1f3a5
panelIcon:movie_camera:
panelIconText🎥
bgColor#DEEBFF

None

005_premium_BUSINESS_OBJECTS_INVENTORY_BACKFLUSH_product_userguide_UG - v0.1.pdf

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

BackflushInventoryBackflush

Module

WorkInProgress

Functional Area

JobReceipt

Name Space/Class

DATASCOPE.SDK.BusinessObjects.WorkInProgress.JobReceipt.BackflushInventoryBackflush()

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.

  • Bin Printer Name - This will automatically be determined when posting and not an option to changeis the printer the TrackID label will print to.

The following properties are applicable:

Main object definitions

Name

Description

Mandatory field

Data Type

Default Value

pWarehouseBFIntopWarehouseBFIntro

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.

YESYes

 string 

<blank>

pWarehouseBFFromPWarehouseBFFrom

New parameter: This will match the field on the front end From Warehouse. Validation should be added that this warehouse exists in SYSPRO.

YESYes

 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.

OptionalNo

 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.

OptionalNo

 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.

OptionalNo

 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.

Optional

 

 .

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.

Code Block
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.

Info

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.

Code Block
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.

Code Block
#region Properties
  /// <summary>
  /// SYSPRO Sales Order Number
  /// </summary>
  public string pSalesOrder { get; set; } = ""; 
Info

Note: Some of these Properties already exist as Properties and are shared across all the Objects within the Functional Area class, JobReceipt.cs.

  • 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.

Code Block
/// <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., 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

image-20240509-081515.png

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.

image-20240509-081526.pngImage Removedimage-20240823-120140.pngImage Added

o   Now you are ready to start testing the Business Object.