Indledning
I Navision 3.5x under DOS (eller Windows i et tekstvindue) kan det også lejlighedsvis være nødvendigt at rense databasen for gamle "lig". Dette er imidlertid -delvist- væsentligt mere besværligt der end i de nyere Windows-versioner.
Med denne vejledning her og lidt batch-behandling fra min side (venligst kontakt mig) bliver det en leg.
Forresten: Jeg står også til rådighed for en opdatering fra den blå version af Navision (Navigator, Avista) 3.56 til aktuelle versioner... selvom I virkelig stadig kan arbejde godt med denne DOS-version i dag. Selv under Windows 10 64-bit, uden en virtuel maskine, kan den bare startes!

Det lyder utroligt, men „Blue Navison versionen“, der blev introduceret i 1993 (hvor navnet stammer fra? Se screenshot 🙂 ), kører stadig fejlfrit under Windows 10 Pro 64-bit i dag. Og endda med NAVIN.EXE som en ægte 32-bit applikation med rigeligt RAM!
Og når du først får denne fejlmeddelelse:
Operativsystemet kan ikke finde følgende fil:
Og nedenunder står der så ingenting, altså ingen filnavn: Så er en tidligere Navision-session forsvundet for dig, og databasefilen er stadig i brug af den tilhørende databasedriver NAVI_DC2.exeNavision Ddatabase CAccess Control, alle skrive- og læseoperationer går via cache-controlleren i den native database, som derefter sørger for, at data, der ikke er i RAM, hentes fra harddisken. Derfor kan man også køre to eller flere Navision-instanser på en pc uden en databaseserver.
Genstart computeren, så er alt godt igen.
En kunde havde ikke rigtig taget sig af sin databases belastning og befandt sig nu i en databases belastning, som gjorde videre brug umulig. Men selvfølgelig yder jeg også meget gerne rådgivning, tilpasning, support og hjælp til den blå version!
Grundlæggende er Navision 3.56 (DOS / OS/2 / Windows) databasen utroligt robust, men her havde den tidligere softwareudbyder (jeg formoder, det var GWS fra Münster, der var mange henvisninger til „ELVIS“, et brancheløsning fra dem) virkelig slået et par kæmpe fejl.
Så slemt, at den logiske sikkerhedskopi af Navision DOS 3.56 ikke længere kunne bruges! I hvert fald ikke uden en passende AL-nøgle, den magiske Navi_Inf.dat.
Databasen var ret fyldt. Dengang blev databasen stadig betalt efter størrelse, en databaseudvidelse kan ikke længere købes. Forsøger man nu at indlæse den logiske sikkerhedskopi, får man fejlmeddelelsen ved tabel-sortering:

*at forstørre databasefilen (kan ikke, pga. licensen)
* slette unødvendige data (kvitteringer kunne ikke slettes så nemt i blå Navision!)
*alle poster at komprimere (Selv for små komprimeringer var der ikke plads nok)
at optimere databasen (der var ikke plads nok, selv til små optimeringer)
Det var ikke så slemt. Nu kan man sortere tabellerne bagefter via batch-processen „Sorter alle kort“.

Men: Ikke i GWS ELVIS-systemet!
Grund: Tabellen „Brugerdata“ åbnes i programmet (i dag kaldet Codeunit) 1 af systemet og er derefter blokeret for Navision-kørselsmiljøet. OK, det kan man jo hurtigt fjerne... Sikken en fejl!

Objekt: Funktion ‚Mandant‘.
Dette objekt blev beskyttet under sidste gem. Kun programmet med serienummer 49-N3Axxxxx har adgang til dette objekt.
Dø central Navisions startfunktion er blokeret her af GWS(?)!
Og dermed kan tabelnøglerne kun genaktiveres individuelt med enorm arbejdsindsats via Design/Kortfiler/Nøgler, forudsat at man har en gyldig programlicens (navi_inf.dat) til kortfilens design!
Kunden havde ikke dette. Derfor ville han være hjælpeløs i tilfælde af et databasekras, hvis han kun havde en logisk sikkerhedskopi.
Og den logiske sikkerhed er normalt GARANTIEN for at få et Navision til at køre igen. Ganske dumt, hvad denne programmør har fundet på her.
Vi fik nu alligevel databasen hurtigt op at køre.
Forberedelse
Først skal databasen kopieres. Man ved jo aldrig.
Forresten, den FØRSTE database del af den blå Navison 3.56 DOS, „ved“, hvor de resterende database dele er placeret. Dette gemmes under „Databasevedligeholdelse“ / „Udvid database“. Dette angives derefter med NAVI.EXE eller NAVIN.EXE eller, under OS/2, med NAVI2.exe (DOS-extender) og parameteren database=erstedb+zweitedb+drittedb.
Når man har mange databasedele (jeg tror, op til 16 var tilladt, à 2 GB, på grund af filsystemet fra 90'erne), så bliver man nødt til at holde navnene på databasedelene meget korte, kommandolinjen måtte kun være 128 tegn lang...
Navision 3.56 Startparametre
De brugbare parametre afslører den blå Navision 3.5x DOS for resten med NAVIN.EXE ?:

DATABASE hvilken database der skal bruges
Læse-cache størrelse, max 64000
COMMITCACHE størrelse af skrivelager, max 64000, vigtig for gendannelse og komprimering
NETTYPE TCP eller NETBios
DBTEST udfører DB-testene som angivet under Datastørrelser, der kan vælges
DBREADONLY f.eks. til databasegendannelse
MACRO Ja, Navision 3.56 Euro (den blå version) kunne allerede makroer, og dermed for eksempel indlæse ordrer fra en webshop hvert 10. minut eller foretage en logisk datasikkerhedskopi selvstændigt hver nat!
TEMPPATH Hvor skal __TEMP__ filerne gemmes?
AKTIVER DEBUGGER („Austester“); den vil derefter være synlig i den generelle menu
KEYBOXPATH Sti til udviklerens AL-nøglefil Navi_inf.dat (tidligere ofte på en diskette!)
SERIALNO Ved brug af en fremmed navi_inf.dat, skulle man her angive serienummeret (se startskærmen), som man vil forbinde sig med.
AUTOENTER Når et felt er fyldt, springer Navision automatisk til det næste felt. Super f.eks. til at indtaste lange tekster i kladder som salgslinjer.
Til en påmindelse: Også den blå version kunne allerede i ethvert tekstfelt med ?xxx hente en standardtekst!!
Startparameter NETTYPE
Hvilke netværkstyper kender Navision egentlig? Det ser du i programkataloget:

Med startparameteren NETTYPE angiver du, hvilket NnetværkCKontroller at Navision starter korrekt.
NETB står for Netbios, tidligere Windows-versioner og brugt i Novell-netværk.
TCPW står for Windows-TCP, som det blev introduceret i Windows 3.11. Microsofts proprietære Netbios, der også blev introduceret med Windows for Networks 3.11, tilgås også via NETB.
TCPN er TCP/IP, som senere blev introduceret af Novell.
Jeg tror, at TCPI står for IBM's Token-Ring TCP (deraf I'et), men der stopper min hukommelse så også.
Så kunne TCPM stå for Microsofts DOS-TCP.
Og: Ja! Det blå Navision 3.5x kørte faktisk under OS/2 (de første Financials og Atain-versioner også! Det var NAVI2.exe til det), under DOS (det var NAVI.exe til det) og under Windows (NAVIN.exe).
Under Windows kunne man enten bruge NAVI eller NAVIN.exe. N stod, tror jeg, for NewTechnology, altså Windows NT, som det blå Navision altid har kørt under! Der tilgik det DOS-extentoren, som praktisk talt tillod ubegrænset hukommelsesadgang (RAM) og dermed markant mere komplekse programflows.
Til orientering: Navision havde dengang ikke en rigtig objekcache, som den blev introduceret med Navision 2.01. HVERT objekt blev hentet fra serveren under kørsel (nå ja, et par KB cache var der jo alligevel...) og derefter udført i hukommelsen.
Komprimere mindre datanøgler


Marker nu først mange små tabeller med CTRL + F1:

Så indstiller du markeringsfilteret med CTRL+F7 CTRL+F7 CTRL+F1 ESC.
Derefter skal du kalde Komprimer:


og svar venligst på spørgsmålet med ja.
Gør venligst dette én ad gangen, indtil alle „små“ tabeller er komprimeret.
Man kan se, at procenten under Udnyttelse nu er højere for nogle tabeller. Det betyder samtidig, at der er lidt mere plads i din database, da der gemmes mindre „luft“.

Du kan blive modigere fra gang til gang og inkludere stadig større tabeller.
Hvis du har været for modig, vil Navision informere dig:

Dernæst kan du nemt fjerne den største tabel fra markeringen med CTRL+F1.
Derefter fjerner du markeringen og fortsætter med andre tabeller. Det er et Sisyfos-arbejde.

Ignorér tabeller med 1 eller 2 sætninger, der er intet at komprimere.
Du kan også filtrere flere på hinanden følgende tabeller ved at bruge Ctrl+F7 på kolonnen Numm (Nummer). Dette er undertiden mere elegant end sætningsfilteret.
Eller f.eks. 114|115|124|125


På denne måde kan I IKKE få fat i de store tabeller, f.eks. vareposter!
Men I skaber så meget plads, at I kan importere og køre min slettefunktion.

Læs data sletning




Kald nu denne batchbehandling:


Denne batchbehandling bekræfter altid databasen. Derved kan den slette store mængder data uden at der opstår en „ikke nok lagerplads“-fejl.
Filteret „Ældre end 10 år“ er fast indkodet og dynamisk. Denne batch-proces kan således kaldes igen hvert år og sletter præcis det år, der er udløbet.
Eurokonverteringen er naturligvis væk efter første omgang. Dataene har alligevel aldrig været nødvendige.
Ved det første kørselsforløb vil systemet derfor i slutningen stadig virke „frosset“, men Navison arbejder også da stadig, indtil statuslinjen melder "Færdig":

Der er nu markant mere ledig plads i databasen.
Før og efter:


Komprimer data
Ved komprimering af data sammenfattes (summeres) datasæt, så resultaterne heraf (varebeholdninger, finans konti eller debitor- eller kreditorsaldi, åbne poster) ikke ændre. Naturligvis forsvinder individuelle oplysninger, altså individuelle fakturanumre, bookingbeskrivelser osv. Dette er - i slutningen af den 10-årige opbevaringspligt - fuldt ud acceptabelt.
De samme regler gælder for den blå Navision-version som for Financials Attain og Navision eller Business Central: Data, som du opbevarer elektronisk, skal du også udlevere til en GdPDU! Alene dette taler for, at du sletter gamle data i denne Navision-version. Derudover er GDPR i dag en yderligere grund til ikke at opbevare data uendeligt.

Indstillinger for rykkerposter:


Indstillinger for lagerbeholdningsposter:

Man kan sagtens inkludere mange felter i udvælgelsen, Navision brokker sig allerede, hvis et felt er forbudt:


Fjern simpelthen **dette** felt igen. På et tidspunkt vil bogføringskomprimering kunne starte. Og den kørte allerede super hurtigt dengang! Det er alt sammen teknologi fra 1993!

I fremskridt kan man så se, hvordan sætninger renses (indhold slettes) og til dels også hele sætninger slettes.
Navision „kender“ reglerne for hver tabel, den tilbyder at komprimere. For 100 %%sikkerhed bør der naturligvis laves en sikkerhedskopi først, men normalt fungerer denne komprimering meget pålideligt.

Til vareposterne, den tykkeste del, har jeg her opført de felter, der kan slettes, ellers tager det ret lang tid med prøven og fejlen:


Kreditorposten:
(De samme ved debitorposteringerne.)
Og også de materielle poster:

Efter at massivt data blev slettet i den blå Navision 3.56 EURO under DOS, kunne systemet stadig bruges.
Rigtig irriterende, at systemhuset virkelig har sat et så flot system så hårdt skakmat med deres NAVI_INF.dat / deres AL-nøgle (Ja, under dette Navision hed det også allerede AL!).
Assembler-debugger i den blå Navision 3.56-version
Da jeg lige havde systemet i hænderne: Kender du den ÆGTE C/AL debugger fra den blå DOS Navision?
navin.exe debug for at aktivere fejlfindingsfunktion. Normalt ville man her også angive stien til licensfilen med keyboxpath.
Så kan debuggeren aktiveres her:



Nå... denne del af den blå Navision 3.56 Euro Debugger kender sikkert enhver, der bare én gang har arbejdet med systemet.
Men… kun en tast væk ligger den rigtige debugger, med den ægte assemblykode, som Navision i virkeligheden udfører!
Hvor dumt: Under Windows 10 fungerer denne tastekombination desværre ikke længere. Jeg vil installere en blå Navision under HyperV/Dos og efterfølgende indsende de tilhørende skærmbilleder.
Screensaver i Navision 3.56 Euro
Den aktuelle skærm, trods alt en DOS-skærm, kunne man gemme med den indbyggede screensaver under CTRL+D. Kan nogen huske, hvordan man gør indholdet af den gemte screenshotfil synlig igen? Det er såååå længe siden...

