Distance engines – PC*Miler from ALK Associates

Transportation Manager can support both of the PC*Miler products: North America and Worldwide. Using the PC*Miler Multi-Version Switch, you can simultaneously use multiple versions of a PC*Miler product (for example,26.1, 27, and 28).

Route Types

The following Route Types (Parameter Name RouteType) are supported for TM / PC*Miler integration:

  • Practical
  • Shortest
  • Air

Options

The following options are supported for TM / PC*Miler integration:

Option (Parameter Name)

Values

Details

BorderRestriction

T/F

(F means BordersOpen true; T means BordersOpen false)

National

T/F

CustomMode

T/F

Allows routing using prefer/avoid segments defined by customer using PC*Miler (through UI)

AvoidTollRoad

T/F

53TruckLength

T/F

ComputeEstimateAfterFailure

T/F

Default True. This parameter will determine how to handle the situation where the distance engine fails to compute a distance/transit time for any reason, including the case where the distance engine is not available. If True, an approximate distance and time will be computed based on the difference in latitude/longitude between the two locations; if False, the distance/transit time retrieval request will fail.

BreakdownRequired

T/F

Default False. If True, when the two locations are in different regions (different states/provinces in North America or different countries in the rest of the world), breakdown by region will be retrieved from PC*Miler and breakdown must be defined for overrides.

UseStreetLevelData

T/F

Default False. If True, Block and Street will be included when establishing the applicable granularity for a distance / transit time retrieval request. Street Level data must have been purchased from ALK Associates.

Version

free format string

Optional. PC*Miler Version. The designated version of PC*Miler will be used when interacting with the TM Distance Server. If specified, value must match the version specified in pcmmv.ini under the ALKMVS folder where PC*Miler Multi-Version Switch is installed (for example, 26.1, 27, and 28). For more information on the supported versions of PC*Miler MVS, see the Transportation Installation/Administration Guide.

While PC*Miler supports three additional Route Types (National, Avoid Tolls and Fifty Three) using their simple interface, these equate to a request that combines the Practical Route Type with just one of the three applicable options when using the PC*Miler trip interface. To configure TM to use the PC*Miler simple interface using one of these three Route Types, define the Data field as follows:

  • RouteType:Pratical,National:T
  • RouteType:Pratical,AvoidTollRoad:T
  • RouteType:Pratical,53TruckLength:T

External Mappings

PC*Miler supports the definition of Route Profiles (Equipment Profiles in earlier versions). A Route Profile defines PC*Miler settings to be used when calculating distances and transit times. Transportation Manager supports the utilization of PC*Miler defined Route Profiles through External Mappings. When an equipment type is specified in a distance/transit time call, country breakdown call or historic traffic breakdown call, and an External Mapping for the Equipment Type is defined with a Field Name of ‘EquipmentProfile’, that profile name will be utilized in the PC*Miler integration instead of passing equipment dimensions.

Retrieval Hierarchy

Logic used to retrieve distance and transit time from PC*Miler will make separate calls to establish the appropriate granularity of each of the two applicable addresses before performing the actual distance / transit time retrieval request.

The hierarchy will be as described below. For each location, the process will end once PC*Miler returns a location successfully. If this process fails for either location, the distance / transit time request will also fail.

When handling addresses outside North America (i.e. country is not CAN, USA or MEX):

  • The Country Code of the address will be used to access the country table to retrieve the corresponding FIPS Country Code.
  • The Country Code and State/Province Code of the address will be used to access the state table to retrieve the corresponding State/Province Name.

When handling any address:

  • The characters in the Zip/Postal Code of the address will be compared to the postal masks for the applicable country. The Mask Distance Truncation Code for the identified postal mask will be used to remove unsupported characters from the Zip/Postal Code before it is used in a PC*Miler distance / transit time retrieval request (e.g. Zip Code “12345-0001” for the USA will be passed to PC*Miler as “12345”).
Location Match

Integration with PC*Miler versions before 29 will use the PC*Miler API PCMSCheckPlaceName to check for a valid location for the given input Integration with PC*Miler 29 and later will use the PC*Miler APIs PCMSLookup and PCMSGetMatch to find the best match for the input and use that value for further processing such as latitude/longitude, address, or distance/transit time retrievals. In subsequent sections, PC*Miler 29 or later is assumed and PCMSLookup is referenced.

Latitude / Longitude Overrides

If the Latitude / Longitude for the address has been overridden, then the Latitude / Longitude will be used to trigger PCMSLookup. It this call is successful, latitude and longitude for the applicable location will be used when making the distance / transit time request.

Street Level

If the UseStreetLevelData parameter is True for the applicable PC*Miler version, the full address for the location (Block Number, Street Name, City Name, State/Province, Country, Zip/Postal Code) will be used to trigger PCMSLookup. It this call is successful, the full address for the applicable location will be used when making the distance / transit time request.

Zip/Postal Code / City / State / [Country]

Next:

  • For locations inside North America, the interface with trigger PCMSLookup with Zip/Postal Code, City and State Code.
  • For location outside North America, the interface with trigger PCMSLookup with Zip/Postal Code, City, State Name (provided State Code is not “00”) and FIPS equivalent for Country Code.

If this call is successful, this partial address info for the applicable location will be used when making the distance / transit time request.

Zip/Postal Code & State or Country

Next:

  • For locations inside North America, the interface with trigger PCMSLookup with Zip/Postal Code and State Code.
  • For location outside North America, the interface with trigger PCMSLookup with Zip/Postal Code and FIPS equivalent for Country Code.

If this call is successful, this partial address info for the applicable location will be used when making the distance / transit time request.

City / State / [Country]

Next:

  • For locations inside North America, the interface with trigger PCMSLookup with City and State Code.
  • For location outside North America, the interface with trigger PCMSLookup with City, State Name (provided State Code is not “00”) and FIPS equivalent for Country Code.

If this call is successful, this partial address info for the applicable location will be used when making the distance / transit time request.

If this call is not successful and location is outside North America and previous attempt was made using State Name, try again without State Name.

Latitude / Longitude Non-Overrides

If the Latitude / Longitude for the address has not been overridden, then the Latitude / Longitude will be used to trigger PCMSLookup. It this call is successful, latitude and longitude for the applicable location will be used when making the distance / transit time request.

Multi-Version Switch

If a distance engine version that refers to a PC*Miler Version is defined for a tariff, distances will be retrieved from the designated PC*Miler Version when the tariff is used to route/rate/schedule a load, trip, etc. This is useful in cases where negotiated carrier rates are based on a specific version of PC*Miler.

PC*Miler Multi-Version Switch is only available on Windows and runs as a 32 bit application. TM can support this feature on Windows with a 32 bit distance server. The TM 64 bit distance server (DistSrv) will interact with the 32 bit counterpart (DistSrv32).

The PC*Miler Breakdown feature is not supported by the TM Distance server when using the PC*Miler Multi-Version Switch. The BreakdownRequired option is used by scheduling to identify distances and transit times associated with travel in each country on a multi-national voyage. It is useful in cases where driving regulations vary between countries.

Distance engine versions for PC*Miler where Version is not defined are treated as if they are defined with the default PC*Miler Version. The default PC*Miler Version is the version specified under the “[default]” section in pcmmv.ini under C:\ALK Technologies\ALKMVS (assuming installation was performed using default folders).

If Version is defined in an engine version of TM and PC*Miler Multi-Version Switch is not available (e.g. PC*Miler Multi-Version Switch not installed but regular PC*Miler is present, or distance engine is running on Unix), the Version in the distance engine version will be ignored and error message will be logged in the distance server log during server start up. Otherwise, TM Distance Server will continue to work as usual.

If PC*Miler Multi-Version Switch is available, but the particular Version specified has not been installed or is not running, TM Distance Server will fail to initialize. The problem must be resolved first before TM Distance Server can function properly. TM Distance Server should be restarted after the problem is resolved.

See Also