Einleitung
In Navision 3.5x unter DOS (oder Windows im Textfenster) kann es auch einmal nötig sein, die Datenbank um alte Leichen zu bereinigen. Das gestaltet sich dort allerdings -zum Teil- wesentlich aufwändiger als in den neueren Windows-Versionen.
Mit dieser Anleitung hier und einer kleinen Stapelverarbeitung von mir (bitte Kontakt aufnehmen) wird es zum Kinderspiel.
Übrigens: Auch für ein Update von der blauen Version von Navision (Navigator, Avista) 3.56 auf aktuelle Versionen stehe ich zur Verfügung…wobei Sie auch heute wirklich noch gut mit dieser DOS Version arbeiten können. Auch unter Windows 10 64 Bit, ohne virtuelle Maschine, einfach nur so starten!
Es klingt unglaublich, aber die 1993 eingeführte „Blaue Navisonversion“ (Woher die Bezeichnung kommt? Siehe Screenshot 🙂 ) läuft auch heute noch klaglos unter Windows 10 Pro 64 Bit. Und das sogar mit der NAVIN.EXE als echte 32 Bit Applikation mit reichlich Ram!
Und wenn Sie einmal diese Fehlermeldung erhalten:
Das Betriebsystem findet die folgende Datei nicht:
Und darunter steht dann nichts, also kein Dateiname: Dann ist Ihnen zuvor eine Navision-Sitzung abgetaucht und die Datenbankdatei ist noch im Zugriff des zugehörigen Datenbanktreibers NAVI_DC2.exe (Navision Database Cache Control, alle Schreib- und Lesezugriffe gehen bei der nativen Datenbank über den Cache-Controller, der kümmert sich dann darum, dass nicht im RAM vorrätige Daten von der Platte geholt werden. Darum kann man auch ganz ohne Datenbankserver auf einem PC zwei oder mehr Navisions gleichzeitig benutzen).
Starten Sie den Rechner neu, und alles ist wieder gut.
Ein Kunde hatte sich nicht so richtig um die Auslastung seiner Datenbank gekümmert und kam nun in eine Datenbankauslastung, welche die weitere Benutzung unmöglich machte. Aber natürlich liefere ich auch für die blaue Version noch sehr gerne Beratung, Anpassung, Unterstützung und Support!
Grundsätzlich ist die Navision 3.56 (DOS / OS/2 / Windows) Datenbank unglaublich robust, aber hier hatte der frühere Softwareanbieter (ich vermute es war GWS aus Münster, es gab viele Hinweise auf „ELVIS“, so hieß mal eine Branchenlösung von denen) mal so richtige Klopper reingehauen.
So schlimm, dass die logische Datensicherung von Navision DOS 3.56 nicht mehr benutzbar war! Zumindest nicht ohne einen passenden AL Schlüssel, die magische Navi_Inf.dat.
Die Datenbank war ziemlich voll. Damals wurde die Datenbank noch nach Größe bezahlt, eine Datenbankerweiterung kann nicht mehr gekauft werden. Versucht man nun die logische Sicherung einzulesen, so bekommt man beim Tabellen-Sortieren die Fehlermeldung:
Das war jetzt noch nicht soooo schlimm. Nun kann man ja einfach die Tabellen nachträglich sortieren über die Stapelverarbeitung „Alle Karteien sortieren“.
Aber: Nicht in dem GWS ELVIS System!
Grund: Die Tabelle „Benutzerdaten“ wird in der Funktion (heute Codeunit) 1 vom System geöffnet und ist dann für die Laufzeit des Navisions gesperrt. OK, kann man ja schnell mal rausnehmen…Pustekuchen!
Und somit lassen sich die Tabellenschlüssel nur mit enormem Arbeitsaufwand einzeln über Design/Karteien/Schlüssel wieder reaktivieren, insofern man denn eine gültige Programmlizenz (navi_inf.dat) für das Karteiendesign hat!
Hatte dieser Kunde nicht. Somit wäre er bei einem Datenbankcrash hilflos, wenn er denn nur eine logische Sicherung hat.
Und die logische Sicherung ist normalerweise DIE Garantie dafür, ein Navision wieder lauffähig zu bekommen. Ziemlich blöd, was sich hier dieser Programmierer ausgedacht hat.
Wir haben die Datenbank dann aber doch noch flott bekommen.
Vorbereitung
Zunächst muss man die Datenbankdatei kopieren. Man weiß ja nie.
Übrigens „weiß“ bei dem blauen Navison 3.56 DOS der ERSTE Datenbankteil, wo die restlichen Datenbankteile liegen. Das wird bei „Datenbankpflege“ / „Datenbank erweitern“ abgespeichert. Das wird dann mit NAVI.EXE oder NAVIN.EXE oder, unter OS/2, mit NAVI2.exe (DOS-Extender) und dem Parameter database=erstedb+zweitedb+drittedb angegeben.
Wenn man viele Datenbankteile hat (ich glaube bis zu 16 waren erlaubt, à 2 Gbyte, wegen des Dateisystems der 90er), so muss man die Namen der Datenbankteile schon sehr kurzhalten, die Befehlszeile durfte nur 128 Zeichen lang sein…
Navision 3.56 Startparameter
Die benutzbaren Parameter verrät das blaue Navision 3.5x DOS übrigens mit NAVIN.EXE ?:
Startparameter NETTYPE
Welche Netzwerktypen kennt Navision eigentlich? Das sehen Sie im Programmverzeichnis:
Mit dem Startparameter NETTYPE geben Sie an, welches NetworkControll Navision starten soll.
NETB steht dabei für Netbios, frühere Windowsversionen und in Novell-Netzwerken eingesetzt.
TCPW steht für das Windows-TCP, wie es in Windows 3.11 eingeführt wurde. Das auch bei Windows for Networks 3.11 eingeführte Microsoft-eigene Netbios wird dabei auch über NETB angesprochen.
TCPN ist das TCP/IP, welches später von Novell eingeführt wurde.
Ich glaube, TCPI steht für das Token-Ring TCP von IBM (daher das I), aber da wird es schon eng in meiner Erinnerung.
Dann könnte TCPM für das DOS-TCP von Microsoft stehen.
Und: Ja! Das blaue Navision 3.5x lief tatsächlich unter OS/2 (die ersten Financials und Atain-Versionen auch! Dafür war die NAVI2.exe), unter DOS (dafür war dann die NAVI.exe) und unter Windows (NAVIN.xe).
Unter Windows konnte wahlweise die NAVI oder die NAVIN.exe eingesetzt werden. N stand dabei, glaube ich, für NewTechnology, also Windows NT, unter dem das blaue Navision auch schon immer lief! Dort griff es auf den DOS-Extender zu, welches praktisch unbegrenzten Speicherzugriff (RAM) erlaubte und damit deutlich komplexere Programmabläufe.
Zur Erinnerung: Navision hatte damals noch keinen echten Object-Cache, wie er mit Navision 2.01 eingeführt wurde. JEDES Objekt wurde zur Laufzeit vom Server geholt (naja, ein paar KB Cache waren da schon…) und dann im Speicher ausgeführt.
Kleinere Datenschlüssel komprimieren
Markieren Sie nun erst einmal viele kleine Tabellen mit STRG+F1:
Dann setzen Sie bitte den Markierungsfilter mit STRG+F7 STRG+F7 STRG+F1 ESC.
Dann rufen Sie bitte Komprimieren auf:
und die Frage bitte mit Ja beantworten.
Das bitte nacheinander machen bis alle „Kleinen“ Tabellen komprimiert sind.
Man kann sehen, dass die Prozent unter Nutz (Nutzung) nun bei einigen Tabellen höher sind. Damit ist gleichzeitig ein wenig mehr Platz in Ihrer Datenbank, weil weniger „Luft“ gespeichert wird.
Sie können von mal zu mal mutiger werden und immer größere Tabellen mit aufnehmen.
Wenn Sie zu mutig waren, teilt Ihnen das Navision mit:
Sie können dann einfach die größte Tabelle mit STRG+F1 aus der Markierung rausnehmen.
Danach löschen Sie die Markierung und machen mit anderen Tabellen weiter. Das ist eine Sisyphusarbeit.
Ignorieren Sie Tabellen mit 1 oder 2 Sätzen, da lässt sich nichts komprimieren.
Mehrere hintereinander kommende Tabellen können Sie auch mit STRG+F7 auf der Spalte Numm (Nummer) filtern. Das ist manchmal eleganter als der Satzfilter.
Oder mit z.B. 114|115|124|125
Sie kommen auf diese Weise NICHT an die großen Tabellen ran, z.B. Warenposten!
Aber Sie schaffen so viel Platz, dass Sie meine Löschfunktion importieren und laufen lassen können.
Datenlöschung einlesen
Nun diese Stapelverarbeitung aufrufen:
Diese Stapelverarbeitung bestätigt immer wieder die Datenbank. Dadurch kann sie massenhaft Daten löschen, ohne dass es zu einem „Nicht genug Speicher“-Fehler kommt.
Der Filter für „Älter 10 Jahre“ ist fest einprogrammiert und dynamisch. Diese Stapelverarbeitung kann also jedes Jahr erneut aufgerufen werden und sie löscht dann genau das abgelaufene Jahr.
Die Eurokonvertierung ist natürlich nach dem ersten Lauf weg. Die Daten hat sowieso niemals jemand benötigt.
Beim ersten Lauf wird daher am Ende das System noch „wie eingefroren“ wirken, aber Navison arbeitet auch dann noch bis die Statuszeile Vollzug meldet:
In der Datenbank ist nun deutlich mehr freier Speicherplatz.
Vorher und nachher:
Daten komprimieren
Beim Komprimieren von Daten werden Datensätze so zusammengefasst (summiert), dass sich die Ergebnisse daraus (Artikelbestände, Sachkonten oder Debitoren- oder Kreditorensalden, Offene Posten) nicht verändern. Allerdings gehen natürlich Einzelinformationen, also einzelne Rechnungsnummern, Buchungsbeschreibungen etc. verloren. Das ist -am Ende der 10 jährigen Aufbewahrungspflicht- durchaus zu verschmerzen.
Es gelten auch für die blauen Navision Version die gleichen Regeln wie für Financials Attain und Navision bzw. Business Central: Daten, welche Sie EDV-mäßig vorhalten, müssen Sie für eine GdPDU auch aushändigen! Schon das alleine spricht dafür, dass Sie alte Daten auch in dieser Navision-Version löschen. Zusätzlich ist heutzutage die DSGVO ein weiterer Grund dafür, Daten nicht unendlich vorzuhalten.
Einstellungen für die Mahnposten:
Einstellung für die Inventurposten:
Man kann dabei ruhig satt Felder in die Auswahl packen, Navision meckert schon wenn ein Feld verboten ist:
Dann dieses Feld einfach wieder rausnehmen. Irgendwann lässt sich die Komprimierung von Buchungen starten. Und die lief damals schon super schnell! Das ist alles Technik von 1993!
In dem Fortschritt kann man dann sehen, wie Sätze bereinigt (Inhalte werden gelöscht) und teilweise auch ganze Sätze gelöscht werden.
Navision „kennt“ die Regeln für jede Tabelle, die es zum Komprimieren anbietet. Zur 100%igen Sicherheit sollte natürlich vorher eine Datensicherung gemacht werden, aber i.d.R. funktioniert dieses Komprimieren sehr zuverlässig.
Für die Warenposten, der dickste Brocken, habe ich hier die löschbaren Felder aufgeschrieben, sonst braucht man recht lange dazu per Try and Error:
Kreditorenposten:
(Die gleichen bei den Debitorenposten.)
Und noch die Sachposten:
Nachdem nun massiv Daten in der blauen Navision 3.56 EURO unter DOS gelöscht wurden, konnte das System nun noch weiter genutzt werden.
Wirklich blöd, dass hier das Systemhaus echt mit Ihrer NAVI_INF.dat / Ihrem AL-Schlüssel (Ja, unter diesem Navision hieß das auch schon AL!) so ein schönes System so hart schach-matt gesetzt haben.
Assembler-Debugger in der blauen Navision 3.56 Version
Weil ich gerade das System mal in meinen Händen hatte: Kennen Sie den ECHTEN C/AL Debugger von dem blauen DOS Navision?
navin.exe debug zum Aktivieren des Debugmodus. Normalerweise würde man hier noch mit keyboxpath den Pfad zur Lizenzdatei mit angeben.
Dann kann der Debugger hier aktiviert werden:
Nun… diesen Teil des blauen Navision 3.56 Euro Debuggers kennt sicherlich jeder, der auch nur einmal mit dem System gearbeitet hat.
Aber… Nur eine Taste weiter liegt der wahre Debugger, mit dem echten Assemblercode, den Navision in Wirklichkeit ausführt!
Wie blöd: Unter Windows 10 funktioniert diese Tastenkombination leider nicht mehr. Ich werde mal ein blaues Navision unter HyperV/Dos installieren und die zugehörigen Screenshots nachreichen.
Screensaver in Navision 3.56 Euro
Den aktuellen Bildschirm, immerhin ein DOS-Bildschirm, konnte man mit dem integrierten Screensaver unter STRG+D abspeichern. Weiß noch jemand, wie man den Inhalt der damit gespeicherten Screenshotdatei wieder sichtbar machen kann? Das ist schon soooo lange her…