287836
DHL C-TMS
Map, Implement and UAT Support of Microlise
FUNCTIONAL SPECIFICATION - 10.6
- 2.0
Reference: FS O287836 TH-8FVJRC
Client Requirement
Change Request Summary:
Mapping, implementation and UAT support of Microlise. Include capture of temperature measure at stop / order and make available as a display in C-TMS debrief.
Change Request Details:
Mapping, implementation and UAT support of Microlise. Include capture of temperature measure at stop / order and make available as a display in C-TMS debrief.
Benefits identified as a result of the change:
Migration component.
Solution
With reference to the Webex conference call Friday 3rd June, OBSL have recommended the following solution relating to integration between C-TMS and Microlise for the Industrial STL operation.
STL operate Microlise MDT (hand held terminals) for the driver radial deliveries and collections from Coventry and from Out-bases. The driver uses the terminal to confirm loading and unloading of the vehicle at each location order by order. This covers delivery confirmation of empty sample media to sites and collections of samples from sites, usually as bottles in boxes. There is a trunking operation although Microlise is not used on these transport journeys.
It will be necessary to present consolidated / merged delivery and collection stops planned in C-TMS to one site visit in Microlise. C-TMS currently plans separate stops for DL (delivery) and PK (pick-up) activity. The experience learned from the BGSM implementation will be re-used for STL in this regard. Note that BGSM also consolidate all orders at a stop into a single Microlise consignment and so all cages delivered are seen as one list of consignment details. STL want to keep the identity and visibility of each customer order and display them as such in the MDT dialogue for the driver.
Because the BGSM mapping cannot be re-used ‘as is’ and because STL will be implemented on the same Industrial C-TMS platform, discrete EDI flows will need to be implemented for STL. This will be controlled by implementing system parameters controlled at cost centre level in C-TMS for the ftp destination and authentication credentials for the Link ftp server.
Additional functionality and capability of the interface has been requested to allow driver tasks recorded in Microlise, specifically Temperature readings, to be interfaced into C-TMS, and made available for query in C-TMS debrief. The temperature readings will be included as a data column in the CSV data export function (see RIO TH-8FVJUJ for details).
OBSL have recommended that DHL Link utilise the Healthcare (Project Tempest) mapping documents as a base start point and have issued suggested changes to accommodate the additional business requirements of stop consolidation and including tasks for temperature capture. Changes to support adding stops during execution developed for Auto Alliance will also be included in this implementation.
Trips to Microlise (journeyScheduleImport)
Once trips are planned and resourced, the C-TMS trip status is updated to ACCEPTED and this triggers the trip message (the electronic manifest) over to Microlise via DHL Link.
DHL Link will transform the OBSL XML trip format into Microlise journeyScheduleImport.
The trip message contains trip header, stop details, order and order line information for planned loading and unloading activity for deliveries and collections.
Key points of the mapping is to consolidate/merge DL and PK stops on the same trip and same locations, include special instructions for the driver from orders and provide the original STL order number (six digits currently) in orderRef.
POD & POC (podPoc)
As the radial delivery and collection rounds are executed, as the driver completes activity for a site, a podPoc message is created by Microlise. The podPoc message is transformed into the OBSL trip order DEL message and uploaded into C-TMS. The upload captures stop level debrief information (actual arrival and departure) and order level debrief information (actual qty delivered or collected) and reason codes (clause codes in Microlise).
The podPoc message from Microlise from their 2.10 version now contains Task information at sites. The task information will be uploaded into C-TMS.
Trip Summary (journeySummary)
On completion of the trip in Microlise a final journeySummary message is created. This is transformed by DHL Link into the OBSL trip order SUM message and the data uploaded into C-TMS. The journeySummary provides trip level debrief information (ODO start and end and distance, fuel drawn), a repeat of the stop level debrief from PodPoc (actual arrival and departure from site) and includes task information for the trip.
Developments
The following development is required for C-TMS to support the implementation:
Modify creation of the TripOrder outbound for journeySchedule to set stop and order fields to allow stop consolidation/merge for the same location.
Modify DEL and SUM inbound messages to update consolidated stops in interface back into original C-TMS DL and PK stops for actual arrival and departure.
Modify the TripOrder XSD to allow task information to be uploaded into C-TMS at trip and stop level. (Need to establish whether tasks will be provided at both levels by Microlise OR at one or other depending on the type of task. When considering temperature, these should be provided at site / stop level. Currently they are provided at trip level with reference to the 2.7 version installed in STL against Ethos). This means tasks will be expected and processed from podPoc and from journeySummary – to be confirmed. Presume at stop level not trip or order level but example file requested The intention is to upload all task information provided at Microlise journey and at site level and store in C-TMS against trips and stops respectively. The assumption is that Temperature tasks will be provided from PodPoc from each site.
Allow query tab in C-TMS debrief at trip and stop level to view tasks. Note that the intention is to upload and display all tasks provided by Microlise into C-TMS. good
The CSV output, subject of separate RIO TH-8FVJUJ will reference just the temperature task using the taskActivityName tag.
Segregate the STL flow (and BGSM flow) by reference to cost centre value on orders and trips in C-TMS.
Services
The estimate covers consulting (requirements), analysis and specification, development, testing, implementation to DHL test and UAT support.
Assumptions
Microlise will provide Task for temperature reading in PodPoc at site level and will not repeat the same in journeySummary at trip level. Mismatch with above PODPOC stated stop level but here is trip level. As above, the assumption is the temperature task will flow from podPoc (from site in Microlise) to respective stop in C-TMS. We don’t expect that the same temperature tasks will also appear in journeySummary rolled-up across all sites. This needs to be confirmed by Microlise. For completeness, C-TMS will upload all tasks provided at stop and at trip level (additional to temperature which is the important task result for STL).
Trip level task are expected where captured and will be uploaded into C-TMS from journeySummary. Note that although OPS13 tasks are currently configured, the intention is to remove these from The Microlise configuration.
Separate authentication and folders will be configured by ESI Link to separate the STL and BGSM flows.
Microlise will implement a total separate instance for Microlise for each Industrial contract.
Scope
This change will be applied to system version 10.6.0.
Set-up
Pre-requisites
None
Menu Structure
‘Unchanged’
Data
- The new ‘Tasks’ tab page will be authorised for use.
- The new tables will be created.
- The Microlise system parameters will be setup at the ‘SYSTEM’ and ‘COST_CENTRE’ levels.
See Appendix A for the scripts to run.
Functional Description
Version 2.21 of the ‘TripOrder.xsd’ file will be used for this development.
System Parameters
The following system parameters will control the consolidation of stops and orders in the XML flow:
System Parameter | Description |
MIC_CONSOL_STOPS | Consolidate the stops for the Microlise outbound XML flow, if ‘Y’ then the stops will be consolidated. |
MIC_CONSOL_ORDERS | Consolidate the orders for the Microlise outbound XML flow, if ‘Y’ then the orders will be consolidated. |
MIC_USE_STOP_ID | Determines if the stop ID or the stop sequence will be used by Microlise, if 'Y' then the stop ID will be used. |
These system parameters will be setup to run at the system and cost centre levels as may be seen below:
System Parameter | System Level | Cost Centre Level | |
SYSTEM | BG | STL | |
MIC_CONSOL_STOPS | N | Y | Y |
MIC_CONSOL_ORDERS | N | Y | N |
MIC_USE_STOP_ID | N | Y | Y |
The default will be ‘N’ should the system parameter not be set.
C-TMS to Microlise
The trip information that is sent to Microlise when the trip status is updated to ‘ACCEPTED’ will be changed to consolidate the stops for orders at the same location.
Package ‘INT_XML_MIC’ generates the outbound messages from C-TMS to Microlise.
System parameter ‘MIC_CONSOL_STOPS’ will be set to ‘Y’ for the ‘STL’ cost centre and this will control the consolidation of the trip stops.
System parameter ‘MIC_CONSOL_ORDERS’ will be set to ‘N’ for the ‘STL’ cost centre and this will control the consolidation of the orders at the trip stops.
System parameter ‘MIC_USE_STOP_ID’ will be set to ‘Y’ for the ‘STL’ cost centre and this will control the use of the stop ID or stop number.
The ‘PROCESS_XML_OUTBOUND_MIC’ procedure in the ‘INT_XML_MIC’ package will be changed to use the new ‘MIC_CONSOL_ORDERS’ system parameter to consolidate orders, whereas the existing ‘MIC_CONSOL_STOPS’ and MIC_USE_STOP_ID’ will function as at present.
Each of these system parameters will use the setting for the cost centre in preference to the value for the system. The cost centre will be obtained from the first order on the trip and it may be assumed that there will be only one cost centre per trip.
If ‘MIC_CONSOL_ORDERS’ is set to ‘Y’ then the following procedures for the production of the XML tags will be run:
- GEN_ORDER_START
- GEN_ORDER_HEAD_CONSOL
- GEN_ORDER_DET_CONSOL
- GEN_ORDER_END
This will apply to collections and deliveries and will need to be performed for the different processes run depending on the ‘MIC_CONSOL_STOPS’ system parameter (which will be specific to the trip stop data).
If ‘MIC_CONSOL_ORDERS’ is not set to ‘Y’ then the following procedures for the production of the XML tags will be run for the orders at the stops:
- GEN_ORDER_START
- GEN_ORDER_HEAD
- GEN_ORDER_SUB
- GEN_ORDER_DET_STK
- GEN_ORDER_DET_DU
- GEN_ORDER_END
This will apply to collections and deliveries and will need to be performed for the different processes run depending on the ‘MIC_CONSOL_STOPS’ system parameter (which will be specific to the trip stop data and apply if the next stop on the trip is at the same location, e.g. to deliver and then collect at the same location).
Microlise to C-TMS
The information that is returned at POD from Microlise in the ‘DEL’ and ‘SUM’ file types will be changed so that the actual arrival and departure times are updated on the consolidated stops.
The consolidated stops may be identified by the activity of ‘PK’ or ‘DL’ at the stop number provided and checking for the activity at the stop number itself and if necessary at the next stop number should the location of the stops be the same and system parameters support consolidated stops (i.e. ‘MIC_CONSOL_STOPS’ = ‘ Y’).
Task Information
The task information will be received in a new section of version 2.21 of the ‘TripOrder’ XML file for a trip and the stop information with the tags shown in the diagrams below:
Item | Type |
TASK_NAME | VARCHAR2(50) |
TASK_START_DATE | DATETIME |
TASK_END_DATE | DATETIME |
TASK_SIGNATURE | VARCHAR2(200) |
TASK_ACTIVITY_NAME | VARCHAR2(50) |
TASK_VALUE | VARCHAR2(2000) |
Trip Task:
These values will be stored on a new database table called ‘SCH_TRIP_TASK’ for the trip:
Item | Type |
INT_XML_SEQ | NUMBER |
FILE_NAME | VARCHAR2(50) |
RECORD_STATUS | VARCHAR2(20) |
EXTERNAL_SYSTEM | VARCHAR2(30) |
EVENT_DATE | DATE |
TRIP_ID | VARCHAR2(12) |
TASK_NAME | VARCHAR2(50) |
TASK_START_DATE | DATETIME |
TASK_END_DATE | DATETIME |
TASK_SIGNATURE | VARCHAR2(200) |
TASK_ACTIVITY_NAME | VARCHAR2(50) |
TASK_VALUE | VARCHAR2(2000) |
CREATED_DATE | DATE |
CREATED_BY | VARCHAR2(40) |
VALIDATION_ERROR | VARCHAR2(2000) |
Stop Task:
These values will be stored on a new database table called ‘SCH_TRIP_STOP_TASK’ for the stop number:
Item | Type |
INT_XML_SEQ | NUMBER |
FILE_NAME | VARCHAR2(50) |
RECORD_STATUS | VARCHAR2(20) |
EXTERNAL_SYSTEM | VARCHAR2(30) |
EVENT_DATE | DATE |
TRIP_ID | VARCHAR2(12) |
STOP_SEQ | NUMBER(13,5) |
STOP_ID | NUMBER |
TASK_NAME | VARCHAR2(50) |
TASK_START_DATE | DATETIME |
TASK_END_DATE | DATETIME |
TASK_SIGNATURE | VARCHAR2(200) |
TASK_ACTIVITY_NAME | VARCHAR2(50) |
TASK_VALUE | VARCHAR2(2000) |
CREATED_DATE | DATE |
CREATED_BY | VARCHAR2(40) |
VALIDATION_ERROR | VARCHAR2(2000) |
Validation will be performed only to ensure that the dates and times received are valid dates and that the start date is not later than the end date.
Any invalid dates or any exceptions encountered during processing will be stored in the ‘VALIDATION_ERROR’ item.
The stop number will be stored in the ‘STOP_SEQ’ item and the stop ID will be stored in the ‘STOP_ID’ item, the ‘MIC_USE_STOP_ID’ system parameter will determine which of these values will be used but both values may be stored on the table so that both of the values of the system parameter are valid.
A trigger will be created to write the ‘CREATED_DATE’ and ‘CREATED_BY’ items to the new tables for when new records are inserted.
Trip Debrief
A new tab page called ‘Tasks’ will be introduced to the ‘Trip Debrief’ screen to display the trip and stop tasks associated with the trip:
The new tab page will need to be authorised for use by the user group in the ‘Access Groups’ screen:
The ‘Tasks’ tab page will display the task information received from Microlise for the trip and for each stop as described in section 3.3.
The columns in the tab page will be displayed under the following headings in two separate sections (the trip level will be displayed above the multiple trip stop level):
- Task Name
- Task Start Date
- Task End Date
- Task Signature
- Task Activity
- Task Value
- Stop No
- Stop ID
- Task Name
- Task Start Date
- Task End Date
- Task Signature
- Task Activity
- Task Value
All of the columns will be non-editable and the trip stops will appear in the sequence of the stop No.
‘STL Trip and Order Extract’
The ‘STL Trip and Order Extract’ will be changed to populate the ‘Temperature’ item with the value received from Microlise and stored as ‘SCH_TRIP_STOP_TASK.TASK_VALUE’.
This task value will be received for a task activity (should this be ‘taskname’ or ‘activityname’ as there is no such thing as task activity). The field that holds the value “temperature” is called ‘taskname’of ‘Temperature’.
The XML sample above is how tasks are presented in Microlise journeySummary and podPoc. These will be mapped to C-TMS so the taskName value is stored in TASK_NAME on the C-TMS database and activityName is stored in TASK_ACTIVITY_NAME on the C-TMS database.
The ‘STL Trip and Order Extract’ will be coded to look specifically for tasks with TASK_NAME = ‘Temperature’ to report the temperature value from TASK_VALUE hence the comment below. In other words, C-TMS needs the taskName to be specifically the value ‘Temperature’ for the extract to work.
N.B. The task activity name will need to be confirmed by Microlise if ‘Temperature’ will not be used.
The ‘WRITE_STL_TRIP_ORDER_EXTRACT’ function in the ‘DP_CSV2’ package will be changed for this purpose.
Cost Centre Segregation
The functionality will be segregated by cost centre, including STL, by the settings of the system parameters described in section 3.1.
Such segregation will allow different operations on the same database to operate differently.
For example, cost centre ‘ST’ may be created for the ‘STL’ customer to segregate the order processing:
Table Updates Required
The new ‘Tasks’ tab page may be created using the following script:
The new tables may be created using the following script:
The new ‘MIC_CONSOL_ORDERS’ system parameter may be created and the cost-centre-level system parameters setup using the following script:
References
EST-287836 TH-8FVJRC Map, Impl and UAT support of Microlise v1.0.doc | |||
Glossary
C-TMS | Calidus TMS |
Document History
Initial version | ||||
Reviewed and Issued | ||||
Reviewed based on comments from Tahir Hussain | ||||
AUTHORISED BY
Matt Crisford | Development Manager | |
Peter Greer | TMSCC MTS Product Manager |