diff options
Diffstat (limited to 'doc/eudas/eudas.ref.3')
-rw-r--r-- | doc/eudas/eudas.ref.3 | 270 |
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). - |