FS 344782 DECIMAL Decimal Quantities in EPOD and PORTAL

From Calidus HUB





Aptean Logo.png







OBS Logistics Ltd

Decimal Quantities in EPOD and PORTAL


CALIDUS ePOD

4th August 2017 - 0.3
Reference: FS 344782 DECIMAL












































Functional Overview

Client Requirement

Decimal quantities


Solution overview

Amend existing fields to be decimal quantities.


Scope

This change will be applied to EPOD system version 4.X and PORTAL system version 8.X.


Set-up

Pre-requisites

Menu Structure

Data

Functional Description

The changes will be phased, to achieve EPOD functionality before PORTAL TTM functionality, to speed implementation for the current customer base.


Phase 1 Development

Database and Data Access Layer

The following fields will be updated to the Product table EPOD_PRODUCT:

  • EPL_PRODUCT_QTY_ORDERED - float
  • EPL_PRODUCT_QTY_PLANNED - float
  • EPL_PRODUCT_QTY_ACTUAL - float

All stored procedures relating to these fields in the database must be modified.

The Import XSD will be modified to change these fields to xsd:float type.

The Export XSD will be modified to change these fields to xsd:float type.


Webservices

When importing data (through the Webservice import of the XML format or through flat-file transfer of an XML file), these tags may be provided. In this case, the values should be a valid decimal value. Note Note: This should be validated by the XSD before processing, so no additional code should be required.


When processing JOB_UPDATES from the device (MessageProcess.ProcessJobUpdate), EPL_PRODUCT_QTY_ACTUAL and EPL_PRODUCT_QTY_PLANNED must be cast to a float, not an int. Note that this is in several places in the code.


When receiving jobs through the XML interface (EPOD_DATASERVICE.ProcessProducts), the value in EPL_PRODUCT_QTY_PLANNED and EPL_PRODUCT_QTY_ORDERED must be set by parsing this as a float, not an int.


TTM Interface

The TTM interface must be modified to add PRODUCT_TYPE and UOM, for product TTM exports.

  • PRODUCT_TYPE - set to EPL_ITEM_TYPE, added after DETAIL_TYPE
  • STOCK_UOM - set to EPL_UNIT_TYPE, trimmed to 20 characters maximum, added after all other tags currently sent.


CSV Auto-Import

The CSV import must set the Product Quantity Planned to a float.

To achieve this, the following changes must be made to EPOD_DATAPROCESS.ProcessOBSUpload:

  • The existing int iProductQtyPlanned must be retyped as a float and refactored to fltProductQtyPlanned.
  • The setting of this variable should be through parsing via float, not Int32.


Admin Products/Containers Screen

The existing screen (product_containers.aspx) must be changed to allow entry of decimal quantities in:

  • EPL_PRODUCT_QTY_ORDERED - float
  • EPL_PRODUCT_QTY_PLANNED - float
  • EPL_PRODUCT_QTY_ACTUAL - float

All instances where these fields are parsed as int or Int32 should be parsed as float.


Admin CSV Upload Screen

upload.aspx.cs should be changed to parse EPL_PRODUCT_QTY_PLANNED as a float.

  • ProcessLomasUpload will be changed:
    • The existing int quant must be retyped as a float.
    • The setting of this variable should be through parsing via float, not int.


Device

Create a V4 project for this decimal change.

The following fields will be modified in the Product table EPOD_PRODUCT:

  • EPL_PRODUCT_QTY_PLANNED - float
  • EPL_PRODUCT_QTY_ACTUAL - float


Every instance of pattern "(parseInt)(\(.*?EPL_PRODUCT_QTY_(?:PLANNED|ACTUAL))(,\s*10)*(\))" must have parseInt replaced with parseFloat.

Note Note: parseFloat is always decimal, and therefore requires no radix parameter like parseInt.

Therefore, replace with pattern "parseFloat$2$4"

Note Note: There are currently 33 matches in V3.


Styling should be used to determine whether decimal quantities are allowed for the implementation, as an option on the ChangeQuantity_txtQuantity id, or as part of the systemConfig property.

In the Exception screen (Cancellation.js), where the actual quantity is entered, this needs to allow decimal quantity entry, if configured for this in the style. If not, decimal quantity entry should not be allowed to be set, regardless of the original planned quantity.

When in Packs/Units form (i.e. where there is a EPL_PRODUCT_QTY_CASE value and the system is configured for this), the values should remain validated as integer values.


Phase 2 Development

PORTAL

The database table SO_DETAILS will be modified for the following fields:

  • QTY_TO_DELIVER - decimal(16,6)
  • QTY_ORDERED - decimal(16,6)
  • QTY_PACKED - decimal(16,6)
  • QTY_DELIVERED - decimal(16,6)


The database table SO_REASONS will be modified for the following fields:

  • RC_QTY - decimal(16,6)


The standard import structure (TripOrder.xsd) will be modified as follows:

  • TO_DELIVER - changed to type xs:decimal(16,6)
  • ORDERED - changed to type xs:decimal(16,6)
  • PACKED - changed to type xs:decimal(16,6)
  • DELIVERED - changed to type xs:decimal(16,6).


The poller will be modified for the following:

  • Remove truncation of decimal quantities.


The webservice export process will be modified to round the values in the following SO_DETAILS fields before exporting:

  • QTY_TO_DELIVER
  • QTY_ORDERED
  • QTY_PACKED
  • QTY_DELIVERED

Note Note: This process will not be changed to export the UOM field.


3 new system configuration flags will be added to the Portal Configuration screen, "TTM" module, "QTY CFG" config item, to control whether the system will truncate these values, or format them with decimal places:

  • "S DPs" - number of decimal places for S (stock) lines
  • "D DPs" - number of decimal places for D (detail) lines
  • "T DPs" - number of decimal places for Total (summary) lines


The following standard TTM screens will be changed for the following purposes:

  • Sum quantities as decimals
  • display quantities as decimals if configured to do so by the configuration flags specified above.
  • Add STOCK_UOM where applicable

7 screens will be affected:

  • Trip / Order Enquiry (+popup)
  • Trip / Order Enquiry - Detail (events/items/reasons)
  • Arrivals / Departures
  • Order Arrivals (+ popup)
  • Order Visibility (+popup)
  • Order Visibility - Order Detail
  • Order Visibility - Route


Appendix A: TEST PLAN

Test Script / Scenario ReferenceDecimal Quantities in EPOD and PORTALCall Number(s): 344782 DECIMAL
Test Script / Scenario DescriptionTesting decimal quantity entry and display in EPOD and TTMPASS / ISSUES / FAIL
Menu AccessN/A 
Pre-requisitesA v4 EPOD system and a V8 TTM system.Tested By:
 
Test ObjectiveTo test that: quantities can be imported as decimal quantities; they are displayed in Admin correctly and can be modified; the device processes the quantities correctly and; TTM displays decimal quantities as configured.Date:
 


Step Action Result Remarks P/F
1 EPOD      
  Ensure that the EPOD PDA style is configured for allowing decimal quantities. Configure the system to the Marshalls Premier Mortars Configurable POD format.      
1.01 Process a job on a load through Webservices with decimal quantities in Ordered and Planned Product Quantities. Ensure that there is also an Item Type and Unit Type value. Ensure that one product line is integer quantities with a case quantity (pack size) set. Check in Admin. The products show the decimal quantities provided. The Item and Unit types are set.    
1.02 Process a job on a load through the OBS CSV interface with decimal Planned Product quantity. Check in Admin. The products show the decimal quantities provided.    
1.03 Process a job on a load through the Admin CSV upload in OBS format with decimal Planned Product quantity. Check in Admin. The products show the decimal quantities provided.    
1.04 Amend the job in Admin to change the Ordered and Planned Product Quantities to different decimal quantities. Save and re-display the changes. The Admin screen allows the quantities to be entered as decimals. When redisplayed, the quantities are displayed correctly.    
1.05 On the EPOD mobile device, start the first job. Check the products list. The decimal quantities are displayed correctly for the products with them. The product with a pack size displays correctly.    
1.06 Show Info of a decimal product. The quantity shows as decimal.    
1.07 Cancel a decimal product. The product is cancelled and removed from the list.    
1.08 Change the quantity of a decimal product to another decimal value. The value is allowed to be entered as a decimal quantity.    
1.09 Change the quantity of a product with a pack size. The quantities are displayed as Pack and Unit. Only integer values are allowed to be entered.    
1.10 Take the job through to completion on an EPOD device. Check the job on Admin. The Admin screen shows the actual product quantity as entered on the device.    
1.11 Run the POD report. The quantities are displayed correctly.    
1.12 Change the style to a style that does not support decimal quantities. On the EPOD mobile device, start the first job. Check the products list. The decimal quantities are displayed.    
1.13 Change the quantity of a decimal product to another decimal value. The value is not allowed to be entered as a decimal quantity.    


Step Action Result Remarks P/F
2 TTM      
  Ensure a TTM interface is configured. Ensure TTM is configured to show no decimal positions.      
2.01 Check all the modified TTM screens. The orders are present, showing the quantities without decimal positions on summaries and details (stock and detail). The UOM and the product type are displayed where appropriate.    
2.02 Change the TTM configuration to show 2dp on summary lines, 3dp on stock lines and 1dp on details lines. Check all the modified TTM screens. The orders are present, showing the quantities with decimal positions as configured on summaries and details (stock and detail).    
2.03 Take the job through to completion on an EPOD device, cancelling a container and a product and changing the quantity of one product. At each stage (In Progress, Arrived, Complete), check the TTM screens. The orders are present, showing the quantities without decimal positions on summaries and details (stock and detail). The UOM is displayed. The product type is displayed. Reason codes display the decimal quantity.    


Appendix B: Quote & Document References

Cost Details
Activity Estimate
No. of Days
No. of Days Rate per Day (£) Cost (£ Exc. VAT)
Requirements 0.00 0.00 0 £0.00
Change Request Evaluation 0.00 0.00 0 £0.00
Functional Specification 1.50 1.00 0 £0.00
Technical Specification 0.00 0.00 0 £0.00
Development 9.25 9.25 0 £0.00
Testing and Release 1.50 1.50 0 £0.00
Implementation 1.50 1.50 0 £0.00
Project Management 0.00 0.00 0 £0.00
 
TOTAL 13.75 13.25   £0.00
Estimate excludes training, release to live and go live support.

B.1 References

Ref NoDocument Title & IDVersionDate
1   


B.2 Glossary

Term Definition
EPOD Electronic Proof of Delivery. The OBS EPOD system is CALIDUS ePOD.
CALIDUS eSERV The OBS mobile system to complete Service functionality in the field. This is part of the CALIDUS ePOD system.
PDA The mobile device on which the C-ePOD system will run in the field. This can be a Phone, EDA or industrial PDA, running Android.
DAL Data Access Layer. A mechanism for accessing data by the system that is removed from the application, allowing for simplified access and providing protection to the data, as only approved DAL methods can be used to modify it.
GPS Global Positioning System. A mechanism of retrieving accurate positioning information in the form of Latitude and Longitude (Lat-Long) co-ordinates from a device.
GPRS, 3G, HSDPA, Data Service All terms referring to mobile device network connectivity, and the speed at which the device connects to the internet.


B.3 Authorised By


Matt Turner

OBSL Account Manager
_____________________________

Murray Middleton

OBSL Project Manager
_____________________________