The Opsys Telecom Session for Order Entry

Click on an option for details

Concepts

Remote Order Entry is an optional component application of GO.EXE. The application connects on demand with compatible remote order entry systems (one at a time) through a single telephone line. Received orders are queued on the PC's hard disc and passed (on demand) to your main (Host) computer, which processes the order and returns the outcome to the PC. The application records the outcome and sends an Outcome Report to the remote system, if it chooses to remain on-line.

Orders

Your customers prepare each order off-line on suitable computer equipment, then send their order directly to you over the public telephone network. Developers wishing to implement client-side order entry software should consult the Protocol Handbook. See Order Entry for the Psion Series 3 and Order Entry for the Epson HX20 for my client-side order entry software.

An order consists of:

Order Header
The customer’s identification and any special instructions such as the delivery point or the order type. These attributes are encapsulated within a five digit Access Code allocated by yourselves and interpreted by your Host computer software. GO.EXE generates a five character Password (unique to yourselves) for each Access Code. You issue the Access Code with its Password to the customer. The Order Header may include a Reference of up to thirty characters for your customers’ own use (you may wish to print this on any documents ensuing from the order).
Order Lines
A list of the Item Codes and quantities being ordered. Quantities may be given in Units or Cases and customers may request that shortages on individual order lines are to be placed on back-order (it's up to you whether or not you do so). Item Codes supported by GO.EXE are PIP Codes (7 digits), EAN Codes (up to 13 digits), BCL Codes (up to 4 digits and a letter) and LINK Codes (3 letters then up to 4 digits and a letter). GO.EXE passes the received Item Code to your Host computer for interpretation.

GO.EXE isolates your Host computer from the various systems used by your customers, relaying information between the Host and Client ends (without loss or duplication provided the other systems cooperate). It is optimised for the fast handling of bulk orders. Callers cannot "browse" your product file and cannot "hack" into your system. Your Host computer makes all the decisions over how to handle orders (e.g. it might substitute an alternative product in certain situations).

The application is designed to operate attended or unattended. It handles all the intricacies of communication over the public telephone network, presenting your Host computer software with a standard interface independent of the various remote systems. It will accept, queue and acknowledge orders even when your main computer is temporarily unable to process them. It retains the details and the outcome of orders taken and provides a simple mechanism to resubmit orders to your Host computer (without troubling the customer) should this be necessary.

Where an Order Entry PC replaces a Host computer terminal (connected through a serial cable), your sales staff may process orders manually and/or electronically in one telephone call. For example, a Calling Rota scheme implemented on your Host computer may present an account and telephone number to be called, GO.EXE gets the modem to dial the number, a conversation ensues then the modems are put on-line to process a prepared order, then a manual order is taken.

Picking Lists

As GO.EXE can receive orders even if your Host system cannot process them, you could find yourselves with a mass of Access Codes and Item Codes that you cannot easily interpret. GO.EXE can look up these codes in its database, if you pre-install a file with suitable content named EOEBASE.CSV (this should be replaced periodically to keep it up to date). The scheme works as follows:

  1. If GO.EXE finds EOEBASE.CSV in the current directory (e.g. at start up), it builds (or rebuilds) the file GO.SYN comprising indexes into EOEBASE.CSV by Access Code, PIP Code, BCL Code, LINK Code and EAN Code.
  2. EOEBASE.CSV is renamed EOEBASE, deleting any previous file EOEBASE (this avoids rebuilding the index unnecessarily unless a new version of EOEBASE.CSV is installed).
  3. When an order is received, its Picking List will be posted to the logging printer for immediate printout unless the Host computer is processing that order. This means that as soon as the Host/PC interface fails, GO.EXE automatically starts printing picking lists for incoming orders. Incoming orders will continue to be received normally even if the logging printer is temporarily unable to print.
  4. A picking list may be reprinted (whilst the order status remains Pending) by pressing PrtSc when viewing the order on screen in Telecom Main Menu Option Q Queue Enquiry/Amend.
  5. A sample picking list is shown below (this is printed in your Bin Number sequence):
    ** 11 Feb 98 17:39:44 Received 10 lines via line 99. Protocol:A4 Modem connect:10
    Access Code 01008 C/Ref:ALPHA 4 
        1D
    JOHN WELLINGTON WELLS THE SPOOKERY BATT END UNDER WYCHWOOD GLOUCESTERSHIRE
     1/243/078 Pick    1 B      100   PROMINAL TABS 200MG                                           8828K 
    16/065     Pick    2 B       36   JELONET 10X10CM TIN 7478                                      41X   
    26/032     Pick   20 B       10   K-BAND 10CMX4M                                                2276V 
    37/114/001 Pick    1 B      100ML URINE TEST GLASS CYLIND 232/S                                 5358N 
    77/114     Pick    1 B       56   HYPOVASE TABS 0.5MG                                           5799A 
    77/275     Pick    1 B       28   STARIL 10MG TABLETS                                           11734R
    77/322     Pick    1 B      100   LABSTIX REAGENT STRIPS                                        1509B 
    77/413     Pick    2 B       50G  FLAMAZINE CREAM                                               6934V 
               Pick    2 B            Order line   1 Code     028-2749  not on local file.
               Pick    2 B            Order line   2 Code     044-0586  not on local file.

EOEBASE.CSV

EOEBASE.CSV is an ASCII Comma Separated Variable file with one product or account record per line.

Network Architecture

Your electronic information network may seem formidably complex when something is not working smoothly! It may help to visualise a series of layers, each one built upon its predecessor:

At each layer, information passes according to a set of rules called a protocol. Many different protocols (each identified by some name or other) may be encountered at any layer. Note that communication is virtual at all layers except the physical: in reality data is transferred across the interface between each pair of adjacent layers, so a failure in one layer will result in all higher layers failing too.

For further details, see the Opsys Protocol Handbook. Opsys handles all communication with and through the local modem via a background task known as the Communicator.

Telecom Files in GO.EXE's Current Directory

SYNCHolds the configuration settings for GO.EXE and the current control data for the Telecom Session.
TELECOMHolds the received order queue and the control data for each item in the queue, including its status and outcome.
TELECOM.BAK
TELECOM.TMP
Main menu option E (Erase old items from queue) produces a new version of the file TELECOM. During this process the new version is named TELECOM.TMP. On completion, the old version is renamed TELECOM.BAK.
TELECOM.REFA work file indexing the start position of each queue item in TELECOM.
TELECOM.HISHolds descriptive text provided by the Host computer during order processing: viz. Account description, Invoice To, Deliver To, and product descriptions.
EOEBASE.CSV
EOEBASE
See Picking Lists.
GO.SYNB-Tree structured indexes into EOEBASE to decode Access Codes, PIP Codes, BCL Codes, EAN Codes and LINK Codes for Picking Lists. Also used to sort the Picking List into Bin Number sequence.

When GO.EXE is started:

If the queue appears to have become garbled, you should close down GO.EXE, delete TELECOM.REF and TELECOM.HIS, then restart GO.EXE. This will resolve the problem without losing any received order data, provided the TELECOM file is intact. If it does prove to be garbled (and this is not confined to specific orders which you can stop), you'll have to delete TELECOM too.

The MS-DOS Archive