Business BASIC - Das professionelle BASIC für Großrechner

Nixdorf-Logo

© Hans-Jürgen Schröder (Autor) und
Thomas Antoni (Redaktionelle Bearbeitung und Interview)
März 2004 - Juli 2011



Inhalt



Vorwort von Thomas Antoni

Die wenigsten QBasic-Fans wissen, dass es mal ein professionelles BASIC namens "Business BASIC" für betriebswirtschaftliche Anwendungen gegeben hat. Hersteller von Business BASIC war der deutsche Computerbauer Nixdorf in Paderborn.

Im Jahre 1975 brachte Nixdorf das Magnetplattensystem 8870/Quattro heraus, das als ein System der "mittleren Datentechnik" mit mehreren Datenterminal- Arbeitsplätzen verbunden werden konnte. Darauf lief Business BASIC und das damit programmierte kommerzielle Softwarepaket COMET, jene Anwendungs- Software, die Nixdorf so richtig berühmt machte. COMET war in den siebziger und achtziger Jahren bei mittelständischen Firmen sehr erfolgreich. Etwa 200 Branchen erhielten maßgeschneiderte Lösungen. Die Anpassungen wurden natürlich ebenfalls in Business BASIC programmiert.

Per Zufall bekam ich im Jahre 2003 einen Mailkontakt mit dem erfahrenen Business BASIC Anwender Hans-Jürgen Schröder. Hans-Jürgen hatte soviel über Business BASIC zu berichten, dass ich ihm vorschlug, doch einen Gastartikel über Business BASIC für www.QBasic.de zu verfassen. Und hier kann ich diesen nun stolz präsentieren.

Aus den Fragen, die ich Hans-Jürgen nach und nach stellte, und seinen Antworten ergab sich das im Anschluss des Artikels aufgeführte Interview.

Zum Abschluss des Artikels erhalten Sie noch ein paar interessante Zusatzinformationen über Business BASIC von Karl Pircher, der ebenfalls ein erfahrener Business BASIC Anwender ist. Außer dem gibt es noch einige Hintergrund- Informationen zu CROSS BASIC von Michael Klessmann.

zurück zum Inhalt  


Eine kurze Geschichte über Business BASIC

Da man kommerzielle Probleme nicht mit dem üblichen BASIC bewältigen konnte, wurde in den 70er/80er-Jahren das kaufmännische Business BASIC entwickelt.

Speziell wurde es für die Dialogverarbeitung mit Mini-Computern und Büro- Computersystemen erfunden. Verbunden mit einer sehr leistungsstarken Hardware wurde es damit in allen Betrieben möglich, den Computer mit Hilfe von Bildschirmterminals direkt an den Arbeitsplatz zu bringen. Die Terminals hatten keine eigene Intelligenz und hingen an einem zentralen Großrechner (Mainframe).

Business BASIC wird zur Laufzeit interpretiert, d. h. die normalerweise erforderlichen Übersetzungsprogramme entfallen (wie auch bei QBasic). Auf diese Weise entstehen keine Zeitverluste durch Übersetzungsläufe. Syntaxfehler werden bei der Eingabe falscher Anweisungen sofort erkannt und zurückgewiesen. Programmtests und Änderungen sind leicht und schnell möglich, weil das entsprechende Programm direkt über die Tastatur des jeweiligen Bildschirmarbeitsplatzes getestet und gewartet wird.

Die in den siebziger und achtziger Jahren von Nixdorf vertriebene Anwendersoftware COMET ist in Business BASIC geschrieben und lief auf den sogenannten Quattro-Maschinen.

Drucker ZD09 mit Nixdorf Quattro 8870/75

Teilansicht Drucker ZD09 mit Nixdorf Quattro 8870/75


Da alle Programme nicht kompiliert sind (keine EXE-Files) ist es leicht, Änderungen auch in den COMET-Standardprogrammen vorzunehmen. Man mußte diese zwar dokumentieren und in einer Testdatei zusätzlich archivieren um beim Update auf einen neuen Software-Release-Stand diese Änderungen wieder einzufügen.

1986 starb Heinz Nixdorf, und von da ab ging es auch mit der Firma bergab. 1990 kam es zu einer Fusion zwischen der Nixdorf AG und der Firma Siemens. COMET wurde weitervertrieben und auch weiterentwickelt. Die Lösung des Jahr-2000- Problems und die EURO- Währung wurden in COMET integriert.

Die Geschwindigkeit der Programme erreichten nach Portierung unter CROSS BASIC auf die sogenannten RM-Maschinen (RISC-Maschinen, Betriebssystem SINIX-UNIX) ihren Höhepunkt. Batch-Programme durchliefen traumhafte Ablaufzeiten. Wo ein Programm auf der QUATTRO noch fast zwei Stunden brauchte, lief es auf einer RM- Plattform in gut fünf Minuten ab. Hinter CROSS BASIC stand immer noch das alte Business BASIC. Das Kind bekam unter UNIX nur einen anderen Namen. Später wurde CROSS BASIC von der Firma "mk software" auch nach Windows portiert (siehe www.mk-software.de) und später in BASICsuite umbenannt.

In all dieser Zeit ist an den guten alten Mainframes die Computer-Geschichte nicht spurlos vorbeigegangen. Microsoft und andere hatten den Markt schon lange erobert und boten Computer und Anwendungsprogramme zu erheblich günstigeren Preisen an. Und das Tolle daran war eben dieses "Klicki-Bunti".

COMET und damit auch Business BASIC wollte keiner mehr haben. Aber die, die es besitzen, halten möglichst lange daran fest. Nicht nur wegen der Einfachheit, sondern weil viele Firmen in all den Jahren Eigenentwicklungen rund um COMET selbst gestrickt haben. Dabei sind neue Projekte entstanden. Und was man selbst geschrieben hat, da kennt man sich halt aus und kann Änderungen und Ergänzungen jederzeit in einem angemessenen Zeitraum durchführen.

COMET wurde in der Zwischenzeit hin- und herverkauft. Der, der es hatte ließ es bald wieder wie eine heiße Kartoffel fallen. Viele Kunden sahen sich nach etwas Neuem um. Der augenblickliche Renner für mittelständische Unternehmen ist wohl zur Zeit Navision.

Dann kam eine neue schlechte Nachricht auf die letzten COMET-Anwender zu. Ihre heißgeliebte RM-Maschine wird nicht mehr gebaut. Was soll man tun? Worauf soll man setzen? Vor allem: Wie bringt man dem User bei, daß er jetzt mit längeren Antwortzeiten rechnen muss?

Aber Business BASIC ist noch nicht tot. Vor Jahren hat sich ein Hamburger Unternehmen daran gemacht Business BASIC unter den Namen NetBASIC auf Windows PC's zu portieren. Und das ganze läuft. Zwar nicht so schnell wie unter Unix, aber die gemachten Investitionen sind erst einmal gesichert. Wie lange noch?

Dieses NetBASIC kann sowohl in Text- als auch im Grafikmodus betrieben werden und bietet viele neue Features. Neue Befehle (CALLs) sind hinzugekommen und man kann tolle Grafiken und Farben wie bei Visual BASIC und natürlich QuickBASIC programmieren.

Business BASIC und QuickBasic haben vieles gemeinsam, unterscheiden sich aber in gewissen Situationen voneinander. Die Befehle sind überwiegend gleichlautend.

zurück zum Inhalt  

Vorteile gegenüber QuickBasic

QuickBASIC kennt dagegen keine Indexdateien mit alphanumerischem Ordnungsbegriff für Datenbanken. Neben den Dateiarten Textdatei und relative Datei kennt Business BASIC noch die Indexdatei. Und diese Dateiart ist die große Stärke von Business BASIC gegenüber QuickBASIC. Es ist möglich in einer Indexdatei bis zu 15 Ordnungsbegriffe (Keys) zu definieren. Alphanumerisch kann ein Key 30 Byte lang sein. Ordnungsbegriffe, die nur aus Ziffern bestehen, können sogar gepackt werden. Hier sind dann maximal 60 Stellen möglich. Die Verwaltung der Keys erfolgt mit einem SEARCH-Befehl der einen bestimmten Modus für freien Datensatz holen, Datensatz einfügen oder Datensatz löschen beinhaltet. Auf einen Datensatz kann auch mit alphanumerischem Key direkt zugegriffen werden. Bei QuickBASIC ist erst ab der Version 7.1 (PDS) die Verwaltung von ISAM-Dateien möglich, aber programmtechnisch auch sehr aufwändig.

Business BASIC ist von Haus aus auf Multi-User-Betrieb eingerichtet. Die Verwaltung von Satzsperren und Satzfreigaben ist hier erheblich einfacher zu bewerkstelligen. Das geht zwar auch unter QuickBASIC mit LOCK und UNLOCK oder einer individuell programmierten Satzsperre, ist aber doch schon aufwändiger zu programmieren.

Um z.B. die Systemzeit oder den Plattenindex auszulesen zu können stehen unter Business BASIC verschiedene CALLS zur Verfügung. Diese liefern die benötigten Information direkt in eine vorgegebene Variable.

zurück zum Inhalt  

Nachteile gegenüber QuickBasic

Business BASIC kannte lange Zeit keinen Grafikmodus. Erst mit NetBASIC (Weiterentwicklung von Business BASIC) kam ein Windows-Feeling auf dem Bildschirm.

Business BASIC kennt keine SUB- und FUNCTION-Prozeduren. Hier wird alles mit einem GOSUB und RETURN verwirklicht. Häufig findet man auch noch den guten alten GOTO- Befehl, der hier sehr oft unentbehrlich ist. Das trägt natürlich nicht gerade zur guten Lesbarkeit von Business BASIC-Programmen bei.

So, das war's. Sicherlich wären hier noch weitere Vor- bzw. Nachteil zu nennen, doch ich habe einmal nur die Schwerpunkte herausgepickt.

zurück zum Inhalt  


Interview mit Jürgen Schröder

Thomas: Jürgen, kannst Du ein paar Worte zu Deinem persönlichen Werdegang und die Zusammenarbeit mit Nixdorf sowie über Deine konkreten Arbeiten mit Business BASIC sagen?

Jürgen: Mein voller Name lautet Hans-Jürgen Schröder. Ich wurde am 14.08.1952 in Melle geboren; das liegt zwischen Osnabrück und Bielefeld.

Im August 1969 trat ich meine dreijährige Ausbildung zum Industriekaufmann bei der Firma Starcke in Melle an. Unsere Firma produziert Hochleistungs- Schleifpapier und -Gewebe auf Unterlage für alle möglichen Branchen. Nach der Abschlußprüfung habe ich mich in unserer EDV-Abteilung beworben, wo ich auch noch bis zum heutigen Tage bin. Nach weiterer Ausbildung zum Programmierer auf verschiedenen Mainframes sind wir im Jahre 1986 auf ein Quattro-Nixdorf-System umgestiegen. Hier begann auch mein erster Kontakt mit der Standard- Anwendersoftware COMET und der Programmiersprache Business BASIC.

COMET ist ein Warenwirtschaftssystem, das in Business BASIC geschrieben wurde. Bei Nixdorf bin ich nie gewesen, wir arbeiten nur mit deren Softwareprodukten. Zur Zeit arbeiten wir mit der UNIX-Maschine RM300 unter dem Betriebssystem SINIX von Siemens. Die COMET-Software und Business BASIC wurde vor Jahren von der alten QUATTRO auf diese Maschine portiert.

Meine Arbeiten mit Business BASIC liegen in der Wartung der COMET-Anwendung. Des weiteren habe ich eigenständige Projekte für die Kalkulation, in der Logistik und in der Warenauszeichnung (Etikettierung) mit Hilfe von Business BASIC entwickelt und realisiert.

Thomas: Gibt es noch Internetseiten zu Business BASIC und COMET?

Jürgen: Das Siemens-Nixdorf Produkt COMET gehörte viele Jahre zu den führenden Warenwirtschaftssystemen. Infos darüber gibt es unter www.qse.at/comet_sw.htm

Direkt über Business BASIC habe ich nichts gefunden. Vielleicht wird man bei Google fündig.

Thomas: Womit werden solche betriebswirtschaftlichen Programme heute programmiert? Oder wird heute dafür meist Standard-Software verwendet (SAP & Co) ?

Jürgen: Heute setzt man sicherlich wenn es irgendwie geht Standardsoftware ein. Hier stehen SAP und Navision wohl an erster Stelle. Diese Warenwirtschaftsprogramme sind vermutlich meistens in "C" geschrieben und basieren auf Datenbanksystemen.

Thomas: Wieviele Business BASIC Lizenzen wurden ungefähr verkauft?

Jürgen: COMET und somit auch Business BASIC sollen laut Nixdorf weltweit an die 60.000 - 80.000 Mal verkauft worden sein.

Thomas: Das finde ich sehr beachtlich. Was mich auch noch sehr interessiert: Warum ging die Fa. Nixdorf eigentlich unter?

Jürgen: 1952 gründete Heinz Nixdorf mit 27 Jahren sein "Labor für Impulstechnik" und lieferte noch im gleichen Jahr den ersten Röhrenrechner an das Rheinisch-Westfälische Elektrizitätswerk (RWE). Wenig später wurde das Unternehmen in "Nixdorf Computer AG" umbenannt und zog nach Paderborn. Nixdorf florierte und wuchs allmählich zum viertgrößten Computerunternehmen Europas.

Heinz Nixdorf 1984 in der Produktion mit einer Computerplatine

Heinz Nixdorf 1984 in der Produktion mit einer Computerplatine


Nixdorf war Mitte der 80er Jahre auf der Spitze des Erfolges und besaß Tochtergesellschaften in 44 Ländern der Erde sowie 23000 Mitarbeiter. Der Umsatz stieg auf 2 Milliarden Euro. Im März 1986 kam dann der Schock: Heinz Nixdorf starb kurz vor seinem 61. Geburtstag. Von da an gings bergab. Nach Berichten zu urteilen ist nach dem Tod von Heinz Nixdorf kein aussichtsreicher Nachfolger gefunden worden, der die Nixdorf AG in dem Sinne des Vorgängers weiterführen konnte. Die Idee von COMET, Business BASIC und der Plattform QUATTRO waren zur damaligen Zeit einmalig und der Zeit weit voraus.1990 schluckte schließlich der Elektro-Riese Siemens den Paderborner Konzern.

Thomas: Warum wurden eigentlich die Mainframes mit Terminal-Arbeitsplätzen von den PCs abgelöst?

Jürgen: Mainframes kosten Geld. Viel Geld. Zur damaligen Zeit waren monatliche Mieten mit Wartungsverträgen zwischen 5.000 und 8.000 EUR keine Seltenheit. Und wenn man das bei einer Laufzeit von 5 Jahren hochrechnet, kann man sich den Gesamtbetrag ungefähr ausrechnen.

Thomas: Wie war die Business-Entwicklungsumgebung ausgestattet (Editor, Syntay- Highlighting, Debugger, Library Manager etc.)

Jürgen: Eine IDE (BASIC Entwicklungsumgebung) kannte man zur damaligen Zeit noch nicht. Business BASIC ist aber mit einem Zeileneditor, Syntaxprüfung und einem Debugger ausgestattet.

Zum Programmieren rief man an der Terminalstation direkt aus dem Anwenderbildschirm heraus unter Scope einfach die Programmierumgebung mit
    #BASIC
    NEW
auf und legte los. Eine sehr praktische Sache.

Thomas: Kannst Du mal eines der von Dir entwickelten Business BASIC Anwendungen beispielhaft beschreiben?

Jürgen: Um uns das Leben allerdings leichter zu machen, entwickelten wir eine Dateiverwaltung, in der alle benötigten Dateien (COMET-Dateien und Eigenentwicklungen) hinterlegt wurden. Desweiteren richteten wir uns eine Textverwaltung ein, in der alle möglichen Fehler- und Hinweistexte einmalig abgespeichert wurden.

Für die Bildschirmmasken haben wir uns mit Business BASIC einen Maskengenerator programmiert, in dem wir die Fragefelder und die Längen der Antwortfelder hinterlegen können. Ein Beispiel zeigt der folgende Screenshot:

Screenshot eines mit Business BASIC programmierten
 Maskengerators

Mit Business BASIC programmierter Maskengerator


Für die Softkeys wie ANLEGEN, ÄNDERN, ANZEIGEN, LÖSCHEN usw. erstellten wir einen Softkey-Generator. Desweiteren schrieben wir uns ein Standardprogramm, das aus einem Startsegment, einem Dialog- und einem Drucksegment bestand. Im Startsegment werden alle Variablen, und die benötigte Maske unter Angabe ihrer Indexnummer aus der Maskendatei geladen. Das Programm lädt die zu benutzenden Dateien ebenfalls unter Angabe ihres Indexes aus der Dateiverwaltung. Das erfolgt auf verschiedenen Kanälen.

Im Dialogsegmet generiert man je Eingabefeld die benötigten Softkeytasten. Zum Anlegen eines Datensatzes drückt man in der "Funktion" zum Beispiel die F3-Taste.

Der eigentliche Programmanwender kann nun zum Eingeben seiner Daten alle Felder der Reihe nach anspringen und sie mit relevanten Daten füllen. Um beim oben genannten Beispiel zu bleiben: Steht der Cursor z. B. auf dem Datenfeld "Dateiname", dann erscheinen natürlich andere Softkeybelegungen, in diesem Falle ZURÜCK und ABBRUCH. Man kann also von einer kontextsensitiven Softkey- Belegung sprechen - eine sehr komfortable Sache. Zum Schluß holt das Programm einen Hinweis aus der Textverwaltung und zeigt diesen an. Damit erhält der Anwender eine Bestätigung, dass der Ordnungsbegriff angelegt wurde. Mit dem Softkey F2 lassen sich Datensätze beim Cursorstand "Funktion" ändern, mit F3 angezeigen und mit F4 löschen.

Mit der F5-Taste (DRUCKEN) verzweigt das Programm ins B-Segment und die gewünschten Datensätze können selektiert und auf einem Drucker ausgegeben werden.

Der Programmierer kann dieses Standardprogramm nun für vielfältige Aufgaben als Grundlage kopieren. Anschließend sind nur noch die benötigten Dateien, die Displacements und die Druckausgabe anzupassen. Unter Displacement versteht man die Position eines Teilstrings in einem Textdatensatz. Auch zum Sortieren einer Datei sind vorgefertigte Routinen vorhanden, die dann nur noch verändert werden müssen. Das Ganze ist quasi als kleine Bibliothek anzusehen.

Thomas: Kennt Business BASIC auch richtige Bibliotheken wie man sie etwa von QuickBASIC gewohnt ist?

Jürgen: Business BASIC kennt keine Librarys oder Bibliotheken im Sinne von QuickBasic. Was es gibt sind viele CALLs die aber ungefähr wie eine Bibliothek genutzt werden können.

Beispiel:
1000 DIM A1$(8),A2$(4)
1010 LET A1$="12345678"
1020 CALL 60,A1$,A2$
1030 CALL 61,A2$,A1$
CALL 60 konvertiert den numerischen Inhalt von A1$ nach A2$ (packen). Platzersparnis 4 Bytes.

CALL 61 bewirkt eine Rück-Konvertierung des Inhalts des Strings, der durch CALL 60 aufbereitet wurde (entpacken).

Übrigens: Business BASIC arbeitet noch wie GW-BASIC mit Zeilennummern.

Thomas: Ich verstehe. CALLs rufen Subroutinen auf, die die Programmiersprache direkt bereitstellt und die nicht vom Programmierer erstellt werden. Welche Datentypen gibt es denn bei Business BASIC?

Jürgen: Variablen müssen in Business BASIC vor ihrer Benutzung grundsätzlich dimensioniert werden, was eine der wichtigsten Fehlerquellen von Q(uick)Basic ausschließt.

Business BASIC kennt ähnlich wie QuickBasic folgende Variablentypen:
Typ         Belegung   max.Darstellung        max.Wertigkeit
------------------------------------------------------------
Konstante   n Bytes     n Zeichen            Alpha+Numerisch
String      n Bytes     n Zeichen            Alpha+Numerisch
1%-er       2 Bytes     4 Zeichen                    +-7.999 
2%-er       4 Bytes     6 Zeichen                 +-9.999,99
3%-er       6 Bytes    10 Zeichen            +-99.999.999,99
4%-er       8 Bytes    14 Zeichen       +-999.999.999.999,99
Die maximale Länge eines Strings ist nur durch die Größe der Partition eingeschränkt.

Beispiel einer Dimensionierung von Variablen:
    1000 DIM A$(20),1%,A1,2%,A2,3%,A3(10)4%,A4(3)

    A$ = Eine Stringvariable von max. 20 Byte
    A1 = Eine numerische Variable  2 Byte Integer
    A2 = Eine numerische Variable  4 Byte Gleitkommazahl
    A3 = Zehn numerische Variablen 6 Byte Gleitkommazahl (von 0-9)
    A4 = Drei numerische Variablen 8 Byte Gleitkommazahl (von 0-2)
Stringvariablen können durch Angabe ihres Displacements direkt angesprochen werden.

Beispiel:
    1000 LET A$="THOMAS ANTONI"
    1010 PRINT TAB(10,14);A$(8,13);


Auf dem Bildschirm erscheint auf Spalte 10 in Zeile 14 ANTONI

Variablen unter Business BASIC können von Ihrer Benennung her nur mit maximal zwei alphanumerischen Zeichen deklariert werden.
Beispiele:   A$, B1$, C, D3

In NetBasic ist es möglich wie bei QuickBasic zu schreiben:
    Artikelnr$, Artikelbezeichnung$, Preiseinheit, Preis

Thomas: Kannst Du die Datentypen noch etwas genauer erläutern? Es scheint sich ja teilweise um Binär codierte Dezimalzahlen handeln, die für das Rechnen mit Geldbeträgen optimiert sind.

Jürgen: Ja, da hast Du Recht. Die Darstellung numerischer Daten ist vom Aufbau des Hauptspeichers beeinflusst. Der Speicher des Systems Nixdorf 8870 hat Wort-Struktur: 1 Wort = 2 Byte = 16 Bit .

Eine numerische Variable belegt im Speicher 1, 2, 3 oder 4 Worte (Format der Variablen). Die Werte von 1-Wort-Variablen werden als "BCD-Ganzzahl mit Vorzeichen" abgelegt, während die Werte von 2- bis 4-Wort-Variablen als "Gleitkommazahlen" dargestellt werden.

"BCD" ist die Abkürzung für "Binär Codierte Dezimalzahl" und bedeutet, dass jede Dezimalzahl einzeln binär verschlüsselt wird, die Dezimalzahl 23 wird z.B. zur BCD-Zahl 0010 0011 .

Aufbau einer BCD-Ganzzahl
V
Z BCD  BCD  BCD BCD
- ---- ---- --- ----
|  |    |    |   |
|  |    +----+---+----> BCD-Ziffern, jeweils von 0-9, 4 Bit 
|  |
|  +------------------> BCD-Ziffer von 0-7, 3 Bit 
|
+---------------------> 1 Bit, Vorzeichen
Die darstellbaren Werte sind somit alle ganzen Zahlen zwischen -7999 und +7999. Die Darstellung eines Dezimalpunktes ist nicht möglich.

Beispiele für BCD-Ganzzahlen
Dezimalzahl  Interne Darstellung als
             BCD-Ganzzahl
+3875        0 011 1000 0111 0101
 -296        1 000 0010 1001 0110    
Aufbau von Gleitkommazahlen
Gleitkomma (floating point) ist eine halblogarithmische Zahlendarstellung. für Kommazahlen. Gleitkommazahlen werden in folgender Form dargestellt:
    m * 10 ^ e   mit ...
                  ... 0.1 <= ABS(m) < 1
                  ... m = Mantisse
                  ... e = Exponent zur Basis 10


Eine Gleitkommazahl setzt sich aus folgenden Bitfeldern zusammen:
<------------m--------------> <--e--> V    
BCD  BCD  BCD  BCD  BCD  BCD  EXP     Z
---- ---- ---- ---- ---- ---- ------- -
 |    |    |    |    |    |    |      |
 |    |    |    |    |    |    |      +--> Vorzeichen der Mantisse, 1 Bit 
 |    |    |    |    |    |    |
 |    |    |    |    |    |    +---------> Exponent, 7-Bit-Dualzahl 
 |    |    |    |    |    |
 +----+----+----+----+----+--------------> Mantisse, BCD-Ziffern, je 4 Bit
                                                        (0000-1001 = 0-9)
Der Exponent ist gemäß der folgenden Beispiele als Dualzahl verschlüsselt:
    0000001   =    -63
    0111111   =     -1
    1000000   =      0
    1111111   =     63
Der Dezimalpunkt der Mantisse wird immer vor der ersten BCD-Ziffer angenommen.

Beispiele für Gleitkommazahlen
                 Interne Darstellung als
Dezimalzahl      Gleitkommazahl                         
+0.725461E+43    0111 0010 0101 0100 0110 0001 1101011 0
-0.65E-35        0110 0101 0000 0000 0000 0000 0011101 1
Lange Gleitkommazahlen
Bei 3- und 4-Wort-Variablen werden diesen beiden Worten noch ein bzw. zwei Worte mit je 4 BCD-Ziffern vorangestellt. Damit erhöht sich die Genauigkeit der Mantisse auf 10 bzw. 14 signifikante Ziffern.

Der größte und der kleinste darstellbare Wert ist:
  • bei 2-Wort-Variablen: +/-0.999999E+63
  • bei 3-Wort-Variablen: +/-0.9999999999E+63
  • bei 4-Wort-Variablen: +/-0.99999999999999E+63
Der betragsmäßig kleinste von 0 verschiedene darstellbare Wert ist bei 2-, 3- und 4-Wort-Variablen +/-0.1E-63

Behandlung von Überläufen bei Gleitkommazahlen
Entsteht während der Ausführung ein Wert, der in der aufnehmenden Variablen nicht mehr dargestellt werden kann, so wird ein arithmetischer Überlauf gemeldet. Nach Auftreten dieses Fehlers enthält die Variable den maximal/minimal darstellbaren Wert. Entsteht in einer 2- bis 4-Wort-Variablen ein Wert, der aus mehr signifikanten Ziffern (Ziffern gleich Mantisse) besteht, als die Variable aufnehmen kann, werden die überlaufenden Ziffern ohne Warnmeldung rechts abgeschnitten.

Thomas: Die Gleitpunkt-Datentypen erinnern mich etwas an den CURRENCY-Typ von QuickBASIC 7.1/PDS, der ebenfalls genaue Berechnungen mit Geldbeträgen ermöglicht und dabei Rundungsfehler weitgehend vermeidet.

Welche Grenzen im Mengengerüst hatte Business BASIC (Feldgröße, Anzahl und Länge der Datensätze, Größe des Programm- und Datenbereichs)?

Jürgen: Die Größe der Programme war am Anfang auf 32 K begrenzt. Man musste seine Programme also splitten indem man mehrere Segmente aufbaute. Unter UNIX nach CROSS BASIC portiert war die Größe nicht ausschlaggebend. Unter NetBASIC ist die Größe auf 64 K begrenzt. Die Grenzen für Feldgrößen, Anzahl und Länge der Datensätze sind unterschiedlich, da Business BASIC vier Datei - Organisationsarten kennt:
  • Formatierte Datei
  • Relative Datei
  • Indexdatei
  • Textdatei
Formatierte Datei
Alle Datensätze einer formatierten Datei haben die gleiche Struktur hinsichtlich Anordnung und Art der einzelnen Datenfelder. Ein Datensatz kann bis zu 64 verschiedene Datenfelder aufnehmen. Die Formatbeschreibung wird im Datei- Kennsatz abgelegt. Die Satzanzahl darf jedoch nicht größer als 65535 werden. Die maximale Satzlänge beträgt 512 Byte. Formatierte Dateien ermöglichen sowohl sequentiellen als auch direkten Zugriff auf die Datensätze.

Relative Datei
Eine relative Datei besteht aus dem Datei-Kennsatzblock (Header) und der entsprechenden Anzahl Datenblöcken, die erforderlich sind, um die bei der Erstellung festgelegte Anzahl von Datensätzen aufzunehmen.

Eine relative Datei belegt immer einen zusammenhängenden Bereich auf der Platte. Die Größe dieses Bereiches wird durch die Satzanzahl und die Satzlänge bestimmt.

Die maximale Anzahl von Datensätzen ist bei relativen Dateien auf 999.999 begrenzt.

Die maximale Satzlänge beträgt 128 KB (131.072 Byte). Relative Dateien ermöglichen sowohl sequentiellen als auch direkten Zugriff auf die Datensätze.

Indexdatei
Eine Indexdatei besteht aus dem Datei-Kennsatz (Header), 1 bis 15 Schlüsselverzeichnissen und dem Bereich zur Aufnahme der Datensätze. Jedes Schlüsselverzeichnis ist aufgeteilt in Master-, Coarse- und Fine-Blöcke, um ein schnelleres Auffinden zu ermöglichen. Eine Indexdatei belegt immer einen zusammenhängenden Bereich auf der Magnetplatte. Die Größe des Bereiches wird durch die vorgegebene Anzahl Datensätze, die Satzanzahl und die Länge der Ordnungsbegriffe bestimmt.

Die maximale Satzlänge beträgt 128 KB (131.072 Byte) und die maximale Schlüssellänge je Index ist auf 30 Byte begrenzt.

Textdatei
Eine Textdatei besteht aus dem Datei-Kennsatz (Header) und der entsprechenden Anzahl Datenblöcken, die erforderlich sind, um die aktuelle Datenmenge aufzunehmen.

Eine Textdatei belegt keinen zusammenhängenden Bereich auf der Magnetplatte. Erweiterungen werden über eine Liste der freien Plattenblöcke vorgenommen.

Der Inhalt einer Textdatei besteht aus einer einzigen Zeichenkette, deren maximale Länge 16.777.216 Bytes beträgt.

Die am häufigsten eingesetzte Dateiart ist die Indexdatei.

Thomas: Kannst Du und noch einen kleinen Erfahrungsbericht über NetBASIC geben?

Jürgen: Nachdem bekannt wurde, dass unsere Unix-Maschine RM300 nicht weiter gebaut wird, mussten wir uns nach einer anderen Plattform umsehen, um auch zukünftig unsere Investionen zu sichern. Das betrifft sowohl die COMET-Software als auch unsere Eigenentwicklungen.

Mit NetBASIC-32 sind wir da auf dem richtigen Weg. Nach Beendigung der Testphase kann man sagen, dass NetBASIC-32 folgende Vorteile bietet:
  • Einsparung neuer, kostenintensiver Anwendungssoftware
  • Sicherung und Erhaltung der getätigten (COMET-)Softwareinvestitionen
  • Deutliche Reduzierung von EDV-Kosten
  • Bewährte Basic-Anwendungen wie z.B. COMET in moderner, flexibler PC-Umgebung
  • Vereinheitlichung der betrieblichen DV-Landschaft durch gleiche Hardware für alle Anwendungen.
  • Dadurch vereinfachte DV-Administration
  • Hohe Kompatibilität durch Nutzung weltweit gebräuchlicher PC-Standards
  • Überdurchschnittlich performante Antwortzeiten (Client/Server)
  • Optimale Integration in ein eventuell bereits vorhandenes PC-Umfeld
  • Beibehaltung der vertrauten Programm-Menüs, Bildschirmmasken und Druck-Layouts
  • Keine Schulung erforderlich, lediglich eine kleine Einweisung
  • Kostengünstige Erweiterungsmöglichkeiten durch marktgängige PC-Hard- und -Software
  • Teilnahme an der technischen Weiterentwicklung der leistungsfähigen PC-Technik
Wir planen noch in diesem Jahres unsere komplette Software auf eine RX600- Maschine mit vier XEON-Prozessoren zu portieren, d.h. Business Basic wird in unserem Unternehmen auf einer Windows-Plattform unter NetBasic-32 weiterleben.

Thomas: Ist NetBASIC identisch mit NTBasic von UNIMOS , das ja laut der UNIMOS- Webseite www.unimos.com ebenfalls fast zu 100% kompatibel zu Business BASIC sein soll? Und kann man irgendwo eine Schnupperversion davon herunterladen?

Jürgen: NetBASIC ist von der Hamburger Firma HamTec und nicht mit NTBasic von Unimos identisch. Es gibt eine NetBasic Single-User "Professional Edition", die unter Win98/ME/NT/2000/XP läuft, für ca. 700 Euro. Eine Schnupperversion kann man nicht herunterladen. Es gibt aber eine 90 Tage lauffähige Testversion. Ob man aus dem NetBASIC-Single-User-Paket nur die Programmiersprache Business BASIC erhalten kann, vermag ich nicht zu sagen. Da unsere UNIX-Maschine RM300 nicht mehr gebaut wird und ausläuft, sind wir zur Zeit an der NetBASIC Multi-User "Enterprise Edition" interessiert.

Adresse:
HamTec Datensysteme GmbH
Andreas Cichy (Geschäftsführer) und Stefan Unbehauen
22113 Oststeinbeck
Mail: [netbasic@t-online.de]



Thomas: Lieber Jürgen, vielen Dank für die äußerst interessanten Informationen und das kleine Interview.

zurück zum Inhalt  


Nachtrag von Karl Pircher

Ergänzende Informationen zu Business BASIC

Zu Business BASIC selbst hat Jürgen alles Grundlegende gesagt. Zu erwähnen ist noch, dass Nixdorf sein Business BASIC ursprünglich von der Firma Wang gekauft hat. Das hat Nixdorf dann um all die CALLs erweitert und auch sonst weiterentwickelt. Speziell die Datenhaltung wurde von Nixdorf stark verbessert, indem Indexdateien (ISAM) eingeführt wurden. Auf diese konnte mit dem SEARCH Befehl sehr schnell zugegriffen werden. Dadurch war es überhaupt erst möglich, große Anwendungen zu schreiben. Man muss bedenken, dass zu der damaligen Zeit z.B. die Nixdorf 8870 M10 eine Festplatte mit 10 MB, und 32 KB Hauptspeicher hatte (wohlgemerkt Kilobyte nicht Megabyte) hatte. Auf so einer Maschine war es durchaus üblich, dass 5-6 Bildschirmarbeitsplätze angeschlossen waren.


Das alte Business BASIC von Wang

Parallel dazu wurde das alte Wang Business BASIC aber auch von anderen Firmen weiterentwickelt. Es gab sogar mal eine Version für Apple Computer. Diese Sprachen hatten allerdings nicht die starke Dateiverwaltung, welche von Nixdorf eingeführt wurde. Reichaltige Informationen zu diesen Business BASIC "Dialekten" findet man der Business BASIC FAQ unter www.faqs.org/faqs/business-basic/faq/.


SurfBasic (früher UniBasic) - das "Business BASIC für Windows"

Nach der eigentlichen Nixdorf-Zeit gab es aber noch eine andere Linie, und zwar Unibasic später umbenannt in SurfBasic von der Firma "Unibasic Computer Service GmbH" in Kreuth-Scharling. Diese Version gab es anfangs für verschiedene Unix Derivate. Zuerst für SCO Xenix, dann für SCO Unix, später auch für das AIX der IBM RISC Familie und für HP UX, Honeywell BULL und andere. Schließlich kam noch die Version für Windows NT hinzu.

SurfBasic wurde aus einem der ursprünglichen Business BASIC Dialekte entwickelt, indem unter Unix einfach eine bereits bestehende ISAM Verwaltung hinzugefügt wurde, und alle CALLs nachprogrammiert wurden. Ebenfalls nachprogrammiert wurden die Benutzeroberfläche und die Benutzerverwaltung. Später wurde das Ganze auch auf Windows portiert. (Ab Windows 32Bit, also NT, 2000, XP usw.)

Screenshot der SurfBasic-Entwicklungsumgebung

Die SurfBasic-Entwicklungsumgebung


SurfBasic bietet die Möglichkeit, Nixdorf Quattro 8870 Programme komplett mitsamt dem Datenbestand auf eine der oben genannten Plattformen zu bringen. Es werden also nicht nur die Programme portiert, sondern der gesamte Datenbestand und auch die Systemumgebung, wie z.B. die Druckerverwaltung. Die Software selbst ist durch einen Hardlock kopiergeschützt.

Bei uns in Italien wurden sehr viele Nixdorf Quatto Systeme durch SurfBasic ersetzt. Ich selbst habe in der Firma gearbeitet, welche die Generalvertretung für Italien hatte und habe sehr viele Installationen von SurfBasic durchgeführt. SurfBasic hatte aber ein Jahr-2000-Problem, welches nur durch hohe Lizenzkosten und Programmänderungen gelöst werden konnte, so daß viele Firmen im Jahr 2000 auf eine andere Software umgestiegen sind. Auch hier war das oft SAP, Navision, Oracle, Peoplesoft oder andere lokale Softwarelösungen. Trotzdem sind noch heute viele Unix und Winows NT Systeme mit SurfBasic im Einsatz.


NTBasic von Unimos, NetBasic und CROSS BASIC

Unimos bzw. NTBasic scheint mit SurfBasic identisch zu sein. (SurfBasic hieß ursprünglich Unibasic) Das Hardcopy auf der Internetseite von Unimos ist auf jeden Fall fast mit dem von SurfBasic identisch.

NetBasic wurde meines Wissens dagegen noch von Nixdorf selbst entwickelt, und zwar ursprünglich für DOS. Es kann sein, dass es später verkauft wurde.

CROSS BASIC wurde ebenfalls von Nixdorf bzw. Siemens-Nixdorf selbst entwickelt und in erster Linie für die Migration von der Quattro-Welt in die offene UNIX- Welt eingesetzt. CROSS BASIC NT von Fujitsu Siemens Computers und X/NetBridge von der Firma mk software wurden später zur BASICsuite verschmolzen. Die BASICsuite vereinigte zwei am Markt etablierte und zusammen mehr als 8.000 mal installierte BASIC- Interpreter für Win NT basierte Plattformen in sich: Durch die Kooperation beider Unternehmen wurden nicht nur entwicklungstechnische, vertriebliche und personelle Ressourcen gebündelt, es entstand auch ein Produkt, das - nach Aussage der Hersteller - mit Abstand die höchsten Installationszahlen im Markt aufwies.

Gruß
Ch@rly (karl.pircher@gmx.net)

zurück zum Inhalt  


Nachtrag von Michael Klessmann zu CROSS BASIC

Ursprünglich gab es außer CROSS BASIC für SINIX drei bzw. vier weitere Varianten, und zwar für AIX von IBM, UX von Hewlett-Packard, Windows NT und SCO-Unix

Die Variante für AIX lief bis zum Jahr 1999, z.B. bei Hapag-Lloyd, und wurde dann wegen des Jahr-2000-Problems von uns durch die SCO-Version abgelöst, die nach wie vor rasant und stabil auf einem aktuellen Unix läuft. Mit einem bisschen Knowhow ist das ganze auch unter Unixware lauffähig, unter Linux bin ich bisher leider noch nicht so besonders weit gekommen, halte es allerding nicht für unmöglich. (Alles mit der SCO-Version).

Die HP-UX-Variante wurde zwar noch für das Jahr 2000 angepasst, dann gab es aber keine Anwender mehr.

Die Version für NT ist immer noch bei einigen Firmen im Einsatz allerdings nicht mein persönlicher Favorit, was aber mehr an den Instabilitäten von NT liegt :-)

Mfg
Michael Klessmann

zurück zum Inhalt  


Nachtrag von XXX zu Business BASIC und NetBASIC

Ich habe selbst seit ca. 1985 auf der 8870-Baureihe von Nixdorf als Projektleiter und Programmierer gearbeitet. Ein Warenwirtschafts-System für eine Industriefirma ist davon noch heute unter NetBASIC in einem Windows-Netz im Einsatz und wird auch nach wie vor von mir gepflegt.

Neben Individual-Entwicklungen und COMET-Anpassungen waren wir auch sehr stark im Bereich Schulungen für COMET und BASIC aktiv. Ich bin mit der Nixdorf-Welt also recht gut vertraut. Ich möchte aber mit einem auch in diesem Interview mal wieder verbreiteten Ammenmärchen aufräumen: Der Untergang von Nixdorf hatte mitnichten mit dem Ableben von Heinz Nixdorf etwas zu tun. Im Gegenteil: Heinz Nixdorf hat selbst kräftig dazu beigetragen. Sein "Glück" war nur, daß die Auswirkungen seiner Politik just nach seinem Dahinscheiden zum Tragen kamen.

Ein berühmtes Zitat, das in diesem Zusammenhang Heinz Nixdorf zugesprochen wird: Auf das Angebot zur Zusammenarbeit mit Apple Anfang der 80er Jahre angesprochen, soll seine ablehnende und nicht minder arrogante Reaktion gewesen sein: "Wir bauen Lastwagen, keine Mopeds". So hat Nixdorf lange Zeit die Entwicklung der PCs völlig verschlafen und ignoriert. Stattdessen wurde versucht, mit dem Mainframe 8890 IBM Konkurrenz zu machen, was kräftig in die Hose ging. Als Nixdorf dann schließlich auf den PC-Zug aufsprang, war es längst zu spät. Außerdem hatte Nixdorf auch bei PCs ständig den Ehrgeiz, alle Komponenten selbst herstellen und so gründlich für die Freigabe prüfen zu müssen, daß sie schon veraltet waren, wenn sie auf den Markt kamen. Grauenhafte Performance war nicht nur ein Grundübel der 8870, sondern auch der Nixdorf-PCs.

NetBASIC in PC-Netzen hat im Vergleich zur 8870 eine geradezu traumhafte Performance. Es gibt sogar heute (April 2008) noch Support zu NetBASIC, wie die beiden folgenden Webseiten zeigen: Eine technische Kleinigkeit zu Ihrem Interview. Die folgende Aussage ist nicht ganz korrekt:

"Variablen müssen in Business BASIC vor ihrer Benutzung grundsätzlich dimensioniert werden, was eine der wichtigsten Fehlerquellen von Q(uick)Basic ausschließt."

Das trifft nur auf alphanumerische Variablen zu. Numerische müssen nicht dimensioniert werden, was auch bei BusinessBasic zu üblen Fehlern führen kann, da nicht dimensionierte Variablen die gleiche Dimension bekommen wie die zuletzt dimensionierte.

Schönen Gruß,
XXX

Anmerkungen hierzu von Kai-Ulrik Bräutigam vom 18.7.2011
(Firma IT-Beratung Bräutigam www.kb-itberatung.de)

Sehr geehrter Herr Antoni,
mit großem Interesse habe ich Ihre Webseite über Business BASIC besucht und dabei in Erinnerungen geschwelgt. Ich habe viele Jahre lang auf den verschiedensten Nixdorf-Maschinen in diesem Basic-Dialekt Software für Energieversorger erstellt. Zwar bin ich schon lange hauptsächlich in Sachen SAP unterwegs, aber zwischendurch gibt es auch mal Konvertierungsprojekte, bei denen ich dann CROSS BASIC-Anwendungen nach NetBASIC konvertiere.

Die Firma Hamtec war seinerzeit auch Entwickler von NetBASIC. Die Firma Hamtec existiert in der alten Form nicht mehr. Die beiden Geschäftsführer Stefan Unbehauen und Andreas Cichy haben sich getrennt. NetBASIC wird aktuell von UNBEHAUEN microsystems GmbH & Co. KG entwickelt und vertrieben (www.netbasic-hamtec.com).

Freundliche Grüße
      Kai-Ulrik Bräutigam

zurück zum Inhalt  





[zur Startseite http://www.antonis.de]       [zur framelosen Startseite]