summaryrefslogtreecommitdiff
path: root/doc/eudas/eudas.ref.3
diff options
context:
space:
mode:
Diffstat (limited to 'doc/eudas/eudas.ref.3')
-rw-r--r--doc/eudas/eudas.ref.3270
1 files changed, 0 insertions, 270 deletions
diff --git a/doc/eudas/eudas.ref.3 b/doc/eudas/eudas.ref.3
deleted file mode 100644
index 9b58b9b..0000000
--- a/doc/eudas/eudas.ref.3
+++ /dev/null
@@ -1,270 +0,0 @@
-#limit (11.0)##pagelength (16.5)##block#
-#start (2.0,0.0)#
-#page (31)#
-#headodd#
-#center#EUDAS#right#%
-
-#end#
-#headeven#
-%#center#EUDAS
-
-#end#
-#center#1
-
-3 Das virtuelle Dateimodell
-
-
-
-3.1 Dateistruktur
-
-Eine EUDAS-Datei hat folgende Bestandteile:
-
-- 0 bis 5000 #on("i")#Sätze#off("i")#, von 1 an durchnumeriert. Jeder Satz enthält für
- jedes Feld einen variabel langen Text als Inhalt, der standard­
- mäßig leer ist.
-
-- 1 bis 256 #on("i")#Felder#off("i")#, die die Sätze aufteilen. Jedes Feld besitzt einen
- #on("i")#Feldnamen#off("i")# als Text und einen von vier #on("i")#Feldtypen#off("i")# (TEXT, ZAHL,
- DATUM oder DIN). Der Feldname dient zur Identifizierung des
- Feldes, der Feldtyp spezifiziert die Art der Behandlung beim Ver­
- gleichen von Feldern.
-
-- Drei Zusatztexte. Der erste nimmt die #on("i")#Prüfbedingungen#off("i")# auf, der
- zweite speichert das Datum der letzten Veränderung und der
- dritte kann allgemeine #on("i")#Notizen#off("i")# aufnehmen.
-
-- Einen #on("i")#Satzzeiger#off("i")#, der einen bestimmten Satz als aktuellen Satz
- auszeichnet. Der Satzzeiger kann durch Positionierungsoperatio­
- nen verändert werden.
-
-- Eine #on("i")#Sortierreihenfolge#off("i")#, die angibt, in welcher Feldreihenfolge die
- Datei zuletzt sortiert worden ist. Dazu für jeden Satz eine Anga­
- be, ob er entsprechend dieser Reihenfolge an der richtigen Posi­
- tion steht.
-
-- Eine interne Datenstruktur, die beschleunigten Zugriff auf eine
- Satz nach dem Inhalt des ersten Feldes ermöglicht. Diese Struktur
- steht ganz unter Kontrolle von EUDAS und kann nicht von außen
- manipuliert werden.
-
-
-3.2 Öffnen
-
-#on("b")#Virtuelle Datei#off("b")# Die meisten EUDAS-Funktionen arbeiten
-nicht
-direkt auf einer EUDAS-Datei, sondern auf der sogenannten #on("i")#vir­
-tuellen Datei#off("i")#, die aus mehreren realen Dateien bestehen kann. Die
-virtuelle Datei erscheint nach außen hin wie eine einzelne
-EUDAS-Datei. Die Operationen auf der virtuellen Datei werden je­
-weils auf die einzelnen Bestandteile abgebildet.
- Damit eine EUDAS-Datei Bestandteil der virtuellen Datei wird,
-muß sie geöffnet werden. Dieses Öffnen kann auf dreierlei Art und
-Weise geschehen.
- Das Öffnen der ersten Datei stellt eine neue virtuelle Datei
-her. Die Feldnamen und Feldeigenschaften der ersten Datei werden
-in der virtuellen Datei übernommen. Dies ist der Normalfall, in dem
-sich die virtuelle Datei noch nicht von der zugrundeliegenden Datei
-unterscheidet.
- Bei diesem ersten Öffnen muß angegeben werden, ob die vir­
-tuelle Datei verändert werden soll oder nicht. Falls die virtuelle
-Datei verändert werden soll, wird eine Arbeitskopie aller geöffneten
-Dateien angelegt. Die Ursprungsdateien können erst am Ende der
-Arbeit mit den geänderten Kopien überschrieben werden.
-
-#on("b")#Weitere Dateien#off("b")# Weitere Dateien können gekettet oder
-gekoppelt
-werden. Gekettete Dateien werden logisch an die zuerst geöffnete
-Datei angehängt. Ihre Dateistruktur wird ignoriert, sollte aber mit
-der ersten Datei übereinstimmen. Die Folge aneinander geketteter
-EUDAS-Dateien wird als #on("i")#Hauptdatei#off("i")# bezeichnet.
- In der Hauptdatei werden die Sätze von 1 an durchnumeriert;
-die Aufeinanderfolge der Sätze wird durch die Anordnung der Sätze
-in den einzelnen Dateien und die Reihenfolge bestimmt, in der die
-Dateien gekettet wurden.
- Die gekoppelten Dateien werden der Hauptdatei untergeordnet.
-Die in ihnen enthaltenen Informationen werden nur angezeigt, wenn
-sie mit einem Satzinhalt der Hauptdatei korrespondieren. Der
-Mechanismus dieser Satzkopplung wird im nächsten Abschnitt
-beschrieben.
-
-
-#free (8.0)#
-
-#center#Abb. 3-1 Schematischer Aufbau der virtuellen Datei
-
-
-
-3.3 Koppeln
-
- Die Sätze der gekoppelten Dateien werden in Relation zu den
-Sätzen in der Hauptdatei gesetzt. Zu jedem Satz in der Hauptdatei
-kann eine Anzahl von Sätzen aus jeder Koppeldatei gehören. Diese
-Sätze müssen in den Inhalten der sogenannten #on("i")#Koppelfelder#off("i")# über­
-einstimmen.
- Welche Felder Koppelfelder sind, richtet sich nach den Feld­
-namen. Die ersten Felder der Koppeldatei, die auch in der Haupt­
-datei vorhanden sind, werden als Koppelfelder betrachtet. Die Kop­
-pelfelder müssen also bei der Koppeldatei am Anfang stehen - in
-der Hauptdatei kann jedes beliebige Feld ein Koppelfeld sein.
- Wenn eine Datei zur virtuellen Datei gekoppelt wird, werden
-alle Felder, die nicht Koppelfelder sind, in die virtuelle Datei auf­
-genommen. Die Koppelfelder brauchen nicht noch mal wiederholt zu
-werden, da ihr Inhalt ja immer identisch ist.
- Zu beachten ist, daß bei diesem Verfahren auch Namenskonflik­
-te entstehen können, wenn nach den Koppelfeldern später wieder
-ein Feldname vorkommt, der auch in der Hauptdatei vorhanden ist.
-In den Fällen, in denen Felder durch ihren Namen angesprochen
-werden, ist dann das zweite Feld gleichen Namens nicht verfügbar.
-
-
-#free (7.0)#
-
-#center#Abb. 3-2 Schema des Koppelvorgangs
-
-
-#on("b")#Kombinationen#off("b")# Beim Vorwärtsgehen in der virtuellen Datei
-werden
-zu jedem Satz der Hauptdatei nacheinander alle möglichen Kombina­
-tionen der zugehörigen Koppelsätze angezeigt, denn es können
-mehrere passende Koppelsätze vorhanden sein. Die Satznummer
-bleibt dabei gleich; die einzelnen Kombinationen werden von 1 an
-durchgezählt. Beim Rückwärtsgehen wird aus technischen Gründen
-immer nur die erste Kombination angezeigt.
- Existiert zu einem Satz kein passender Koppelsatz, so bleiben
-die entsprechenden Felder leer. Die Koppelsätze müssen in der
-ganzen Koppeldatei gesucht werden, daher ist bei großen Koppel­
-dateien die Suchzeit zu berücksichtigen.
-
-
-3.4 Änderungen
-
-In der virtuellen Datei kann auch geändert werden. Dabei ist jedoch
-Vorsicht angebracht. Es muß festgelegt sein, wie Änderungen der
-einzelnen Felder auf die beteiligten Dateien abgebildet werden.
- Falls die virtuelle Datei keine Koppeldateien enthält, werden
-Änderungen am aktuellen Satz an der zugehörigen Datei durchge­
-führt. Das Löschen eines Satzes wird auch direkt in der Datei
-durchgeführt. Ein neuer Satz wird immer in der Datei eingefügt, zu
-der der aktuelle Satz gehört - am Ende der ersten Datei kann also
-kein Satz eingefügt werden, wenn noch weitere Dateien folgen.
- Enthält die virtuelle Datei Koppeldateien, werden die Änderun­
-gen in der Hauptdatei wie oben beschrieben durchgeführt. Änderun­
-gen, die Felder in den Koppeldateien betreffen, werden nach folgen­
-der Entscheidungstabelle behandelt:
-
- 1 2 3 4 5
- ---------------
- Koppelfelder verändert N J J N N
- Übrige Felder verändert N - - J J
- Übrige Felder leer - J N - N
- Vorher Koppelsatz vorhanden - - - J N
- ---------------
- Neuen Satz einfügen x x
- Koppelsatz ändern x
- Kopplung aktualisieren x
-
-Fall 1: Es wurden keine Veränderungen an den Feldern des Kop­
- pelsatzes vorgenommen, daher ist auch keine Aktion not­
- wendig.
-
-Fall 2: Eines der Koppelfelder wurde verändert. Die Änderung wird
- in der Hauptdatei durchgeführt. Die übrigen Felder des
- Koppelsatzes sind jedoch als leer angegeben. In diesem Fall
- wird der Koppelsatz nicht verändert, sondern nur eine
- neue Korrespondenz gesucht.
-
-Fall 3: Eines der Koppelfelder wurde verändert, gleichzeitig ent­
- halten aber auch die anderen Felder Informationen. In
- diesem Fall wird ein neuer Satz in der Koppeldatei ange­
- fügt, der die neuen Inhalte enthält. So wird vermieden,
- daß an anderer Stelle plötzlich kein passender Koppelsatz
- mehr vorhanden ist.
-
-Fall 4: Nur Felder der Koppeldatei, die nicht Koppelfelder sind,
- wurden verändert, außerdem existierte ein korrespondie­
- render Satz in der Koppeldatei. In diesem Fall werden die
- Informationen im Koppelsatz abgeändert.
-
-Fall 5: Wie 4, nur war vorher noch kein Koppelsatz vorhanden
- (Felder waren leer). In diesem Fall muß ein neuer Satz in
- die Koppeldatei eingefügt werden. Einfügungen in die
- Koppeldatei geschehen immer am Dateiende.
-
-#on("b")#Einfügen/Löschen#off("b")# Beim Löschen eines Satzes der virtuellen
-Datei
-durch Tragen bleiben die Koppeldateien unverändert. Nach dem
-Einfügen eines neuen Satzes wird nur dann ein Satz in einer Kop­
-peldatei eingefügt, wenn dieser Satz nicht nur Koppelfelder enthal­
-ten würde. Falls beim Einfügen nur die Koppelfelder angegeben
-werden, wird ein korrespondierender Satz in der Koppeldatei ge­
-sucht. Vergleichen Sie hierzu die Regeln beim Ändern.
-
-
-3.5 Sichern
-
-Falls Änderungen der virtuellen Datei erlaubt sind, arbeitet EUDAS
-immer auf Sicherheitskopien der beteiligten Dateien. Eine Datei, die
-wirklich verändert wurde, muß vor dem Aufbau einer neuen virtuel­
-len Datei gesichert oder explizit gelöscht werden.
- Für jede einzelne Datei kann festgelegt werden, ob sie gesi­
-chert werden soll oder nicht. Als Hilfe wird dazu für jede Datei
-angegeben, ob sie tatsächlich verändert wurde oder nicht. Die
-Arbeitskopie kann beim Sichern die alte Version überschreiben oder
-unter einem neuen Namen gesichert werden.
- Am Ende des Sicherns können die Arbeitskopien gelöscht wer­
-den. Anderenfalls werden die Dateien so betrachtet, als ob sie di­
-rekt nach dem Sichern wieder geöffnet worden wären und stehen
-weiterhin zur Verfügung.
- Falls alle Dateien entweder gesichert oder nicht verändert
-sind, werden beim nächsten Öffnen einer neuen virtuellen Datei die
-vorherigen Arbeitskopien gelöscht.
-
-
-3.6 Umschalten auf Koppeldatei
-
-Falls eine Datei gekoppelt ist, kann man die virtuelle Datei auf
-diese Koppeldatei umschalten. Dadurch verhält sich die virtuelle
-Datei so, als ob nur diese Koppeldatei geöffnet wäre. Die Einstel­
-lungen der Hauptdatei wie Markierungen und Suchbedingung bleiben
-jedoch erhalten und stehen beim Zurückschalten wieder zur Verfü­
-gung.
- Die Satzposition der Koppeldatei beim letzten Umschalten wird
-ebenfalls gespeichert und wird beim nächsten Umschalten wieder
-eingenommen, unabhängig von der tatsächlichen Satzposition der
-Koppeldatei zu diesem Zeitpunkt.
- Für die Koppeldatei können eigene Markierungen vergeben
-werden, die auch nach dem Umschalten gespeichert bleiben. Auch
-ein Suchmuster kann für die Koppeldatei eingestellt werden, dies
-geht jedoch beim Zurückschalten wieder verloren. Die eingestellte
-Feldauswahl für die Bildschirmanzeige geht leider bei jedem Um­
-schalten verloren.
- Das Umschalten kann entweder im Menü 'Einzelsatz' oder beim
-Einfügen und Ändern durch ESC 'K' bewirkt werden, ebenso das
-Zurückschalten nur im Menü 'Einzelsatz'. Beim Umschalten aus Ein­
-fügen oder Ändern erfolgt beim Zurückschalten eine Rückkehr in
-diesen Zustand. Dabei können nach Anfrage die Koppelfelder des
-aktuellen Satzes der Koppeldatei in die Hauptdatei übernommen und
-damit eine bestimmte Kopplung bewirkt werden.
-
-
-3.7 Mehrbenutzerbetrieb
-
-Durch Einstellen einer Managertask für den Mehrbenutzerbetrieb
-können auch Dateien dieser Managertask beim Öffnen direkt ver­
-wendet werden. Die Datei wird automatisch aus der Managertask
-kopiert und geöffnet.
- Falls die Datei geändert werden soll, wird eine Sperre in der
-Managertask gesetzt, die verhindert, daß auch ein anderer Benutzer
-diese Datei zum Ändern öffnet. Beim Sichern erfolgt dann ein Rück­
-schreiben der Arbeitskopie. Die Sperre wird jedoch erst dann zu­
-rückgesetzt, wenn alle Arbeitskopien gelöscht werden, da erst dann
-keine Möglichkeit des Rückschreibens mehr besteht.
- Alle Dateien der Managertask werden bei der Dateiauswahl zum
-Öffnen mit angeboten. Falls eine Datei in beiden Tasks existiert,
-wird die Datei in der Managertask genommen, die Datei der eigenen
-Task jedoch erst nach Anfrage überschrieben.
- Damit die Sperre funktionieren kann, muß EUDAS in der Mana­
-gertask zur Verfügung stehen und die Task muß #on("i")#nach#off("i")# dem Insertie­
-ren von EUDAS als 'global manager' definiert werden (nicht 'free
-global manager' verwenden).
-