287069: Difference between revisions

From CTMS
(New page: {{Doc_Title|System=FUNCTIONAL SPECIFICATION|Title= One Order No Identifier|Reference=O287069 FS-8EZDHE|Version=1.0|Date=|Sysver=10.6|Client=DHL MTS}} == Client Requirement == '''Change ...)
 
 
(2 intermediate revisions by the same user not shown)
Line 5: Line 5:
== Client Requirement ==
== Client Requirement ==
'''Change Request Summary:'''
'''Change Request Summary:'''


Due to their only being one order file from EcoTherm and no unique identifier to show an amended order, there is a requirement to allow amended orders into C-TMS within an order file.Paul McGoran/Manchester/UK/NFC
Due to their only being one order file from EcoTherm and no unique identifier to show an amended order, there is a requirement to allow amended orders into C-TMS within an order file.Paul McGoran/Manchester/UK/NFC
Line 11: Line 10:


'''Change Request Details:'''
'''Change Request Details:'''


Due to their only being one order file from EcoTherm and no unique identifier to show an amended order, there is a requirement to allow amended orders into C-TMS within an order file. If the order (same Customer Reference) exists within C-TMS and is not on a trip, the order is to be updated with the new order details. If the order exists in C-TMS and is on a trip, the order is not to be updated. If the order is not currently within C-TMS, it will be treated as a new order.
Due to their only being one order file from EcoTherm and no unique identifier to show an amended order, there is a requirement to allow amended orders into C-TMS within an order file. If the order (same Customer Reference) exists within C-TMS and is not on a trip, the order is to be updated with the new order details. If the order exists in C-TMS and is on a trip, the order is not to be updated. If the order is not currently within C-TMS, it will be treated as a new order.
Line 17: Line 15:


'''Benefits identified as a result of the change:'''
'''Benefits identified as a result of the change:'''


To allow amended orders into the C-TMS system to eliminate manual amendments which will take a great deal of time to manage and eliminate human error.
To allow amended orders into the C-TMS system to eliminate manual amendments which will take a great deal of time to manage and eliminate human error.


== Solution ==
== Solution ==
A new inbound EDI process will be created using the EDI tab of the IMPORT Maintenance screen. The flow will use the generic order xml code although some code changes will be required.
A new inbound EDI process will be created using the EDI tab of the IMPORT Maintenance screen. The flow will use the generic order xml code although some code changes will be required.


Currently when using the generic xml code amendment s and inserts are identified by the data in the event_action field. For ECOTHERM data, this field will not be available. ECOTHERM records will be identified based on the value of the source system.
Currently when using the generic xml code amendment s and inserts are identified by the data in the event_action field. For ECOTHERM data, this field will not be available. ECOTHERM records will be identified based on the value of the source system.


Currently in the PROCESS_ORDER procedure, data and duplicate checks are carried out based on the EVENT TYPE of the records. If any checks are failed or duplicates are found in error, an error message is written. At the end of the checks, if the error message is still null, the order is processed.
Currently in the PROCESS_ORDER procedure, data and duplicate checks are carried out based on the EVENT TYPE of the records. If any checks are failed or duplicates are found in error, an error message is written. At the end of the checks, if the error message is still null, the order is processed.


New code will be added to the end of the existing checks for ECOTHERM records. If the ECOTHERM record is not a duplicate then error message will be set to null and the event type will be set to ORD. This will allow the record to continue through the process as a generic insert.
New code will be added to the end of the existing checks for ECOTHERM records. If the ECOTHERM record is not a duplicate then error message will be set to null and the event type will be set to ORD. This will allow the record to continue through the process as a generic insert.


If an ECOTHERM record is a duplicate, another check will be run to find the status of the duplicate record. If the existing order has been scheduled on a trip the error message will be updated to reflect this information and the order will not be processed. If the duplicate is yet to be scheduled, the error message will be set to null and event_type will be set to a new value ‘ORDA’
If an ECOTHERM record is a duplicate, another check will be run to find the status of the duplicate record. If the existing order has been scheduled on a trip the error message will be updated to reflect this information and the order will not be processed. If the duplicate is yet to be scheduled, the error message will be set to null and event_type will be set to a new value ‘ORDA’


Currently when processing an order header amendment, only the source system is updated on the header. For ECOTHERM amendments, the only header data that cannot be updated is the External Reference and OMS_REF.
Currently when processing an order header amendment, only the source system is updated on the header. For ECOTHERM amendments, the only header data that cannot be updated is the External Reference and OMS_REF.


The new event type ‘ORDA’ will allow ECOTHERM amendments to be treated differently in the generic code. When an event_type ORDA is encountered when processing an order header amendment, all the header data excluding oms_ref and external ref will be updated in C-TMS.
The new event type ‘ORDA’ will allow ECOTHERM amendments to be treated differently in the generic code. When an event_type ORDA is encountered when processing an order header amendment, all the header data excluding oms_ref and external ref will be updated in C-TMS.


When processing ORDER LINES and ORDER ITEMS for event_type ‘ORDA’, all existing records will be deleted before the new records are inserted.
When processing ORDER LINES and ORDER ITEMS for event_type ‘ORDA’, all existing records will be deleted before the new records are inserted.


== Scope ==
== Scope ==
This change will be applied to system version 10.6.  
This change will be applied to system version 10.6.  
= Set-up =
= Set-up =
== Pre-requisites ==
== Pre-requisites ==
None
None
== Menu Structure ==
== Menu Structure ==
‘Unchanged’
Unchanged
== Data ==




== Data ==
= Functional Description =
= Functional Description =
The new ECOTHERM Order process will be defined using the EDI tab of the Import Maintenance Screen. The generic order process flow will be used and the new process will run every 5 minutes.  
The new ECOTHERM Order process will be defined using the EDI tab of the Import Maintenance Screen. The generic order process flow will be used and the new process will run every 5 minutes.  




[[Image:]]
[[Image:287069_1.png]]




Currently the generic code processes the order records as Inserts or amendments using a data element within the message; EVENT_TYPE.  
Currently the generic code processes the order records as Inserts or amendments using a data element within the message; EVENT_TYPE.  


For ECOTHERM, there is no data value to identify if the record is an insert or an amendment. Part of processing the ECOTHERM orders will involve determining the record event by C-TMS.
For ECOTHERM, there is no data value to identify if the record is an insert or an amendment. Part of processing the ECOTHERM orders will involve determining the record event by C-TMS.


The code in the generic procedure PROCESS_ORDER will be amended to process the ECOTHERM records. ECOTHERM records will be identified by the value of the source system tag.
The code in the generic procedure PROCESS_ORDER will be amended to process the ECOTHERM records. ECOTHERM records will be identified by the value of the source system tag.


CUSTOMER and COST CENTRE will be defined in the screen as part of the process set up.
CUSTOMER and COST CENTRE will be defined in the screen as part of the process set up.
Line 80: Line 62:


The following information will be received from ECOTHERM
The following information will be received from ECOTHERM




Line 192: Line 173:


|}
|}
In the PROCESS_ORDER procedure, data validation will be carried out, any validation failures or duplicates found in error, will write a message to an error field. Only if this error field is clean after the validation checks have been completed is the order processed.
In the PROCESS_ORDER procedure, data validation will be carried out, any validation failures or duplicates found in error, will write a message to an error field. Only if this error field is clean after the validation checks have been completed is the order processed.


A new check will be added to the end of the validation code, based on the value of the SOURCE SYSTEM. If the source system is ECOTHERM and the record is not a duplicate, the error field will be set back to clean and the EVENT_TYPE will be set to ORD. The ECOTHERM record will then be processed like any other addition.
A new check will be added to the end of the validation code, based on the value of the SOURCE SYSTEM. If the source system is ECOTHERM and the record is not a duplicate, the error field will be set back to clean and the EVENT_TYPE will be set to ORD. The ECOTHERM record will then be processed like any other addition.


If an ECOTHERM record is identified as a duplicate, a further check will identify the order status in C-TMS. If the order is not UNSCHEDULED, the error field will be updated and the order will not be processed.
If an ECOTHERM record is identified as a duplicate, a further check will identify the order status in C-TMS. If the order is not UNSCHEDULED, the error field will be updated and the order will not be processed.


If the order is still UNSCHEDULED on C-TMS, the error field will be set to clean again and the EVENT_TYPE will be set to ORDA. For an EVENT_TYPE of ‘ORDA’, the following HEADER fields will be updated based on the inbound record :
If the order is still UNSCHEDULED on C-TMS, the error field will be set to clean again and the EVENT_TYPE will be set to ORDA. For an EVENT_TYPE of ‘ORDA’, the following HEADER fields will be updated based on the inbound record :
Line 229: Line 210:
When processing ECOTHERM amendments, existing order lines and items will be deleted from C-TMS and the lines and items from the inbound file will be processed as new.
When processing ECOTHERM amendments, existing order lines and items will be deleted from C-TMS and the lines and items from the inbound file will be processed as new.


#
'''Table Updates Required'''
#:
#::
#:::
#::::
#:::::
#::::::
#:::::::
#:::::::# '''table updates REQUIRED'''
 
n/a
 
#
#:
#::
#:::
#::::
#:::::
#::::::
#:::::::
#:::::::# '''QUOTE & DoCuMENT History'''
 
 
{| style="border-spacing:0;"
| style="background-color:#e5e5e5;border-top:0.039cm double #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| '''Activity'''
| style="background-color:#e5e5e5;border-top:0.039cm double #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>'''Estimate'''</center>
| colspan="3"  style="background-color:#e5e5e5;border-top:0.039cm double #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>'''Quote'''</center>
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>'''No. of Days'''</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>'''No. of Days'''</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>'''Daily Rate (£)'''</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| '''Cost (£) Exc. VAT'''
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Work to Date
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>510</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Change Request Evaluation
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.75</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.75</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>510</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Functional Specification
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.75</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>1.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>510</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Technical Specification
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>510</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
 
|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Development
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>2.50</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>2.50</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>438</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|


|-
N/A
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Testing & Release
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>1.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>1.00</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>438</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|


|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| Implementation
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.25</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>0.25</center>
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| <center>471</center>
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|


|-
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|


|-
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.039cm double #000000;border-left:0.039cm double #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"| ==== TOTAL ====
| style="border-top:0.018cm solid #000000;border-bottom:0.039cm double #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.039cm double #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="background-color:#e5e5e5;border-top:0.018cm solid #000000;border-bottom:0.039cm double #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|
| style="border-top:0.018cm solid #000000;border-bottom:0.039cm double #000000;border-left:0.018cm solid #000000;border-right:0.039cm double #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.212cm;padding-right:0.212cm;"|


|}
'''References'''
'''References'''


{| style="border-spacing:0;"
{| style="border-spacing:0;"
Line 363: Line 244:


|}
|}
'''Glossary'''




{| style="border-spacing:0;"
| style="background-color:#c0c0c0;border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| <center>'''Term or Acronym'''</center>
| style="background-color:#c0c0c0;border:0.018cm solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| <center>'''Meaning'''</center>


|-
| style="border-top:none;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|
| style="border-top:none;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.018cm solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|
|-
| style="border-top:none;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|
| style="border-top:none;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.018cm solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|
|-
| style="border-top:none;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|
| style="border-top:none;border-bottom:0.018cm solid #000000;border-left:0.018cm solid #000000;border-right:0.018cm solid #000000;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|
|}
'''Document History '''
'''Document History '''


{| style="border-spacing:0;"
{| style="border-spacing:0;"
Line 429: Line 292:


|}
|}
'''Authorised By'''
 
=AUTHORISED BY=






{| style="border-spacing:0;"
{| Border="1"
| style="border:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| '''''Matt Crisford'''''
| '''''Matt Crisford'''''
| style="border:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| Development Manager
| Development Manager
| style="border:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|  
|  


|-
|-
| style="border:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| '''''Peter Greer'''''
| '''''Peter Greer'''''
| style="border:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"| TMSCC MTS Product Manager  
| TMSCC MTS Product Manager  
| style="border-top:0.018cm solid #000000;border-bottom:0.018cm solid #000000;border-left:none;border-right:none;padding-top:0cm;padding-bottom:0cm;padding-left:0.191cm;padding-right:0.191cm;"|  
|  


|}
|}

Latest revision as of 14:55, 13 May 2011

Aptean Logo.png







DHL MTS

One Order No Identifier


FUNCTIONAL SPECIFICATION - 10.6

- 1.0


Reference: O287069 FS-8EZDHE













































Client Requirement

Change Request Summary:

Due to their only being one order file from EcoTherm and no unique identifier to show an amended order, there is a requirement to allow amended orders into C-TMS within an order file.Paul McGoran/Manchester/UK/NFC


Change Request Details:

Due to their only being one order file from EcoTherm and no unique identifier to show an amended order, there is a requirement to allow amended orders into C-TMS within an order file. If the order (same Customer Reference) exists within C-TMS and is not on a trip, the order is to be updated with the new order details. If the order exists in C-TMS and is on a trip, the order is not to be updated. If the order is not currently within C-TMS, it will be treated as a new order.


Benefits identified as a result of the change:

To allow amended orders into the C-TMS system to eliminate manual amendments which will take a great deal of time to manage and eliminate human error.

Solution

A new inbound EDI process will be created using the EDI tab of the IMPORT Maintenance screen. The flow will use the generic order xml code although some code changes will be required.

Currently when using the generic xml code amendment s and inserts are identified by the data in the event_action field. For ECOTHERM data, this field will not be available. ECOTHERM records will be identified based on the value of the source system.

Currently in the PROCESS_ORDER procedure, data and duplicate checks are carried out based on the EVENT TYPE of the records. If any checks are failed or duplicates are found in error, an error message is written. At the end of the checks, if the error message is still null, the order is processed.

New code will be added to the end of the existing checks for ECOTHERM records. If the ECOTHERM record is not a duplicate then error message will be set to null and the event type will be set to ORD. This will allow the record to continue through the process as a generic insert.

If an ECOTHERM record is a duplicate, another check will be run to find the status of the duplicate record. If the existing order has been scheduled on a trip the error message will be updated to reflect this information and the order will not be processed. If the duplicate is yet to be scheduled, the error message will be set to null and event_type will be set to a new value ‘ORDA’

Currently when processing an order header amendment, only the source system is updated on the header. For ECOTHERM amendments, the only header data that cannot be updated is the External Reference and OMS_REF.

The new event type ‘ORDA’ will allow ECOTHERM amendments to be treated differently in the generic code. When an event_type ORDA is encountered when processing an order header amendment, all the header data excluding oms_ref and external ref will be updated in C-TMS.

When processing ORDER LINES and ORDER ITEMS for event_type ‘ORDA’, all existing records will be deleted before the new records are inserted.

Scope

This change will be applied to system version 10.6.

Set-up

Pre-requisites

None

Menu Structure

Unchanged

Data

Functional Description

The new ECOTHERM Order process will be defined using the EDI tab of the Import Maintenance Screen. The generic order process flow will be used and the new process will run every 5 minutes.


287069 1.png


Currently the generic code processes the order records as Inserts or amendments using a data element within the message; EVENT_TYPE.

For ECOTHERM, there is no data value to identify if the record is an insert or an amendment. Part of processing the ECOTHERM orders will involve determining the record event by C-TMS.

The code in the generic procedure PROCESS_ORDER will be amended to process the ECOTHERM records. ECOTHERM records will be identified by the value of the source system tag.

CUSTOMER and COST CENTRE will be defined in the screen as part of the process set up.


The following information will be received from ECOTHERM


Field Source
Event Processes ‘N’
Event Source Type ‘ECOTHERM’
Event Source Name ‘ECOTHERM’
Event_date System date order processed
Event_type ‘ORD’
Event_Action ‘C’
Order Transaction Date From ECOTHERM system
Order Type ‘O’
WMS_Owner ‘ECOTHERM’
So_ref From ECOTHERM system
Special Instr From ECOTHERM system
Early avail From INBOUND File
Late avail From INBOUND File
Early del From INBOUND File
Late del From INBOUND File
Address block details (DEP) From ECOTHERM system
Address block details (DEL) From ECOTHERM system
Detail Type ‘S’
Product Type From ECOTHERM system
Product Type Desc From ECOTHERM system
Item identifier From ECOTHERM system
Item description From ECOTHERM system
Footprint From ECOTHERM system
Weight From ECOTHERM system
Volume From ECOTHERM system
Ordered From ECOTHERM system


In the PROCESS_ORDER procedure, data validation will be carried out, any validation failures or duplicates found in error, will write a message to an error field. Only if this error field is clean after the validation checks have been completed is the order processed.

A new check will be added to the end of the validation code, based on the value of the SOURCE SYSTEM. If the source system is ECOTHERM and the record is not a duplicate, the error field will be set back to clean and the EVENT_TYPE will be set to ORD. The ECOTHERM record will then be processed like any other addition.

If an ECOTHERM record is identified as a duplicate, a further check will identify the order status in C-TMS. If the order is not UNSCHEDULED, the error field will be updated and the order will not be processed.

If the order is still UNSCHEDULED on C-TMS, the error field will be set to clean again and the EVENT_TYPE will be set to ORDA. For an EVENT_TYPE of ‘ORDA’, the following HEADER fields will be updated based on the inbound record :


SPECIAL INSTR
EARLY AVAIL DATE
LATE AVAIL DATE
EARLY DEL DATE
LATE DEL DATE
FROM_LOC
TO_LOC

When processing ECOTHERM amendments, existing order lines and items will be deleted from C-TMS and the lines and items from the inbound file will be processed as new.

Table Updates Required

N/A



References

Ref No
Document Title & ID
Version
Date
EST 287069 FS-8EZDHE One order-no identv1.0
21/03/2011


Document History

Version
Date
Status
Reason
Initials
0.1
28/03/2011
Draft
Initial version
SW
1.0
29/03/2011
Issue
Reviewed and Issued
MJC

AUTHORISED BY

Matt Crisford Development Manager
Peter Greer TMSCC MTS Product Manager