FS 313475 PROD Orders on Multiple Trips

From Calidus HUB
Revision as of 17:54, 5 February 2014 by Anw (talk | contribs) (v0.2 - Added extra Import functionality for deleting Loads and variable Site.)





Aptean Logo.png







PROD

PROD Orders on Multiple Trips


CALIDUS ePOD

5th February 2014 - 0.2
Reference: FS 313475












































Functional Overview

Client Requirement

The included functionality to be specified is shown below:

Currently  ePOD does not support a single C-TMS order being delivered across multiple trips – an order/job can only exist on one load. Current job ID/ Job code is not sufficient to support this.


Solution Overview

The problems with orders on multiple trips exist in both CALIDUS TMS' and EPOD's interfaces, as follows:

CALIDUS TMS
  • EPL_JOB_ID is currently set to a repeating value in the interface (from OMS_REF and a Job Type). The interface must be changed to remove this in a configurable fashion, and the following field mapping to take its place:
    • OMS_REF to EPL_JOB_CODE
    • SO_REF to EPL_CUST_REF
CALIDUS ePOD
  • The system currently identifies jobs as duplicates (and therefore requiring an update) by EPL_SITE_ID and EPL_JOB_ID. If EPL_JOB_ID is not provided in the interface (as will now be the case with the CALIDUS TMS interface changes), the system currently uses a combination of EPL_SITE_ID, EPL_JOB_CODE and EPL_JOB_TYPE. This is not appropriate when the order (EPL_JOB_CODE) can exist on multiple loads (trips) at the same time, for example for cross-dock or inter-depot transfers. This will change to be EPL_SITE_ID, EPL_LOAD_ID, EPL_JOB_CODE and EPL_JOB_TYPE and will be added to the generic webservices import process and auto-import process.
  • A unique index will be added to the database to allow this search to be quick. Additionally, large volumes of data will be checked on multiple client sites to ensure that this will not cause issues. If so, this index will still be added but will be made repeating instead.
  • If the job is found this way, the job will be updated. If not, a new job will be created.
  • If a job is removed from a load, the job will have the load removed if this combination of EPL_SITE/EPL_LOAD/EPL_JOB_CODE/EPL_JOB_TYPE does not already exist, wherein it will be deleted instead.
  • Due to the changes in the data being sent to CALIDUS ePOD, it is now no longer appropriate to display EPL_JOB_ID as the main reference for most customers, as this is generally a system-generated field. Instead, CALIDUS ePOD will be modified to allow the selection of several fields as the main identifier displayed on the system, at a Site level. This will allow the selection from the following references: EPL_JOB_ID, EPL_JOB_CODE, EPL_SO_REF, EPL_CUST_REF, EPL_EXT_REF. This change will remain backward-compatible by ensuring the existing values of Y and N map to EPL_JOB_CODE and EPL_JOB_ID respectively.
  • Loads are unique within CALIDUS TMS without Site, and it is capable of dynamically changing the site on a Load. The Import mechanism will allow for this by checking whether a particular Site is configured to allow this kind of change (through a new configuration flag):
    • If configured, add the following processing at the start of the processing:
    • Search for the Load as normal.
    • If not found and the Site is configured to allow this kind of change (through a new configuration flag):
      • Search for the Load with a wild-card (%) in the Site parameter, but with the passed-in Trip ID.
      • If found, and the site is different on the XML to the record, delete this load (and all contained jobs) under the old Site ID.
    • Continue adding the load under the new Site.


Scope

Note Note: This functionality will be developed in the Android application only and will not be available in the Windows Mobile application.
Note Note: CALIDUS TMS functionality is mentioned only by reference in this solution - see elsewhere for specification of the changes to that system.


Set-up

Pre-requisites

  • A working CALIDUS ePOD system.
  • A working CALIDUS TMS system, accessible to the CALIDUS ePOD system.


Menu Structure

None

Data

None

Functional Description

Database/DAL

Table EPOD_SITE requires the following modification:

  • EPL_DISP_JOB_CODE - amended to nvarchar(40), NOT NULL DEFAULT 'N', no specific values.
  • EPL_SYSTEM_LOADS_UNIQUE - nvarchar(1), NOT NULL DEFAULT 'N', VALUES 'Y', 'N'.

Existing packages will be modified to allow the creating, editing and selecting of the flags, including but not limited to:

  • EPOD_SITE_INSERT
  • EPOD_SITE_SELECT
  • EPOD_SITE_SELECT_UPDATED_DATA
  • EPOD_SITE_UPDATE


Table EPOD_JOB requires the following modification:

  • Add a unique index to the table as follows:
    • EPL_SITE_ID
    • EPL_LOAD_ID
    • EPL_JOB_CODE
    • EPL_JOB_TYPE

Note Note: Large volumes of customers' data must be checked on multiple client sites to ensure that this will not cause issues. If this is the case, this index will still be added but will be made repeating instead.


Import Changes

The dataservice webservices (ePOD_DataService.asmx and ePOD_DataService2.asmx) and the AutoImport application will need to change how jobs are imported. The messages affected are:

  • AutoImport and ePOD_DataService:
    • EPOD_XML_IMPORT

The functional changes required are:

  • Add EPL_LOAD ID when checking whether a Job exists without using EPL_JOB_ID. I.e. this becomes EPL_SITE_ID, EPL_LOAD_ID, EPL_JOB_CODE, EPL_JOB_TYPE. Add this to generic webservices import process and auto-import process.
  • If the job is found this way, the job will be updated. If not, a new job will be created.
  • If jobs are removed from a load (i.e. when completed processing all the jobs on the XML, there are still Jobs remaining on the Load that were not in the XML), these job will be deleted.
  • Additionally, if a trip is sent through with no jobs, or a deletion notification, the entire Load and Jobs within it shall be deleted as well. Note Note: The existing method PDA_LOAD.Delete() does not delete the jobs - it specifically orphans them, so the deletion of jobs should be issued first, followed by the deletion of the load.

Loads are unique within CALIDUS TMS without Site, and it is capable of dynamically changing the Site on a Load. The Import mechanism will allow for this by checking whether a particular Site is configured to allow this kind of change (through the new EPL_SYSTEM_LOADS_UNIQUE flag being set to 'Y')

  • If configured, add the following processing at the start of the processing:
  • Search for the Load as normal.
  • If not found and the Site is configured to allow this kind of change (through a new configuration flag):
    • Search for the Load with a wild-card (%) in the Site parameter, but with the passed-in Trip ID.
    • If found, and the site is different on the XML to the record, delete this load (and all contained jobs) under the old Site ID.
  • Continue adding the load under the new Site.


Admin Changes

The Site screen (site_header.aspx) will be modified as follows when editing or adding new data:

  • PDA tab:
    • The existing label "Display Job Code" will become "Display Job As"
    • The check box will become a drop-down list with the following values:
      • "EPL_JOB_ID", description "Job ID"
      • "EPL_JOB_CODE", description "Job Code/Order No"
      • "EPL_SO_NUMBER", description "S/O No"
      • "EPL_CUST_REF", description "Customer's Ref"
      • "EPL_EXT_REF", description "External System Ref"
    • Existing data will be translated as follows, when saving:
      • Value "N" becomes "EPL_JOB_ID"
      • Value "Y" becomes "EPL_JOB_CODE"
    • Note Note: As this element is becoming a drop-down list rather than a check-box entry, it must be repositioned in the screen with the other drop-down-lists. Ensure as part of this change that the existing check-boxes still line up and are displayed neatly.
  • Admin tab:
    • A new flag will be added to update the new flag EPL_SYSTEM_LOADS_UNIQUE, labelled as "Loads Unique Within System". This will be added as a check-box, where checked sets the value to 'Y' when saved, and unchecked sets the value to 'N'.

FS 313475 1.PNG
Site Admin screen


PDA Changes

PDA DAL/Database Changes

The following changes will be made to the EPOD_SITE table:

  • EPL_DISP_JOB_CODE – This will become a 40 character field. The default value will now be 'Y'.

This new field should be added to every procedure as part of the PDA_SITE DAL object.


The following fields will be added to the EPOD_JOB table:

  • EPL_SO_NUMBER - This is a 40 character field. The default value is "" (a null string).
  • EPL_CUST_REF - This is a 30 character field. The default value is "" (a null string).
  • EPL_EXT_REF - This is a 30 character field. The default value is "" (a null string).

These new fields should be added to every procedure as part of the PDA_SITE DAL object.

The existing functionality to set the value of the property EPL_DISP_JOB_ID in PDA_JOB will be modified to use the name of the field specified in this field, with the following exceptions:

  • Value "N" becomes "EPL_JOB_ID"
  • Value "Y" becomes "EPL_JOB_CODE"

Note Note: In the event that the chosen data field has no data in it (i.e. is blank, a null string), then the system should default to the following fields, in this order, if they are not blank themselves:

  • EPL_JOB_CODE
  • EPL_CUST_REF
  • EPL_SO_NUMBER
  • EPL_EXT_REF


Appendix A: 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 0.00 0.50 0 £0.00
Technical Specification 0.00 0.00 0 £0.00
Development 0.00 5.00 0 £0.00
Testing and Release 0.00 0.50 0 £0.00
Implementation 0.00 0.25 0 £0.00
Project Management First argument to "number_format" must be a number. First argument to "number_format" must be a number. 0 £First argument to "number_format" must be a number.
 
TOTAL First argument to "number_format" must be a number. First argument to "number_format" must be a number.   £First argument to "number_format" must be a number.
Estimate excludes training, release to live and go live support.

A.1 References

Ref NoDocument Title & IDVersionDate
1


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


A.3 Authorised By


Matt Tipping

Project Manager
_____________________________

____________________(PRINT)

Client Representative
_____________________________