The PC*MILER-AS/400 system uses distributed processing techniques (i.e. the processing is split into two). The user interface or interactive software is written in RPG and runs on the AS/400. Small CL programs are used for the creation and removal of temporary data queues (output or response queues). The mileage calculation software is written in C++ and runs on a PC in the Windows environment. 


The RPG programs communicate with the PC mileage calculation software through Client Access Express. The interactive software on the AS/400 allows multiple users to look up point-to-point mileage and routes for up to thirty stop-off points. The Windows server application creates a data queue on the AS/400 at startup called MIDQUE. The server application waits for mileage requests and processes them when received. While the server application is waiting for work to do, the PC can be used for other tasks such as PC*MILER graphics or RUMBA terminal emulation.



The program MIINQ contains two subroutines that can be used to integrate miles with other transportation software. The subroutine SNDREQ sends mileage requests to PC*MILER and the subroutine RSLT receives mileage results from PC*MILER. The subroutine PLOT can be used to send graphics requests for ETA truck display of graphics. 


For example, a truck or vehicle ID’s Lat/Long, ZIP, or city name position can be sent to the PC using PLOT and the “DT” request. Then a “DR” request with the truck’s origin and destination can be sent so that a graphical ETA can be determined. The data structures of these subroutines are described below.

The PC Mileage Server can respond to a total of thirteen types of mileage and graphic requests:


Mileage

VN =   Version of PC*MILER Highway Data being used by the server

VA =   Validation that a stop (City, ZIP code, etc.) is recognized by PC*MILER or a list of possible matches to a partial city or ZIP code

MI =    Total mileage for up to 30 stops

SM =   Total mileage for up to 30 stops broken down by state or province

HS =   Turn-by-turn driving instructions for up to 30 stops

LL =    Returns the lat/long coordinates for a city or address (PC*MILER|Streets only)


Graphics

DR =   Draw Route for up to 30 Stops

DT =   Draw up to 30 truck bitmaps or “push pins” on the map

CT =   Clear Truck bitmap from a specified location

CR =   Clear a drawn route line

CA =   Clear all routes and trucks

PR =   Print route

PA =   Print all


The PC Mileage Server responds with the following types of returns

VR  Version of PC*MILER or PC*MILER|Streets running on the PC

PL  Good/Bad Stop or a ‘pick list’ of potential matches

CP  Total Miles for a trip

SR  Total Miles for a trip broken down by state or province

HR  Turn-by-turn driving instructions or “highway segments”

VN  returns a VR

VA  returns a PL

MI  returns a CP 

SM  returns a CP and an SR.

HS  returns a CP, an SR and an HR

LL  returns an LR