Mantum Transport Export

Last modified by Theib Sawaf on 2018/12/05 12:58

Format

Transport with status Call-Off are exported to MANTUM using XML format.

Configuration

    <!-- Transport Export to transport company (DHL, MANTUM, ...)  -->
    <!-- Destination directory, Eg: "C:\IMPACT\" or "ftp://ftp.xxx.com/inbox" -->
    <add key="TransportCompanyDirectory" value="C:\IMPACT\StruSoft\TransportCompanyDelivery\Out" />
    <!--<add key="TransportCompanyDirectory" value="ftp://ftp.interlockframework.com/shipment/Inbox" />-->
    <add key="FtpUserName" value="TestUser" />
    <add key="FtpPassword" value="TestUserpw" />
    <add key="CompanyIdentifier" value="StruSoft" />

    <!-- UseProjectInvoiceFactory: set to yes if you want ProjectManager and ProjectInvoiceFactory to added to Consignee element.  -->
    <add key="UseProjectInvoiceFactory" value="Yes" />
    <!-- UseVehicleName: set to yes if you want to append vehicle name defined in Recoure Manager/Settings/Transport Vehicles to PickUpInstructions after second comma   -->
    <!-- <PickUpInstructions>Lass nr 9, , Bygel 27 ton</PickUpInstructions> -->
    <add key="UseVehicleName" value="YES" />

    <add key="FreightProductExternalCommunicationId" value="7301" />

    <!-- If UseTransportText2 = "NO" or missing, ShipmentInstructions is set to Transport.DeliveryDistance othwise Transport.Text2 if it's not empty -->
    <add key="UseTransportText2" value="NO" />
    <!-- If UseTransportText3 = "YES", DeliveryReference is set to Transport.Text3 if it's not empty -->
    <add key="UseTransportText3" value="NO" />

Description

The destination can either be a directory on the file system or an FTP directory with credentials provided in the config file.
After the export elements are signed as exported (IMP_TRANSPORT_PLANNING.IsReported2 = 1)

Note that transports can be resent/updated to the transport company by setting transport status to a lower status then back to call-off.
This changed IsReported2 to 0 that is why it is exported again.

Transports have a unique Delivery Note Id that is shared with the transport company.

The transport export to MANTUM gets information from the project properties e.g. Project Manager, Project Invoice Factory, see the figure below.

https://lh6.googleusercontent.com/SLp_7BYZtC8v3dOKml8N1t1jmK-dEJqQAfNwsUvKCSViT0HyWBLvt425APAzt-Ax2kXlCIZR2OWN0PxG9mtnbaOgJ4fhew-Vz7aYjREzPTS9M6rygrHegxfW2C3wFYH67MxoAjs

Consignee Configuration

You can find it under RM/Setting/Invoice Address.

https://lh4.googleusercontent.com/QzoyBUd4eZuUDUzg58J5OZk55KShxGkWeJUOoh8NlY4_knVGksVD7j2-Xfo-PIV0qFK4GNOn8rraDPhhu8ikTdPW7Cz_w6eYU4hvm7P9gmQB11ODLu59x0WvhLk977aB3Pe26Ag

IMPACT Sync Config-file

<?xml version="1.0" encoding="utf-8"?>

<configuration>

 <appSettings>

   <!-- WebApi Address -->

   <add key="WebApi" value="http://localhost:81/STRUSOFTWebApi15/" />

   <!-- Security -->

   <add key="SecurityServer" value="http://localhost:81/STRUSOFTOpenIdServer15/" />

   <add key="UserName" value="xxxxxxx" />

   <add key="Password" value="yyyyyyyyy" />

   <add key="SecuritySecret" value="secret" />

   <!-- Production Company Id, Skanska:1XXX, STRUSOFT:1XXX  -->

   <add key="ProductionCompanyId" value="1XXX" />

   <!-- Transport Export to transport company (DHL, TRANSPORTCOMPANY, ...) -->

   <!-- Destination directory, Eg: "C:\IMPACT\" or "ftp://ftp.xxx.com/inbox" -->

   <add key="TransportCompanyDirectory" value="ftp://ftp.testxxxframework.com/shipment/inbox" />

   <!-- <add key="TransportCompanyDirectory" value="C:\IMPACT\StruSoft\TransportCompanyDelivery\Out" /> -->

   <add key="FtpUserName" value="STRUSOFTPrefabTestUser" />

   <add key="FtpPassword" value="STRUSOFTPrefab69741!" />

   <add key="CompanyIdentifier" value="STRUSOFTPREFABAB"/>

   <!-- UseProjectInvoiceFactory set to yes if you want ProjectManager and ProjectInvoiceFactory to added to Consignee element.  -->

   <add key="UseProjectInvoiceFactory" value="NO" />

   <!-- UseVehicleName: set to yes if you want to append vehicle name defined in Recoure Manager/Settings/Transport Vehicles to PickUpInstructions after second comma   -->

   <!-- <PickUpInstructions>Lass nr 9, , Bygel 27 ton.TS</PickUpInstructions> -->

   <add key="UseVehicleName" value="YES" />

   <add key="FreightProductExternalCommunicationId" value="7301" />

   <!-- Cost calculation filter: Limit calculation to certain standard(s) and project(s)   -->

   <add key="CostCalcFactory" value="" />

   <add key="CostCalcProjectPrefix" value="P330" />

---------------------------------

For production use the following ftp user name and password:

   <add key="FtpUserName" value="STRUSOFTPrefabUser" />

   <add key="FtpPassword" value="STRUSOFTPrefab85942!" />

ConsignmentHeader XML Element

 <Body xmlns:q1="http://www.capma.se/XMLSchema/2010/TMBooking" xsi:type="q1:TMBooking" xmlns="">

   <ConsignmentHeader>

     <GroupIdentifier>MantumGroup</GroupIdentifier>

     <RegisteredByCompanyIdentifier>StruSoft</RegisteredByCompanyIdentifier>

     <GSIN>1032192</GSIN>

     <Status>Booked</Status>

     <BookingDate>2018-05-17T11:22:06.2136402+02:00</BookingDate>

     <ProjectManager>Adam Adamsson by tsa</ProjectManager>

     <ProjectInvoiceFactory>Malmö fbk</ProjectInvoiceFactory>

     <ProjectReference>1500</ProjectReference>

   </ConsignmentHeader>

Shipper Address Configuration

Can be found under RM/Setting/Factory and RM/Setting/Addresses.
Note that the shipper address and pickup address used in the XML are mapped to the factory pickup address, see the dialog below.

https://lh4.googleusercontent.com/lDPUORNo3YIgZOvb_FVbZSJJKt8J8VqsgfAyGOcFwqbgFbPSs1FUKwpRc2SZik9amnXKJ-55V5l0RQjkLneWn6dNi566S3U_ZLdhukhOOdj_dZcCeOoFSQVhEogZN8tGXD0qTmY

https://lh4.googleusercontent.com/yJ6K9VMLTuqO_JFzLe-cYhibbRilV5kSXIkbnSzn92jbj3aViJpK0vq-8vwqWpdQ5y82nMblpexpcnqHpC5dsCO5-NInpS2TiwWyM5XYJU76PT28p9xn7Dl8z43fQffQWfcO6Ag

Example of XML file from IMPACT that contains transport information

<Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://www.capma.se/XMLSchema/2010/Envelope">

 <Head xmlns="">

   <Identification>Test</Identification>

   <MessageType>TMBooking</MessageType>

   <Action>Create</Action>

   <ResponseType>None</ResponseType>

 </Head>

 <Body xmlns:q1="http://www.capma.se/XMLSchema/2010/TMBooking" xsi:type="q1:TMBooking" xmlns="">

   <ConsignmentHeader>

     <GroupIdentifier>TransportCompanyGroup</GroupIdentifier>

     <RegisteredByCompanyIdentifier>STRUSOFTPREFABAB</RegisteredByCompanyIdentifier>

     <GSIN>1031970</GSIN>

     <Status>Booked</Status>

     <BookingDate>2017-10-20T11:10:00.9479442+02:00</BookingDate>

   </ConsignmentHeader>

   <ForwarderService>

     <FreightCompanyExternalCommunicationId>TransportCompany</FreightCompanyExternalCommunicationId>

     <FreightProductExternalCommunicationId>7301</FreightProductExternalCommunicationId>

     <PaymentBy>Sender</PaymentBy>

     <ShippingReference>        1507, MG Svensson Kalle</ShippingReference>

     <RequestedDepartureDate>2017-12-29T08:00:00</RequestedDepartureDate>

     <PickUpInstructions>Lass nr 1,13,6flmexklB=3,18Följebil, Trailer </PickUpInstructions>

     <ShipmentInstructions>0</ShipmentInstructions>

     <DeliveryReference>Transport.Text3</DeliveryReference>

    <DeliveryDate>2017-12-29T08:00:00</DeliveryDate>

     <TimeOfDelivery>08:00:00</TimeOfDelivery>

   </ForwarderService>

   <Shipper>

     <PartyIdentifier>StruSoft</PartyIdentifier>

     <PartyName>StruSoft AB</PartyName>

     <Address>

       <Name>Fabrik</Name>

       <Street1>Malmögatan 2A</Street1>

       <CityName>Stad</CityName>

       <PostalCode>641 49</PostalCode>

     </Address>

   </Shipper>

   <Consignee>

     <PartyIdentifier>STRUSOFT</PartyIdentifier>

     <PartyName>STRUSOFT Prefab AB</PartyName>

     <Address>

       <Name>STRUSOFT Prefab AB</Name>

       <Street1>Kalles Väg</Street1>

       <Street2>.</Street2>

       <CityName>Göteborg</CityName>

       <PostalCode>xxx xx</PostalCode>

       <CountryCode>SE</CountryCode>

     </Address>

   </Consignee>

   <Pickup>

     <Address>

       <Name>Fabrik</Name>

       <Street1>Elgatan 2A</Street1>

       <CityName>Lund</CityName>

       <PostalCode>641 39</PostalCode>

     </Address>

   </Pickup>

   <Delivery>

     <Address>

       <Name>Frank Franksson</Name>

       <Street1>Eklandagatan/Viktor Rydbergsgatan</Street1>

       <CityName>Göteboerg</CityName>

       <PostalCode>412 55</PostalCode>

       <CountryCode>SE</CountryCode>

     </Address>

     <Contact>

       <Name>Frank Franksson</Name>

       <PhoneNumber>010 99 99 33</PhoneNumber>

     </Contact>

   </Delivery>

   <GoodsItem>

     <Unit>Volume. Dim.</Unit>

     <NumberOfCollies>1</NumberOfCollies>

     <Length>566</Length>

     <Width>18</Width>

     <Height>382</Height>

     <Weight>9350</Weight>

     <Description>Linked</Description>

     <GoodsMark>V1</GoodsMark>

   </GoodsItem>

   <GoodsItem>

     <Unit>Volume. Dim.</Unit>

     <NumberOfCollies>4</NumberOfCollies>

     <Length>611</Length>

     <Width>26</Width>

     <Height>250</Height>

     <Weight>24120</Weight>

     <Description>Linked</Description>

     <GoodsMark>W1</GoodsMark>

   </GoodsItem>

 </Body>

</Envelope>

Requirements

Each transport must have a delivery address and a contact. When creating a new transport all project delivery addresses and contacts are copied to it.

Here are all the requirements

  • Transport delivery address
  • Transport delivery contact
  • Consignee address (company invoice address)
  • Factory pickup address
  • Factory shipping address (Shipper)
  • Logged Errors

Message Log view

In Resource Manager/Settings/Message Log view you can find the the errors/warnings/information written by the IMPACT Sync, see the figure below.

You can search for errors using the Search Text field in the filter.

Eg:

No project contact available for project

No project address available for project

No factory pickup address found!

No consignee address (company invoice address) found!

https://lh3.googleusercontent.com/z3CKDg92FQZK8TPNsus4L7U4u0O2zVBRdiwvrsShpdHtkvxbOz2pSK0x-ij42NLIP2_IE1WLg-ju2aGo19DG7N6m-kixW9hR9kvQpF2BHq3lBLVzJ4ZS_ER_aiDry6Zl8icFbpQ

1538302114623-231.png

if the config file entry SendTransportText2And3 is set to Yes then

ShipmentInstructions is set to Transport.Text2

DeliveryReferenceis set to Transport.Text3

otherwise

ShipmentInstructions is set to Transport.DeliveryDistance

Field Name in XML

Field Source in IMPACT

Example

PickUpInstructions

  • Transport No

  • Transport.Text1

  • Vehicle Name

Transport Module/Transport No, Text1, Vehicle Name

Vehicle Name is added if the following is set to YES in the config-file

<add key="UseVehicleName" value="YES" />

Lass nr 1,13,6flmexklB=3,18Följebil, Trailer

Shipper/PartyIdentifier

Factory Address/Text1

(RM/Settings/Factories/Pickup/Addresses/Text1)

StruSoft

Shipper/PartyName

Factory Address/Text2

(RM/Settings/Factories/Pickup/Addresses/Text2)

StruSoft AB

Consignee/PartyIdentifier

Consignee Address/Text1

(RM/Settings/Invoice Address/Text1)

StruSoft

Consignee/PartyName

Consignee Address/Text2

(RM/Settings/Invoice Address/Text2)

StruSoft AB

1544011081998-587.png

Note that the transport fields Text1-Text4 can be initialized from the latest transport. See the following setting (Initialize Text Fields) in RM/Setting.

https://lh4.googleusercontent.com/lQu5uXiDmdXsXA7810zKJk-wkHAU97wsz68v4TzqYUgjVaDpFv2Pd0Yx5ybbfJl-Ifx6WCObFSs-975AS-9DT2890dHBq3ZR3LoKkWu0gXmBOKxGa9HXVNDCn4pLTEW8-52r2xk

Field Mapping - General

XML ElementIMPACT FieldScreenComment
GroupIdentifier"MantumGroup"  
RegisteredByCompanyIdentifierConfigFile.CompanyIdentifier  
GSINIMP_TRANSPORT.DeliveryNoteIdTransport Properties/Delivery Note Id 
Status"Booked"  
BookingDateCurrent Date  
ProjectManagerProject Settings/ProjectManagerPM/Project Properties 
ProjectInvoiceFactoryProject Settings/ProjectManagerPM/Project Properties 
ProjectReferenceProject  
FreightCompanyExternalCommunicationId"Mantum"  
FreightProductExternalCommunicationId<PriceList.ExternalName>/Empty  
ShippingReference<Project>, <ProjectName>  
PaymentBy"Sender"  
RequestedDepartureDateIMP_TRANSPORT.LOAD_DATETransport Properties/Load Date 
PickUpInstructionsLass nr <Transport No>, <IMP_TRANSPORT.TEXT1> <vehicleName>Transport Properties/Text1 
ShipmentInstructionsIMP_TRANSPORT.DELIVERY_DISTANCETransport Properties/Delivery Distance (km)If SendTransportText2And3 is set to No

ShipmentInstructions

IMP_TRANSPORT.TEXT2 If SendTransportText2And3 is set to Yes
DeliveryReferenceisIMP_TRANSPORT.TEXT3 If SendTransportText2And3 is set to Yes
DeliveryDateIMP_TRANSPORT.Delivery_Date  
TimeOfDeliveryIMP_TRANSPORT.Delivery_Date("HH:mm:ss")"HH:mm:ss" 
Consignee/PartyIdentifierconsigneeAddress.Text1PM/Settings/Invoice address 
Consignee/PartyNameconsigneeAddress.Text2PM/Settings/Invoice address 
Consignee/NameconsigneeAddress.DescriptionPM/Settings/Invoice address 
Consignee/Street1consigneeAddress.StreetPM/Settings/Invoice address 
consignee/Street2consigneeAddress.Street2PM/Settings/Invoice address 
consignee/CityNameconsigneeAddress.CityPM/Settings/Invoice address 
consignee/PostalCodeconsigneeAddress.ZipCodePM/Settings/Invoice address 
consignee/CountryCodeconsigneeAddress.CountryCodePM/Settings/Invoice address 
Shipper/Text1shipperAddress.Text1Factory pickup address in RM/Settings/Factories 
Shipper/Text2shipperAddress.Text2Factory pickup address in RM/Settings/Factories 
Address/Street1shipperAddress.StreetFactory pickup address in RM/Settings/Factories 
Address/Street2shipperAddress.Street2Factory pickup address in RM/Settings/Factories 
Address/CityNameshipperAddress.CityFactory pickup address in RM/Settings/Factories 
Address/PostalCodeshipperAddress.ZipCodeFactory pickup address in RM/Settings/Factories 
Address/CountryCodeshipperAddress.CountryCodeFactory pickup address in RM/Settings/Factories 
Pickup/Address == Shipper/Address Factory pickup address in RM/Settings/Factories 
Delivery/NamedeliveryAddress.NameTransport Properties/delivery addressFirst address
Delivery/Street1deliveryAddress.Street1Transport Properties/delivery address 
Delivery/Street2deliveryAddress.Street2Transport Properties/delivery address 
Delivery/CityNamedeliveryAddress.CityNameTransport Properties/delivery address 
Delivery/PostalCodedeliveryAddress.ZipCodeTransport Properties/delivery address 
Contact/NamedeliveryContact.NameTransport Properties/Contact.NameFirst contact
Contact/PhoneNumberdeliveryContact.Phone1Transport Properties/Contact.Phone1 

Field Mapping - Element information

Condition != ConfigFile.CimProductionFactory exist and ProductionFactoryId == ConfigFile.CimProductionFactory

XMLElementStock ItemsAdditional/Other
GoodsItem/Unit"Volume. Dim.""Volume. Dim.""Volume. Dim."
GoodsItem/NumberOfColliesCountCountCount
GoodsItem/LengthLength / 10Length / 10Length / 10
GoodsItem/WidthWidth / 10Width / 10Width / 10
GoodsItem/HeightHeight / 10Height / 10Height / 10
GoodsItem/WeightMass * 1000* CountMass * 1000 * CountMass * 1000 * Count
GoodsItem/DescriptionElement Type (e.g: W, B)ProductDescription
GoodsItem/GoodsMarkMarkElement MarkDescription

Field Mapping - Special Element Information (Formslab)

Condition = ConfigFile.CimProductionFactory exist and ProductionFactoryId == ConfigFile.CimProductionFactory

XMLElementStock ItemsAdditional/Other
GoodsItem/Unit"Volume. Dim.""Volume. Dim.""Volume. Dim."
GoodsItem/NumberOfColliesCountCountCount
GoodsItem/LengthMax(Length) / 10Length / 10Length / 10
GoodsItem/WidthMax(Width) / 10Width / 10Width / 10
GoodsItem/HeightMax(Height)/ 10Height / 10Height / 10
GoodsItem/WeightSum(Mass * 1000)Mass * 1000 * CountMass * 1000 * Count
GoodsItem/Description"Plattbärlag"ProductDescription
GoodsItem/GoodsMarkTransport No + ", " + Stack IdElement MarkDescription

 

Tags:
Created by Theib Sawaf on 2018/09/24 16:05
Copyright 2018 StruSoft AB
Impact Documentation