Viite-Handler 45.0, 1. Release (12-Apr-2002)

Table of Contents

1 Legal

As with most software, there are legal conditions associated with Viite-Handler and you must read them before you first use the program.

1.1 Copyright

Viite-Handler - A DOS handler generating reference numbers for bank transfers Copyright (C) 2002 Mikko Koivunalho

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

1.2 Trademarks

This documentation may mention various hardware and software by name. Such names are often protected Trademarks and their mention in this document shall in no way damage their legal status.

1.3 Author

You can contact the author at the following addresses:

@email{JUNKmikko.koivunalho@iki.fiNOSPAM} (remove "JUNK" and "NOSPAM")
World Wide Web URL:

2 General

This chapter explains why you may need Viite-Handler, how it works, its system requirements, and how to install it.

Please aquaint yourself with these points before using Viite-Handler.

Note that these instructions include an extensive glossary. If You are unsure of a particular term in the technical jargon, You should check the glossary first, to see if it's explained in there.

Terminology which is adequately explained in Your system manuals has not been included in the glossary. If You are new to, and/or not familiar with your AMIGA, You are urged to keep its manuals at hand.

2.1 Introduction

When You make a bank transaction, i.e. transfer money from one account to an other, for example when paying for rent or Your phone bill, You have surely noticed that long series of numbers which identifies Your payment from the payments of others'. This string of numbers does not consist of just any numbers. It is calculated with an algorithm and this algorithm can be used to check if the payer has written or punched the right numbers. This of course reduces the amount of typos. Viite-Handler is a program to automatically generate those reference numbers.

You need Viite-Handler if You do section B Glossary. Usually invoicing requires creating a lot of bills at the same time. That is what Viite-Handler is for. Because it is a section B Glossary, You only mount it once, not run everytime a new. Think about the saving of section B Glossary

What Viite-Handler does, is create a DOS Device, a handler, from which You can read files, whose contents are the reference numbers.

An example: You have a client with an identification number, ID, 1234 and You want to bill him. You print on the bill reference number which is derived from his ID number. But not just any series of numbers can be a reference number. A reference number is any series of numbers which ends in a specific verification number. This verification number is calculated in a special way.

To derive the reference number from the ID number, You only need to start Viite-Handler and use DOS Device VIITENUMERO:. Open file VIITENUMERO:1234 and read its content. The only content is a string which actually is the reference number.

section 2.4 Testing

2.2 Background

How does Viite-Handler work? Viite-Handler receives DOS calls (Open(), Close(), Read(), Write(), ...) directed to the DOS Device VIITENUMERO:. When You open a file for reading (with Open() function) Viite-Handler creates a virtual file (i.e. a file which does not exist in any mass media). The content of this virtual file is calculated with an algorithm from the name of the file opened.

The name of the file opened is always a string of numbers, if anything else, VIITENUMERO: claims the file doesn't exist. This string is analyzed in the following way:

Read from right to left, each of the numbers are multiplied with another numbers according to the following pattern: the first by 7, the second 3, the third by 1, the fourth again by 7 and so on. The outcome of these multiplications are added together. This amount is then subtracted from the next full ten. This outcome is the verification number of the reference number and it is added to the end of the string. This string is the content of the virtual file.

An example:

12345 -> 7*5 + 3*4 + 1*3 + 7*2 + 3*1 = 67 -> 70 - 67 = 3

Reference number is therefore 123453.

2.3 Requirements

2.4 Testing

If You want to test Viite-Handler before installing it, follow these steps:

  1. Start a Shell process.
  2. Change directory to Viite-Handler: CD [DRIVE:]Viite-Handler
  3. Assign L: to Viite-Handler/L: Assign L: ADD L

Now You can test VIITENUMERO:. Type:

2.5 Installation

As Viite-Handler is very simple to install, no installation script has been provided.

  1. Copy file `L/Viite-Handler' to directory `L:'
  2. Copy file `DOSDrivers/VIITENUMERO' together with its icon to:
    1. directory `SYS:Devs/DOSDrivers' if You want `VIITENUMERO:' to be mounted when Your Amiga boots, or
    2. directory `SYS:Storage/DOSDrivers' if You only want to mount `VIITENUMERO:' when You require it.
  3. Copy `' to directory `HELP:' or any other location where You store manuals.
  4. If You require a printed manual, there are several printable files in different format included in the `Docs' directory.

3 Using Viite-Handler

Having successfully installed Viite-Handler and having gained some understanding of the underlying principles, you can being using Viite-Handler. This chapter outlines points to note while using this program.

3.1 Using Viite-Handler

When VIITENUMERO: is installed in Your system, You can begin using it. Its use is already described in section section 2.4 Testing so it won't be repeated here.

Viite-Handler can handle these DOS Packets:

Open file for reading (read-only). Equivalent to DosLibrary command Open().
Read from file. Equivalent to DosLibrary command Read().
Close file. Equivalent to DosLibrary command Close().
Tell the handler to shutdown and remove itself from the system. No equivalent in DosLibrary.

To all other packets Viite-Handler will answer with DOSFALSE, ERROR_ACTION_NOT_KNOWN.

3.2 Parameters

Only one parameter can be given when opening a file in `VIITENUMERO:' /NOSPLIT. This parameter will cause the generated reference number to have no spaces. Normally there is always a space after every five numbers to ease reading. The spaces are counted from left to right.

4 More on Subject

This chapter contains information about the executable `Viitenumero' and speculation about world wide banking standards.

4.1 Program Viitenumero

The executable `Viitenumero' is provided for Your convenience in case You only need to know one reference number and don't want to mount VIITENUMERO:.

4.2 Other Ways

Well, saddest part!

I know that the section 2.2 Background is used in Finnish banks but I have no idea if it is in use in other countries. I'd like to hear from You, dear user, if the banks in Your country use a different system. Then I could modify Viite-Handler to Your needs.

section 1.3 Author

4.3 Source Code

The source code to both Viite-Handler and Viitenumero has been released together with the programs. It resides in the directory `Source'.

Viite-Handler is programmed in C. Viitenumero on the other hand is programmed in Eiffel. Eiffel is fully object-oriented programming language which I find both easy to write and read. In fact, compared to C, Eiffel source code looks "beautiful". Visit @url{} for the Eiffel compiler I use.


"VIITENUMERO:" is such a long name for a DOS Device. Is there any way I can shorten it?
If You get sick and tired of "VIITENUMERO:" You can always rename it. "VIITENUMERO" is just the name of a DOS Device which is using Viite-Handler as the underlying DOS Packet Handler. VIITENUMERO: is mounted with the Mountlist in file `DOSDrivers/VIITENUMERO'. By changing the name of this file and the name "VIITENUMERO" inside the file, You can change the name of the mounted device. Any string of characters is good as long as it doesn't conflict with any existing name.

B Glossary

Bug Report
Larger projects invariable contain some ugly errors which the user may encounter at some time. In such cases, we ask that the user submit a Bug Report. This is a description of the error which has been encountered. Check the circumstances under which the error occurs and write down everything! Note the exact version of Viite-Handler which you are using and the configuration of your computer. Most significantly, note the name and version of the device driver which you are using. If you are using `scsi.device', simply type "version scsi.device full" at a CLI prompt and note the output.
Coffee Break
A coffee break is that amount of time required by a program to do a particular task in background. Most of the time, there's no precise indication of how long this is. Sometimes, it won't be long enough to get the kettle to boil, yet at other times, you'll have enough time to invite the neighbours around to share the latest gossip over some cake.
Device Driver
Every hard drive requires a Device Driver so that it can be used in the AMIGA in a system-conformant way. This driver is responsible for reading data from, and writing data to the hard disk, amongst other tasks. Devices drivers have a name ending in .device. For example; scsi.device, gvpscsi.device, omniscsi.device, z3scsi.device, dracoscsi.device, etc.
This is a system list maintained in RAM, The list contains all devices (e.g. `DF0:', `DH0:') as well as volumes and assigns known to the system. This list contains all the information required to mount devices such as `DF0:' and `DH0:'.
A disaster is the greatest foreseeable accident. In relation to computers, disaster usually means the destruction of You harddrive by some unforeseeable cause, usually malfunctioning program or the ending of the warranty. Viite-Handler can not cause this, as far I know. If it does, please do a Bug Report.
The underlying program which receives DOS Packets sent to the DOS Device (e.g. PIPE:, CON:) and answers to them. Handlers reside in ROM or in directory `L:'.
Installer Script
A unified method of installation for all software packages on the AMIGA was developed to make this as simple as possible. Every package includes a plain-text file -- the installer script --- to be interpreted by the Installer program at installation time to make the installation process as independent as possible of the prior knowledge of the user.
In principle, the MountList contains the same data as partition blocks. The significant difference is that MountLists are files usually in the `DEVS:' directory and therefore readily accessible to the user. Partition blocks, in contrast, are very difficult to access for the normal user. A MountList may contain entries specifying several partitions.
Most hard disks are divided into regions (called partitions), named something like `DH0:', `wb_2.x:', `work:' etc. Sometimes, only a single such region exists. A partition can only be mounted if its precise location is known. This information can be lost in the case of a disaster.
Program Icon
Many programs have an icon -- a small symbol on which you can click when it appears on the Workbench. Icons belonging to programs are called program icons. Further information about this can be found in your Workbench manual.

C Acknowledgements

The creation of Viite-Handler would not have been able without the following people and "things", so credit where credit is due!

Ralph Babel: The Amiga Guru Book
A true AMIGA programming manual, precise and comprehensive.
Sami Jaatinen
Who always listens to my concerns about AMIGA and finds positive sides.
Texinfo - The GNU Documentation Format
Absolutely necessary for this manual.
SAKU - Suomen Amigakäyttäjät ry
The Finnish Amiga Users society for keeping the AMIGA spirit alive.
Bertrand Meyer and his Eiffel programming language
Eiffel was used in the programming of the executable `Viitenumero' and I would have used it in coding the handler, too, if AMIGA only would allow it. But C is AMIGA's native language.
SAS/C Amiga Compiler 6.58
Viite-Handler was compiled with the excellent SAS/C Amiga Compiler 6.58.

Keyword Index


  • Acknowledgements
  • Author
  • b

  • Background
  • Banking
  • Bug Report
  • c

  • Coffee Break
  • Copyright
  • d

  • Device Driver
  • DeviceList
  • Disaster
  • DOS Device
  • DOS Packet
  • DOS Packet Handler
  • f

  • FAQ
  • Frequently Asked Questions
  • g

  • Glossary
  • h

  • Handler
  • i

  • Installation
  • Installer Script
  • Introduction
  • l

  • Legal
  • m

  • Manual
  • More on Subject
  • MountList
  • p

  • Parameters
  • Partition
  • Printed Manual
  • Program Icon
  • Program Viitenumero
  • r

  • Reference number, Reference number
  • Renaming VIITENUMERO:
  • Requirements
  • s

  • Settings Menu
  • Source Code
  • t

  • Testing
  • Trademarks
  • u

  • Usage
  • Using Viite-Handler
  • v


  • This document was generated on 16 August 2003 using the texi2html translator version 1.51.