Introduction
In Navision 3.5x under DOS (or Windows in the text window) it may be necessary to clean up the database of old corpses. However, this is - in part - much more complex than in the newer Windows versions.
With these instructions here and a little batch processing from me (please contact me) it will be very easy.
By the way: I am also available for an update from the blue version of Navision (Navigator, Avista) 3.56 to the current version ... although you can still work really well with this DOS version today. Even under Windows 10 64 bit, without a virtual machine, just start like that!
It sounds unbelievable, but the "Blue Navison Version" introduced in 1993 (If you're wondering where the name comes from? Take a look at the screenshot 🙂) still runs today under Windows 10 Pro 64 Bit without complaint. And even with NAVIN.EXE as a real 32-bit application with plenty of RAM!
And if you ever get this error message:
The operating system cannot find the following file:
And there is nothing underneath, i.e. no file name: Then a recent Navision session is hiding and the database file can still access the associated database driver NAVI_DC2.exe (Navision Database Cache Control, all reading and writing accesses to the native database go through the cache controller, which then makes sure that data not available in RAM is fetched from the disk. That is why you can use two or more Navisions at the same time on one PC without a database server).
Restart the computer and everything will be fine.
A customer hadn't really taken care of the utilization of his database and was now faced with a database utilization that made further use impossible. But of course I am still happy to provide advice, customization, assistance and support for the blue version!
In principle, the Navision 3.56 (DOS / OS/2 / Windows) database is incredibly robust, but here the previous software provider (I suspect it was GWS from Münster, there were many references to "ELVIS", like one of their industry solutions was once called) really cause problems.
So bad that the logical data backup of Navision DOS 3.56 could no longer be used! At least not without a suitable AL key, the magical Navi_Inf.dat.
The database was pretty full. At that time the database was still paid for by size, a database extension can no longer be bought. If you try to read in the logical backup, you get this error message when sorting the tables:
That wasn't toooooo bad yet. Well, you can simply sort the tables afterwards using the batch processing "Sort all files".
But: not in the GWS ELVIS system!
Reason: The table "User data" is opened in function (today Codeunit) 1 by the system and is then blocked for the runtime of the Navision. OK, you can take it out quickly ... Nothing doing!
And so the table keys can only be reactivated individually with enormous effort via design / files / keys, given that you have a valid program license (navi_inf.dat) for the card design!
This customer didn't have that. So he would be helpless in the event of a database crash if he only had a logical backup.
And the logical backup is usually THE guarantee to get a Navision running again. It's pretty stupid what this programmer has come up with here.
We got the database up and running after all.
Preparation
First you have to copy the database file. You never know.
By the way, with the blue Navison 3.56 DOS, the FIRST database part "knows" where the other database parts are located. This is saved under "Database maintenance" / "Extend database". This is then specified with NAVI.EXE or NAVIN.EXE or, under OS/2, with NAVI2.exe (DOS extender) and the parameter database=firstb+secondb+thirdb.
If you have many database parts (I think up to 16 were allowed, 2 Gbyte each, because of the file system of the 90s), you have to keep the names of the database parts very short, the command line was only allowed to be 128 characters long...
Navision 3.56 start parameters
By the way, the blue Navision 3.5x DOS reveals the usable parameters with NAVIN.EXE ?
Start parameter NETTYPE
Which network types does Navision actually recognize? You can see this in the program directory:
Use the NETTYPE start parameter to specify which NetworkControl Navision should start.
NETB stands for Netbios, earlier Windows versions and used in Novell networks.
TCPW stands for Windows TCP as introduced in Windows 3.11. Microsoft's own Netbios, which was also introduced in Windows for Networks 3.11, is also addressed via NETB.
TCPN is TCP/IP, which was later introduced by Novell.
I think TCPI stands for IBM's Token-Ring TCP (hence the I), but that's where my memory is getting a little fuzzy.
TCPM could then stand for Microsoft's DOS TCP.
And: Yes! The blue Navision 3.5x actually ran under OS/2 (the first Financials and Atain versions too! That's what NAVI2.exe was for), under DOS (that's what NAVI.exe was for) and under Windows (NAVIN.xe).
Under Windows, either NAVI or NAVIN.exe could be used. I believe N stood for NewTechnology, i.e. Windows NT, under which the blue Navision always ran! There it accessed the DOS extender, which allowed practically unlimited memory access (RAM) and thus significantly more complex program sequences.
As a reminder: Navision did not have a real object cache back then, as it was introduced with Navision 2.01. EVERY object was fetched from the server at runtime (well, there were a few KB of cache...) and then executed in memory.
Compress smaller data keys
First select many small tables with CTRL+F1:
Then set the selection filter with CTRL+F7 CTRL+F7 CTRL+F1 ESC.
Then click on Compress:
and please answer yes to the question.
Please do this one after the other until all "small" tables are compressed.
You can see that the percentages under Usage are now higher for some tables. This also means that there is a little more space in your database because less "air" is stored.
You can become bolder from time to time and include larger and larger tables.
If you were too brave, Navision will tell you:
You can then simply remove the largest table from the selection with CTRL+F1.
Then delete the selection and continue with other tables. This is a Sisyphean task.
Ignore tables with 1 or 2 sentences, nothing can be compressed.
You can also filter several consecutive tables by pressing CTRL+F7 on the Numm (number) column. This is sometimes more elegant than the record filter.
Or with e.g. 114|115|124|125
You CANNOT access the large tables in this way, e.g. goods items!
But you create so much space that you can import and run my delete function.
Reading in data deletion
Now call up this batch processing:
This batch processing confirms the database again and again. As a result, it can delete masses of data without a "not enough memory" error occurring.
The filter for "Older 10 years" is permanently programmed and dynamic. This batch processing can therefore be called up again every year and it then deletes the exact year that has expired.
The euro conversion is of course gone after the first run. Nobody ever needed the data anyway.
During the first run, the system will therefore still appear "frozen" at the end, but Navison will continue to work until the status bar reports completion:
There is now considerably more free space in the database.
Before and after:
Compress data
When data is compressed, data records are combined (totaled) in such a way that the results (item stocks, G/L accounts or customer or vendor balances, open items) do do not change. However, individual information, i.e. individual invoice numbers, posting descriptions, etc. are of course lost. At the end of the 10-year retention period, this is perfectly acceptable.
The same rules apply for the blue Navision version as for Financials Attain and Navision or Business Central: you must also hand over data that you keep in the IT system for a GdPDU! This alone suggests that you should also delete old data in this Navision version. In addition, the GDPR is another reason why data should not be kept indefinitely.
Settings for the dunning items:
Setting for the inventory items:
You can put as many fields as you like in the selection, Navision will complain if a field is forbidden:
Then simply remove this field again. At some point, the compression of bookings can be started. And it was already super fast back then! This is all technology from 1993!
In the progress you can then see how sentences are cleaned up (content is deleted) and sometimes entire sentences are deleted.
Navision "knows" the rules for each table that it offers for compression. For 100% security, a data backup should of course be made beforehand, but as a rule this compression works very reliably.
For the goods items, the biggest chunk, I have written down the deletable fields here, otherwise it takes quite a long time to do this by try and error:
Accounts payable:
(The same for accounts receivable).
And the material items:
Now that a massive amount of data has been deleted in the blue Navision 3.56 EURO under DOS, the system could still be used.
It's really stupid that the system house has really checkmated such a beautiful system so hard with your NAVI_INF.dat / your AL key (yes, under this Navision it was also called AL!).
Assembler debugger in the blue Navision 3.56 version
Because I just had the system in my hands: Do you know the REAL C/AL debugger from the blue DOS Navision?
navin.exe debug to activate the debug mode. Normally, the path to the license file would also be specified here with keyboxpath.
The debugger can then be activated here:
Well... this part of the blue Navision 3.56 Euro Debugger is certainly familiar to anyone who has worked with the system even once.
But... Just one button away is the real debugger, with the real assembler code that Navision actually executes!
How stupid: Unfortunately, this key combination no longer works under Windows 10. I will install a blue Navision under HyperV/Dos and submit the corresponding screenshots later.
Screensaver in Navision 3.56 Euro
The current screen, a DOS screen after all, could be saved with the integrated screensaver using CTRL+D. Does anyone know how to make the contents of the screenshot file visible again? That was soooo long ago...