Archivdatenbank 

`Anlegen bzw. Öffnen `  /  `Abschalten` 

F8 : Satz bzw. Erg.Menge archivieren

Zu jeder Datenbank (Grundbank) kann man eine zugehörige Archivdatenbank betreiben, kurz Archivbank oder einfach das Archiv genannt. (Ab V28.8)

Was ist das und wo befindet sich die Archivbank? 
Eine getrennte, vollwertige Datenbank; Konfiguration und Indexierung (CFG und Parameter) sind dieselben. 
Die Archivbank wird angelegt in einem Unterordner arc-cat des Ordners der Grundbank, wenn cat deren Name ist. 
Als Arbeitsverzeichnis wird ein ebenfalls arc-cat genannter Ordner an den TEMP-Ordner des Anwenders gehängt. 

Was kann man damit machen? 
Man kann jederzeit jeden Satz und jede Ergebnismenge hineinkopieren. 
Man kann jederzeit darin suchen und Sätze zurückkopieren. 

Wann setzt man es ein? 
Das ist dem Anwender freigestellt. Denkbare Fälle sind z.B. 
-- Vor dem Löschen noch eine Kopie des Satzes machen - man weiß ja nie! 
    (z.B. auch Bestell- und andere Geschäftsgangsdaten) 
-- Daten ausgesonderter und vermißter Bücher im Archiv aufheben 
-- Daten früherer Mitarbeiter und Nutzer archivieren 

Alles geht extrem schnell und ohne Lernaufwand 
Insbesondere sind keine Eingriffe und Änderungen nötig an den Parametern etc. der Grundbank! 
Die Ordner und Dateien werden automatisch angelegt.

A. Anlegen bzw. Öffnen  /  Abschalten 
Dafür gibt es den neuen Menüpunkt Archivdatenbank im `Füllhorn` und im `Supervisor-Menü`. Damit wird  ara.flx gestartet, der die Verzeichnisse und alle nötigen Dateien automatisch erzeugt, wenn sie noch nicht da sind. Jederzeit während einer Sitzung kann man das machen, es gilt für den Rest der Sitzung. 
Also ein einziger Klick, und man hat die Archivbank - nichts eingeben, nichts auswählen, nicht durch einen Dialog durchklicken. 
Nachdem das erledigt ist, oder wenn das Archiv schon existiert, wird ein a99-Fenster dafür geöffnet, und zwar wird ein eigenes Start- und Arbeitsverzeichnis unterhalb %TEMP% angelegt, gleichfalls mit dem Namen  arc-cat, wenn cat der DbName ist. 
Tip: Wo sich %TEMP% wirklich befindet, stellt man so fest: 
x var M\mes
Mit der INI-Datei ist es so: sie wird jedesmal beim Start der ArchivBank per ara.flx neu angelegt und dann sofort zum Start eines neuen a99-Fensters gelesen. Danach kann sie ruhig verschwinden oder überschrieben werden durch eine andere Datenbank, zu der man ebenfalls eine ArchivBank anlegt... 
Tip: Soll das Archiv automatisch beim Start von a99 mit geöffnet werden, dann einfach in der INI die Zeile StartFlex= erweitern: 
StartFLEX=...;ara
Achtung: Man kann nicht gleichzeitig zwei gleichnamige Archive öffnen, d.h. Archive zu zwei Datenbanken mit demselben Namen (=Name der Indexparameter, z.B. cat oder bank). Finden die Sitzungen nicht gleichzeitig statt, gibt es aber kein Problem.

B. Nutzung 
Im F8-Menü gibt es die neuen Punkte  s : Satz archivieren und  e : Erg.Menge archivieren. Sie starten den FLEX  ark.flx, der den Satz bzw. die Erg.Menge im aktuellen Zustand in die Archivbank kopiert. Wenn es ein gelöschter Satz ist (Hintergrund rosa, Status DEL), kommt er als normaler Satz dort an, d.h. man kann einen Satz auch gleich nach dem Löschen schnell noch archivieren. 
Also:  F8 s Enter - fertig, unten im Statusfeld sieht man "Archiviert". 
Wenn man sich  X ark  auf einen Flip-Button legt, ist es immer mit einem Klick getan. 
ark.flx kopiert den Satz bzw. die Erg.Menge in eine Datei arc.alg auf dem WorkDir, dort wird sie von dem FLEX catcp.flx übernommen, der als ExFLEX aus ark.flx heraus angestoßen wird (genauer: mit flex catcp wird ein Signal an das andere a99 gesendet, in dem die ArchivBank geöffnet ist). 
(catcp.flx ist eine Kopie vom mitgelieferten arccop.flx, angefertigt von ara.flx.) 

C. Geplante Hilfsfunktionen  (in V28.1 noch nicht enthalten)
1. Datensatz aus Archiv zurückholen (ersatzweise mit Copy&Paste) 
2. ArchivBank löschen 
Das Löschen ist kein Problem! Einfach die zwei Verzeichnisse beseitigen - fertig. 
 
Weitere Hinweise  (Zur reinen Nutzung braucht man diese Dinge nicht zu wissen)
•	Soll das Archiv beim Schließen der Grundbank automatisch auch geschlossen werden, baut man in den eigenen _endflx.flx (so man einen hat) diese Zeile ein:  flex stop
•	Die Archivbank kann ansonsten benutzt werden wie jede andere. Sie ist nicht irgendwie unauflöslich verbandelt mit der Grundbank, zu der sie angelegt wurde, und das heißt auch, Änderungen an der Archivbank bis hin zu ihrer kompletten Löschung haben keine Rückwirkung auf die Grundbank, diese enthält keine Markierungen oder dergl., welche Sätze archiviert wurden - so etwas könnte und müßte man sich in ark.flx zusätzlich einbauen. 
•	Sie ist ein Hilfsmittel, kein essentieller Bestandteil der Grundbank, d.h. für deren normales Funktionieren nicht notwendig. 
•	Beide können insbes. unabhängig voneinander reorganisiert werden, die Satznummern haben keine funktionale Bedeutung. 
•	Auch die Index- und Anzeigeparameter sowie die .CFG und .FRM der Archivbank darf man in weiten Grenzen verändern. Die Grenze ist da, wo die Struktur der Daten betroffen wäre, vor allem also in der .CFG. 
•	Datumskategorien: Dazu wird beim Anlegen die CFG der Archivbank verändert! Die Archivbank speichert dann separate Datumskategorien, z.B. bei $A.CFG: (d.h. #99e/#99n der Grundbank bleiben erhalten) 
	#99E : letztes Änderungsdatum 
	#99N : Eingangsdatum des Satzes ins Archiv 
•	In der INI-Datei ar.ini, die automatisch erstellt wird, ist 
	LogFile=nul 
gesetzt. D.h. für das Archiv wird keine Logdatei geschrieben! Wenn man eine will, nimmt man diesen Befehl raus. 
•	Das Logging der Grundbank ist in jedem Fall völlig unberührt. 
•	Ein Satz wird aus dem Arbeitsspeicher herauskopiert, so wie er gerade vorliegt, auch wenn er so noch nicht abgespeichert ist. Man kann also vor dem Kopieren schnell man eben was ändern, dann kopieren, dann mit Alt+w den geänderten Zustand zurücksetzen, d.h. in der Grundbank den Satz ungeändert lassen. 
•	Wenn man einen Satz ins Archiv kopiert und es ist dort schon einer mit demselben Primärschlüssel, dann wird der ersetzt (mit Update-Modus 4). Ist dies nicht erwünscht, dann zuerst die IdNummer (oder was immer der Primärschlüssel ist) des zu kopierenden Satzes ändern, dann wird er als neuer Satz eingespeist. 
•	Im Netz kann nichts durcheinandergehen: Die zu kopierenden Daten werden jeweils auf das Arbeitsverzeichnis des einzelnen Nutzers kopiert und von dessen PC aus eingespeist - für's System ist das nicht anders als würde jeder selber per a99 seine Daten in die gemeinsame Archivbank eingeben. 
•	Etwas durcheinandergehen könnte NUR dann, wenn jemand zwei gleichnamige Datenbanken (die auf verschiedenen Verzeichnissen liegen) zugleich geöffnet und für jede davon auch die Archivbank aktiviert hat. Dann wäre nur die jeweils zuletzt geöffnete wirklich geöffnet und würde auch die Kopien der anderen empfangen.  
•	Es wird kein Registry-Eintrag angelegt - so etwas macht allegro ja sowieso nicht, bis auf eine einzige Eintragung beim Installieren. 

?Füllhorn=h fillhorn 
?Abschalten=x if not $@a end`yes Wirklich?`if not yes end`var B "stop"`flex`var ""`ins $@a 
?Supervisor-Menü=h super 
?Anlegen bzw. Öffnen =X ara