DealRate User Manual
Deal Rate User Manual
TraderClient picks up these deals and presents them to a pool of traders each on their own workstation. Any trader may select a listed deal and provide a rate for it, at which time the deal is removed from the pool and sent back to the WWW Server Application for further downstream processing.
DealRate handles all the transfer of data and synchronization into and out of the FileMaker application TraderClient. The data transfers are all done via flat-file and environment variables are used to determine the file "drop locations".
DealRate runs on any hardware and operating system
that supports an ANSI C compiler. TraderClient runs on
any platform for which a FileMaker runtime is available
(currently only WIN32 or Macintosh).
The parameters for DealRate are as follows:
InputDir The name of the directory into which deal files
will be placed by the WWW server application. This program
argument overrides the DL_DLSDIR
environment variable.
data_ext The 3 character extension of the files, placed
in the InputDir directory by the WWW server application,
each of which contain a deal record.
Before a deal record may be sent to TraderClient, DealRate checks that the FileMaker application is ready to receive a deal. It does this by checking the DL_DLSDBDIR directory. If this directory does not contain a file called "indata.lk2", DealRate waits until this file appears, at which time DealRate copies an available "<root>.dlr" file from the DL_DLSDIR into the DL_DLSDBDIR directory into the file named "indata.dat". and deletes the "indata.lk2" file from this directory. The corresponding "<root>.lok" file is also deleted from the DL_DLSDIR directory.
The TraderClient server application imports any deal records from its "indata.dat" file providing its "indata.lk2" file is *not* present, immediately creating "indata.lk2" to signal to DealRate that the "indata.dat" file may now be reused. TraderClient gathers deals for which traders have provided a legal rate, on roughly a 3-second cycle time. If any completed records are found and providing the file "outdata.lk1" is *not* present, the TraderClient server exports all completed deals into the file "outdata.dat" and creates the file "outdata.lk1" to signal to DealRate that data is now available to be processed.
When the file "outdata.lk1" appears in the DL_DLSDBDIR directory, DealRate checks for the absence of a file called "SteelPoint.lck" in the DL_DLSODIR directory. If this file is *absent*, DealRate writes the contents of the "outdata.dat" file to the file named "SteelPoint.dat" in the DL_DLSODIR directory. DealRate then creates the file "SteelPoint.lck" in the DL_DLSODIR directory and deletes the "outdata.lk1" file from the DL_DLSDBDIR directory.
Phew!!
setenv DL_ECMD (uniq -6 | cat > /dev/console)
Each line in the <TCID>.msg file is timestamped and its process-origin is identified. <TCID>.msg is deleted each time after the command in DL_ECMD is executed.
To prevent short-term error conditions from producing orphaned notifications a 45 second delay is implemented for new batches of error notifications.
DL_ECMD The command to be used to process critical (information and error) messages (including all arguments to run the command) is taken from this variable. The command must take its input from the standard input stream.
DL_DLSODIR The full path to the directory where DealRate will put its data files once a rate has been assigned by a trader.
DL_DLSDIR The directory where the SteelPoint Server Application will place deal record files for processing. This variable is superseeded by the optional InputDir program argument.
DL_DLSDBDIR The directory where DealRate will place deal record files for the TraderClient GUI to process. DealRate also expects to pick up completed deal files from this location.
DL_REGEXP The extension (including the '.') of files in the directory, specified by the optional InputDir argument or the DL_DLSDIR environment variable, that will contain deal records for processing. These records having been placed in this location by the Steelpoint WWW Server Application.This variable is superseeded by the optional data_ext program argument.
DL_PRINT The number of days into the past from which this mimic will serve deals.
If DealRate is left running overnight, a new logfile is automatically created as soon as necessary after midnight.
The file MANY<mmdd>.msg contains one line for each critical message. Each line comprises four sections:
- <application name>
- [<DateTime>]
- <a critical message>
- #<a critical message number>. Error numbers for DealRate are in the 130,000 to 139,999 range.
For Example:
mtadlr [Tue Nov 14 19:03:06 1995]
/usr/pub/pear_shaped...No such directory
q or Q quit the program gracefully
eof DealRate enters Daemon Mode (see above).
On UNIX operating systems, SIGPIPE is caught and its passage is noted in the logfile.
set MTA=F:\softek\RateFiller
set DL_DLSODIR=%MTA%\Steelpoint
set DL_DLSDIR=%MTA%\Steelpoint
set DL_DLSDBDIR=%MTA%\TraderClient
set DL_REGEXP=.dlr
set DL_PRINT=no
cd %MTA%
start %MTA%\dealrate\debug\dealrate.exe
cd ..\TraderClient
start TraderClient.exe
exit
Since all the arguments to DealRate are optional (and satisfiable from environment variables), DealRate may be turned into an "always on" NT service (with the application of a suitable "service layer"). The above command file serves as an illustration for the required environment settings and doubles as an example of the command script that may be associated with a manually activated shortcut, or placed in the NT directory for automatic startup on user-login.
- Locate the TraderClient distribution directory provided by Softek.
- Copy this entire directory to the client workstation to be installed.
- Run the TraderClient application by activating the "SOFTEK PARTNERS SOLUTION.EXE" on the newly installed client.
- Hit the "Find" button when the normal trader window has appeared.
- Within 2 seconds, hit the "Find" button in the new find dialog window (this will halt the scripts and allow menu interaction).
- Pull the "Edit" menu down to "Preferences" and set up the network preferences to be TCP-IP. This same dialog box has a text-box for a machine name which should be set up with the unique trader id for this workstation.
- Dismiss the dialog box and quit the application.
- *MOST IMPORTANT* the 2 files "Loadtest" and Softek Partners" **must** now be deleted from the trader's workstation before the TraderClient software is re-activated.
- The last step (see *MOST IMPORTANT* above) was not performed and the 2 database files are still present in the workstation's TraderClient directory.
- The server TraderClient application is not running on the server machine.
- A TCP-IP network failure has occurred or the TraderClient installation was not performed as described above..
The last two cases above would result in a message stating that the necessary databases could not be found and inviting the user to locate them manually. It is always advisable to decline this invitation and either start up the server application or set up the local network or TraderClient properly.
The only difference between a client (workstation based) version of the TraderClient software and the server version is that the server version has the two extra database files "Loadtest" and "Softek Partners" in the same directory as the TraderClient executable ("SOFTEK PARTNERS SOLUTION.EXE").