Shipment Import
From UG
(→Pending TMS Use Case) |
(→Pending TMS Use Case) |
||
Line 245: | Line 245: | ||
Not in use. | Not in use. | ||
- | == | + | == How to know when passing of CT to TMS fails & how to send to TM == |
=== Import Yet === | === Import Yet === | ||
- | * | + | * If TMS Status CT record = import yet, that means that the record was not uploaded into the TM. |
+ | |||
+ | * To send to the TM, use update fields via virtual group filters & upload to TMS. | ||
== Mantis History == | == Mantis History == |
Revision as of 20:14, 22 November 2010
Mantis
0002455: [EDI to TMS] (Shipment_Import) .............. <parent>
Prerequisites
Intro
Shipment Import is a message transmitted by CT2 to TMS about approved CTs in the form of XML.
CT2 script is to send some information.
Message could be sent in these cases:
- new approved CT has to be forwarded
- XML: MessagePurpose="1002" // New
- CT was updated in CT2 DB
- XML: MessagePurpose = "1004" // Change
Example
<?xml version="1.0" encoding="iso-8859-1" ?> - <ns0:Envelope xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:ns0="http://www.w3.org/2003/05/soap-envelope" xmlns:ebi="http://www.myvan.descartes.com/ebi/2004/r1"> - <ns0:Header> - <wsa:From> <wsa:Address>urn:duns:657589457</wsa:Address> </wsa:From> <wsa:To>urn:duns:657589457</wsa:To> <wsa:Action>urn:myvan:856</wsa:Action> - <ebi:Sequence> <ebi:MessageNumber>12117</ebi:MessageNumber> </ebi:Sequence> <wsa:MessageID /> </ns0:Header> - <ns0:Body> - <parmDocEnvelope> - <DocShipment ShipmentNo="3161007" MessagePurpose="1002" CarrierCode="" EarliestAvailDate="2010-08-130 08:00:00" LatestAvailDate="2010-08-30 16:00:00" TotalWgt="98" WgtUOM="200" BillingOption="10"> <DSGOriginAddress LocationNo="08081831" StreetName="7725 PARKLAWN AVENUE" City="EDINA" State="MN" PostalCode="55439" Country="US" CompanyName="Company ABC" /> <DSGDestinationAddress LocationNo="" StreetName="95 Paquin Road" City="MANITOBA" State="MB" PostalCode="R2J 3V9" Country="CA" CompanyName="Consumer Products" /> <DSGReferenceNumbers RefNoType="Stack Pallets" Value="Yes" /> <DSGShipmentAccessorial AccName="Hazardous" /> - <DocShpLineItem ContainerQuantity="1" Description="Goods" TotalLineItemWeight="98" WgtUOM="200" ContainerType="15" LineItemNumber="1" OrderQty="10" OrderQtyUOM="1" PurchaseOrderNo="PO#"> <DSGReferenceNumbers RefNoType="Order Pieces" Value="200 Pieces" /> </DocShpLineItem> </DocShipment> </parmDocEnvelope> </ns0:Body> </ns0:Envelope>
Schema
see http://mantis.jaguarfreight.com/mantis/file_download.php?file_id=1577&type=bug
CT to TMS fields map
Initially only the following data will be sent(for every CT#CT Num):
- see fields in "CT to TMS fields map udated XXX.xls" file attached to mantis "0002229: [EDI to TMS] (Preliminary) Create data dictionary / TMS to CT2 fields mapping table " where Message = Import
Pending Address Use Case
This is related to Cybertrax_2.1_Client_(requirements)#New_Pending_Address_.28NPA.29_Feature.
Before sh....
UC 101 Editing Shipment data on CT side after first Shipment Import
Any edits to CT fields that are transferable as a part of Shipment Import message to TMS are subject to below use cases.
Also TMSS field should be updated accordingly.
UC 101A Change of Shipment data on CT2 side after Shipment Import before Load Plan Message received
Implem: Send same XML file as Shipment Import with this flag:
<xs:element name="DocShipment"> ... <xs:attribute name="MessagePurpose" use="required"> ... <xs:enumeration value="1004"> <xs:annotation> <xs:documentation>Change</xs:documentation> </xs:annotation>
UC 101B Change of Shipment data on CT2 side after Shipment Import after Load Plan Message received
- a) Descartes will not accept this update so do not send XML
- b) Provide user with Warning message:
Warning: Attempt to update Portal CT after Load Plan has been received from TMS. CT2 record will be updated. Descartes record will NOT be updated. Are you sure you want to update? [Y] [N]
- c) update record in CT2
Log 101B event into CT2 System Log
Message: "Operator <login info> Changed Shipment data on CT2 side after Shipment Import after Load Plan Message received. Fields changed: ....<CT#><field, value from, value to> ... ". Message priority = high.
see CT2 System Log
APPENDIX Some relevant XML elements and attribute
! Please note that this section is not fully updated.
For up to date info see #CT to TMS fields map
Below are XML elements under element ns0:Body.
parmDocEnvelope
DocShipment
Used to provide top level shipping information, like totals and main shipping refernece numbers
Sub-elements:
<xs:sequence> <xs:element ref="DSGOriginAddress"/> <xs:element ref="DSGDestinationAddress"/> <xs:element ref="DSGBillToAddress" minOccurs="0"/> <xs:element ref="DSGReferenceNumbers" minOccurs="0" maxOccurs="unbounded"/> <xs:element ref="DocShpLineItem" maxOccurs="unbounded"/> <xs:element ref="DSGShipmentAccessorial" minOccurs="0" maxOccurs="unbounded"/> </xs:sequence>
Example:
<DocShipment ShipmentNo="3161007" MessagePurpose="1002" CarrierCode="" EarliestAvailDate="2010-08-130 08:00:00" LatestAvailDate="2010-08-30 16:00:00" TotalWgt="98" WgtUOM="200" BillingOption="10">
Required Attributes:
- <xs:attribute name="ShipmentNo" use="required"> // map to: CT#CT_Num
- <xs:attribute name="LatestAvailDate" type="xs:dateTime" use="required"/> // map to: CT#Cargo_available
- <xs:attribute name="BillingOption" use="required"> // map to: TBD, for now always set to value "Collect"
DSGOriginAddress
Used to provide Origin Company and Address
Example:
<DSGOriginAddress LocationNo="08081831" StreetName="7725 PARKLAWN AVENUE" City="EDINA" State="MN" PostalCode="55439" Country="US" CompanyName="Company ABC" />
Required and important attributes:
Note: mapping below is for CT#Pick_up_Location object!
- <xs:attribute name="CompanyName" use="required"> // mapto: Address#Company
- <xs:attribute name="StreetNo" use="optional"> // mapto: first word from Address#Address_1; verify that it is a number, if not do not send; it could have hyphen in the middle, example: 33-21
- <xs:attribute name="StreetName" use="required"> // mapto: Address#Address_1, ignore first word from this string which is a street number, see above
- <xs:attribute name="City" use="required"> // mapto: Address#City
- <xs:attribute name="State" use="required"> // mapto: Address#State
- <xs:attribute name="PostalCode" use="required"> // mapto: Address#Zip
- <xs:attribute name="Country" use="required"> // mapto: Address#Country
- <xs:attribute name="PhoneNumber" this comes from admin >> address book >> transportation tab, that is apart of that company city.
- <xs:attribute name="ContactFName" this comes from admin >> address book >> transportation tab, that is apart of that company city.
- <xs:attribute name="ContactLName" this comes from admin >> address book >> transportation tab, that is apart of that company city.
DSGDestinationAddress
Used to provide Destination Company and Address
Example:
<DSGDestinationAddress LocationNo="" StreetName="95 Paquin Road" City="MANITOBA" State="MB" PostalCode="R2J 3V9" Country="CA" CompanyName="Consumer Products" />
Required and important attributes:
Note: mapping below is for CT#Export_Delivery_To object!
- <xs:attribute name="CompanyName" use="required"> // mapto: Address#Company
- <xs:attribute name="StreetNo" use="optional"> // mapto: first word from Address#Address_1; verify that it is a number, if not do not send; it could have hyphen in the middle, example: 33-21
- <xs:attribute name="StreetName" use="required"> // mapto: Address#Address_1, ignore first word from this string which is a street number, see above
- <xs:attribute name="City" use="required"> // mapto: Address#City
- <xs:attribute name="State" use="required"> // mapto: Address#State
- <xs:attribute name="PostalCode" use="required"> // mapto: Address#Zip
- <xs:attribute name="Country" use="required"> // mapto: Address#Country
- <xs:attribute name="PhoneNumber" this comes from admin >> address book >> transportation tab, that is apart of that company city.
- <xs:attribute name="ContactFName" this comes from admin >> address book >> transportation tab, that is apart of that company city.
- <xs:attribute name="ContactLName" this comes from admin >> address book >> transportation tab, that is apart of that company city.
DSGReferenceNumbers
Used to define any needed reference number
Example:
<DSGReferenceNumbers RefNoType="Stack Pallets" Value="Yes" />
Not in use for now.
DSGShipmentAccessorial
Used to assign accessorials that are needed for a shipment
Example:
<DSGShipmentAccessorial AccName="Hazardous" />
Not in use.
DocShpLineItem
Used to provide commodity level and handling unit details
Example:
<DocShpLineItem ContainerQuantity="1" Description="Goods" TotalLineItemWeight="98" WgtUOM="200" ContainerType="15" LineItemNumber="1" OrderQty="10" OrderQtyUOM="1" PurchaseOrderNo="PO#">
Required attributes:
See lines in Data_Dictionary_for_EDI_to_TMS#Data_Dictionary tagged with "Import"
DSGReferenceNumbers
Example:
<DSGReferenceNumbers RefNoType="Order Pieces" Value="200 Pieces" />
Not in use.
How to know when passing of CT to TMS fails & how to send to TM
Import Yet
- If TMS Status CT record = import yet, that means that the record was not uploaded into the TM.
- To send to the TM, use update fields via virtual group filters & upload to TMS.