PreReceiptAllocation [RECEIP009]

DDATASCOPE.SDK.BusinessObjects.InboundReceipts.Receipt.PreReceiptAllocation()

DATASCOPE PREMIUM WMS has a core application called PreReceipt, which allows the receiving of Purchase Orders, LCTs (Landed Cost Tracking), and GITs (Goods In Transit) that were already processed in SYSPRO.

The process involves two steps:

  1. Capturing and allocating the stock using the HTML5 PreReceipt mobile screen.

  2. Validating the receipt into SYSPRO and DATASCOPE PREMIUM WMS using the PC screen Receipt Purchase Order, Receipt LCT, and Receipt GIT.

The Pre-Receipt Allocation business object can be used to replicate the HTML5 PreReceipt mobile screen and allow data to be posted into the system for review on the PC screens Receipt Purchase Order, Receipt LCT, and Receipt GIT.

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 (#8395) - A new Business Object which will match the existing logic of the HTML5 PreReceipt screen.

Description

The Pre-Receipt Allocation business object can be used to replicate the HTML5 PreReceipt mobile screen and allow data to be posted into the system for review on the PC screens Receipt Purchase Order, Receipt LCT, and Receipt GIT.

The business object can be beneficial, specifically for LCTs, as the container information for these receipts is typically available in an electronic format. The business object will assist the customer with importing the receipt information automatically, without the need to capture and allocate the receipt using the HTML5 PreReceipt mobile screen.

This business object will match the existing HTML5 PreReceipt module logic.

Designation

Code

RECEIP009

Name

PreReceiptAllocation

Module

InboundReceipt

Functional Area

Receipts

Name Space/Class

DATASCOPE.SDK.BusinessObjects.InboundReceipts.Receipt.PreReceiptAllocation()

Release Date

1 Aug 2024

Release Version

v24.2

Prerequisites

Inbound Receipt

SYSPRO Objects

None

Parameters

The Business Object properties are broken down into two parts:

  1. The transaction-level properties

  2. Repeated allocation-level properties

Business Object Post Properties

  • ReceiptType - This field indicates the type of import, that being Purchase Order, Landed Cost Tracking or Goods in Transit.

  • Reference - This field is the reference for the applicable ReceiptType provided as follows:

o   Purchase Order - Reference will be the Purchase Order Number

o   Landed Cost Tracking - Reference will be the Shipment Reference Number

o   Goods In Transit - Reference will be the Goods in Transit Reference Number

  • DetailLines (repeated n times)

o   StockCode - SYSPRO StockCode/SKU to be allocated.

o   LineNumber - Line Number applicable to the Purchase Order or Landed Cost Tracking line in SYSPRO

o   LotNumber - Lot number for the applicable StockCode, if traceable

o   LotExpiryDate - Expiry date for the supplied lot if traceable and using expiries.

o   Quantity - Quantity to be allocated for the specific DetailLine.

o   TrackID - Tracking ID to allocate the above details to.

As per the Designation this object is available under the following location within the DATASCOPE WMS SDK Project. DATASCOPE.SDK.BusinessObjects.InboundReceipts.Receipt.

Functional Area class will be called Receipt.cs

As several properties are required for this business object, it is placed at the top of the class in a section called Properties and prefixed with a p, as shown below.

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

The following properties are applicable:

Main Object Definitions

Name

Description

Mandatory field

Data Type

Default Value

 

Name

Description

Mandatory field

Data Type

Default Value

 

pReceiptType

Can only be set to PO/LCT/GIT indicating the Type for the import corresponding to Purchase Order (PO), Landed Cost Tracking (LCT), or Goods in Transit (GIT)

If not supplied or outside of the eNum types, it will cause an Error

YES

eNum

<blank>

pReceiptRef

It should be populated with the applicable purchase order number, supplier reference, or GRT reference number based on the respective PO/LCT/GIT supplied in the pReceiptType field.

 It must be a valid reference in SYSPRO; an error will be generated if it is not found.

YES

String

<blank>

pPrinterName

Name of the Printer on the WMS Server to print to

NO

String

<blank>

pDetailLines

This list of DetailLine types must contain at least one item. - PreReceiptAllocation [RECEIP009] | pDetailLines SubType Object Definitions

 

 

 

pDetailLines SubType Object Definitions

Name

Description

Mandatory field

Data Type

Default Value

Name

Description

Mandatory field

Data Type

Default Value

pStockCode

SYSPRO Stock Code/SKU for the specific detail line to be allocated.

 Must be a valid Stock Code in InvMaster in SYSPRO.

 If not found, an Error will be generated.

YES

String

<blank>

pLineNumber

This field is dependent on the pReceiptType. For PO and LCT, this will be the Purchase Order Line Number. For GIT, this will be the GIT Line Number.

If negative or not set, an Error will be generated.

YES

Integer

0

pLotNumber

Lot Number applicable for the pStockCode. Only required if the pStockCode is flagged at Lot Traceable in SYSPRO.

NO

String

Required if pStockCode is Lot traceable, otherwise <blank>

pLotExpiryDate

Expiry Date for the pLotNumber if the pStockCode is Lot Traceable and using Expiry Dates in SYSPRO.

 If pLotNumber is Traceable and not supplied, No Expiry will be posted to SYSPRO and reflect at 0000/00/00

NO

String

<blank>

pQuantity

Quantity to be allocated for this pStockCode detail line item.

 If a negative number is supplied, an Error will be generated.

YES

Decimal

0

pTrackID

Tracking ID to allocate the detail line to.

 There are three options for this, defined by the pTrackIDAllocation property.

 EXISTING - To supply an existing Track ID, which must be in a CREATED status.

 SUPPLY - To supply a number to be used as the Track ID. This must not already exist and be outside the existing Track ID range.

 GROUP—Supply a number to group imports. Core WMS will generate a Unique number corresponding to the supplied number, allowing auto-allocation but still grouping the items.

NO

String

<blank>

pTrackIDAllocation

Valid value corresponding to the pTrackID being supplied.

 Value options are EXISTING/SUPPLY/GROUP

NO

eNum

null

Technical Specification

All business objects under the JobReceipt.cs class (Functional Area) are in the same class. The above Properties will, therefore, 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., pReceiptType.

o   <Mandatory/Options> - This indicates if the parameter is mandatory or optional.

o   <Code> - This is the code of the business object, e.g., RECEIP008.

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.

TrackID Creation Options

The following will demonstrate the three options for Track ID allocations when using this Business Object. As mentioned, there are three options: EXISTING, SUPPLY, and GROUP.

EXISTING

This option is the simplest and supplies an existing TrackID. The supplied TrackID must have a CREATED status. The disadvantage of using this is there needs to be some process to pre-create these TrackIDs before calling the PreReceiptAllocate Business Object.

SUPPLY

This option allows a Unique number to be supplied to the PreReceiptAllocation Business Object. This is more flexible as, in some cases, suppliers pre-allocate numbers, and these can be re-used on the DATASCOPE WMS side.

The PreReceiptAllocation Business Object will automatically create the TrackID when it is posted.

A warning is associated with this: first, the number must be Unique and not already exist in DATASCOPE WMS. Second, care must be taken that the existing automated DATASCOPE WMS numbering will never overlap with the imported numbers when using this Business Object.

GROUP

This option is probably the most common one to use. It allows for a number to be supplied in the TrackID field. DATASCOPE WMS will automatically create a TrackID on Post corresponding to the number.

This allows, for example, 5 detail lines to have the arbitrary number, say 1. When DATASCOPE WMS creates the TrackID, for example, 4432, all 5 detail lines will be allocated to TrackID 4432. This logic ONLY applies within a single post with multiple items. So, 2 separate posts with a number 1 will produce 2 separate Track IDs.

This allows the integration to put specific stock onto a specific TrackID but still lets DATASCOPE WMS allocate the next available TrackID number.

As with the SUPPLY option, the PreReceiptAllocation Business Object will automatically create the TrackID when it is posted.

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-20240508-094029.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-20240508-094050.png

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