Btrieve and Pragma

Last update:
August 1st, 1997

If you have any suggestions, hints, do's and don'ts about Btrieve and Pragma, let us know and we will add your experience to the documentation.

History of Btrieve and Pragma

Paul Hotz
September 2, 1996

Lately we are having a problem with Pragma 4 (and as a consequence with Pragma 5) and Btrieve, due to a non standard implementation of Btrieve made some time ago by Monolith in Germany.

History
To understand the problem, let me explain how Btrieve was born. Around 1986, Logical decided that Pragma 3 needed a new file manager. We needed a new file manager for two reasons: to break the infamous 4 MB barrier file size and to allow multiple indexes.
When Pragma 4 was created, the Btrieve file manager was adopted without changes from Pragma 3. As a matter of fact, even PFM adopted the same way of working. Our implementation of Btrieve in Pragma 4 is what we call mockflag 0.Therefore data of a Btrieve file was always portable without any changes between Pragma 3 and Pragma 4. Since the file manager code in Pragma 4 and Pragma 5 is the same, also Pragma 5 can read and write to these Btrieve files. You can recognize mockflag 0 files by looking at the file definition. The first noun of the file must be the index selection noun.

Pragma 5
Pragma 5 uses version 6.15 or later of Btrieve. To be compatible with Pragma 4 files, you must check that among the options of Btrieve, you choose to write files in the Btrieve 5 mode as opposed to the newer Btrieve 6 mode.

Problem
If you are using Logical Btrieve files in Pragma 3, there are no problems in Pragma 4 or Pragma 5.
A few years ago, Monolith of Germany decided to enable a "painless" transition for Pragma 3 files using Fileserver to Novell networks and Btrieve.
They enabled Pragma 3 to read and write to special Btrieve files that looked like Fileserver files. Thus an incompatibility with Pragma 4 was created, which we strongly objected to and never supported. These "Btrieve" files can be recognized by the fact that in the file definition the first noun is not an index selection noun, but a field.
If you are using "German" type of Btrieve files there is nothing that we can do to help you. You must convert them to standard, Logical Btrieve files, since "German" type Btrieve files never have and never will be supported by Pragma 4 or Pragma 5.

 

Btrieve Files of the German Pragma 3 and Compatibility to Pragma 4 and Pragma 5

Hans Joachim Schmidt
Lauth + Scheihing
April 24, 1997

Btrieve Files des Deutschen Pragma 3 und Kompatibilätat zu Pragma 4/Pragma 5 :

Solche Dateien können in Pragme 4/5 sehrwohl normal bearbeitet werden. Dazu sind ein paar wenige Vorraussetzungen notwendig :

  1. Die Btrieve files enthalten im key keine numerischen Referenzen.
  2. Werden kürzere Referenzen als die definierte key-Länge verwendet, dann müssen die betroffenen Dateien mit dem Modul PRAFMI Version 5.69 einmal durchgelesen und zurückgeschrieben werden. Danach sind die Dateien sowohl in Pragma 3 als Pragma 4/5 bearbeitbar, den zukünftigen Einsatz von PRAFMI Ver. 5.69 vorrausgesetzt.
  3. In der Dateidefinition in Pragma 4/5 muss MOCK-flag 2 verwendet werden.

Der jeweils neueste PRAFMI ist bei uns (Lauth + Scheihing) erhältlich.

PRAFMI.ZIP contains the following files:
PRAFMI.COM Version 5.69, April 7, 1997 (04-07-97, 17 Kbytes)
PRAFMI.ZIP (08-01-97, 9 Kbytes)

PRAFMI.ZIP (08-01-97, 9 Kbytes)

 

lip_tec.gif
t_btrv.htm