WordPerfect 5.1-Datei PostScript-Datei

allegro-C Logo

allegro - news Nr.35 (94/3)

15. Sept. 1994

Universitätsbibliothek der Technischen Universität Braunschweig, Universitätsplatz 1, D-38106 Braunschweig, Tel. (0531)391-5026, FAX-5836


So much to read, so much to write,
so much to think and do and plan.
You might
see quite
a lot of trees,
but find the forest, if you can.

Durchblick, Einblick, Überblick

Version 14 - ein Sprung in die richtige Richtung

Version 14 steht auf dem Prüfstand. Die allegro-Versionsnummern geben eigentlich nur die Jahreszahl seit Beginn der Entwicklung an, aber eine nennenswerte Verbesserung, ein "qualitativer Sprung" war in der Regel bei einem Versionswechsel trotzdem zuvermerken. V11 kam z.B. mit der Verknüpfungstechnik daher, V12 mit der Kurzanzeige, V13 brachte die verbesserten Konfigurationsmöglichkeiten (UniMARCPicaMAB). Und V14? Ist das etwa schon die Windows-Version (und deshalb der Titel "Durch- blick, Einblick, ...")? Wenn das so schnell ginge ... Nein, Version 14 erfüllt vielmehr die Wünsche, die V11 noch offengelassenhatte. Mit einem Satz: Verknüpfungen funktionieren jetzt endlich so, wie sich einige Anwender das von vornherein intuitiv vorgestellt hatten. Insbesondere bei der OPAC-Benutzung werden die Verknüpfungen völlig transparent (d.h. gar nicht mehr sichtbar: man findet Namen und Schlagwörter da, wo man sie erwartet). Aber auch die Parametrierung wird stark vereinfacht:Nachladevorgänge entfallen, jedenfalls für Stammsätze. Warum nicht gleich so? Nun, es gab kein verwertbares Vorbild (man konnte nirgends abkupfern), oder besser gesagt: was es gab und was man studieren konnte (Namen tun hier nichts zur Sache), hatte alles irgendwo einen Pferdefuß oder war wegen andersartiger Grundstrukturen so nicht nachvollziehbar. Insbesondere bestand keineBereitschaft, verbesserte Verknüpfungen mit einer Leistungseinbuße zu bezahlen. Außerdem waren die besagten Vorstellungen, die mancher Anwender gehabt hatte, als Entwicklungsziel noch nicht genügend präzise formuliert gewesen. Die längste Zeit wurde deshalb dazu gebraucht, Zielvorgaben zu erarbeiten, zuerst einmal ziemlich allgemein, dann im Detail, um dann mögliche Lösungs-ansätze zu sichten und zu bewerten, bevor es an die Programmierung ging. Hier zuerst die allgemeinen Grobziele:

Die Betaversionen der Programme liegen vor, werden an der UB Braunschweig bereits eingesetzt und auch an anderen Stellen getestet, und jeder Abonnent kann sie sich vom FTP-Server holen. Gegen Jahresende, nach weiteren ausgiebigen Tests, wird die Auslieferung erfolgen. Die neuen Funktionen und Möglichkeiten werden schon in dieser Nummer ausführlich dargestellt, damitjeder Interessent sich ein Bild machen und mit eigenen Planungen und Tests beginnen kann.

Den Durchblick fördern soll der folgende Katalog präzisierter Anforderungen, die sich aus den oben formulierten Grobzielen besonders auch für die Parametrierung ergeben, dann folgt ein Einblick in die Lösungsidee, und dann natürlich derVersuch, den nötigen Überblick für die Anwendung der neuen Methode zu schaffen. (Es kann nicht schaden, an dieser Stelle schon einmal den Abschnitt "Soll man's wirklich wagen?" auf Seite 5 zu lesen.)

Durchblick : Was genau sollte man erwarten?

Einblick : Wie funktioniert die Lösung?

Die Programme (PRESTO etc.) ersetzen jeweils vor dem Abarbeiten der Index- oder Exportparameter die Identnummern der Stammsätzedurch die Klartexte, also die Namen, Schlagwörter etc. Nachladungen sind dann unnötig. Nach dem Abarbeiten wird der Datensatz im Arbeitsspeicher wieder in den Originalzustand versetzt. Die Klartexte werden nicht durch Nachladen der Stammsätze herbeige- schafft, sondern aus einem geeignet konstruierten Register ("Ersetzungsschlüssel", s.u.) - nur so geht es schnell genug. DerIndex wird zwar größer, doch er ufert noch längst nicht aus.

(Anmerkung: Die Methode bezieht sich nur auf Stammsätze, nicht z.B. auf Verknüpfungen von mehrbändigen Werken.)

Überblick : Was muß man tun?

Soweit die Forderungen und das Konzept der Lösung, nun zur Realisierung. Was alles ist zu bedenken und zu tun, um die neuen Fähigkeiten der Programme zu nutzen? Damit die Übersicht nicht verlorengeht, müssen ein paar Randbedingungen festgelegtwerden:

  1. Stammsätze benötigen Identnummern. Die Identnummern müssen rein alphanumerisch sein (also nur aus Buchstaben und Ziffern bestehen, ohne Leerzeichen, Punkt, Binde- oder Schrägstriche). Es braucht jedoch keine bestimmte Kategorie für die Identnummernfestgelegt zu werden, d.h. Körperschaftsstammsätze können z.B. dafür eine andere verwenden als Schlagwortstammsätze.
  2. Die Identnummern müssen alle im selben Register stehen, und zwar in der Form nummer=Klartext . Hiervon hängt das Funktionieren der Ersetzungen ab. Das Register kann jedoch noch beliebige weitere Einträge enthalten.
  3. Die Identnummern müssen eindeutig sein: es darf nicht z.B. dieselbe Nummer für ein Schlagwort und eine Körperschaft verwendet werden, obwohl dies ja unterschiedliche Stammsatztypen sind. (Das ist leicht durch ein Präfix wie p / k erreichbar!) Allerdingsreicht es aus, die Nummern beim Indexieren durch ein Präfix eindeutig zu machen. Die Länge der Identnummern braucht nicht einheitlich zu sein.
  4. Ein bestimmtes Zeichen muß als Steuerzeichen festgelegt werden. Das "konsolidierte Format" ($A.CFG) sieht dafür das Zeichen '_' vor. Das Pica-System verwendet '!'. Dieses Zeichen muß in den Titelsätzen stets vor eine Identnummer geschrieben werden, eskann (z.B. bei Pica) zusätzlich dahinter geschrieben werden.
    Das Steuerzeichen darf aber auch an anderen Stellen als normales Zeichen verwendet werden, denn wenn es nicht von einer Identnummer gefolgt ist, passiert nichts.
    Will man erreichen, daß für bestimmte Datenelemente keine automatische Ersetzung erfolgt, verwendet man für diese Fälle ein anderes Steuerzeichen, oder man steckt diese Nummern in ein anderes Register! Oder: man erzeugt keinen "Ersetzungsschlüssel" (s.u.) für diese Sätze.

In Titelsätzen braucht man keine neuen Kategorien. Man gibt statt eines Namens oder eines Schlagwortes dessen Stammsatz-Identnummer in derselben Kategorie ein, angeführt von dem Steuerzeichen. In ein und derselben Kategorie kann stets wahlweise ein Klartext oder eine Identnummer eingesetzt werden. Das Entscheidende für die Parametrierung ist: man kann so tun, als ob in den Kategorien immer Klartext stünde. Man muß die nachfolgend beschriebenen Voraussetzungen schaffen, dann braucht man sich beider Parametrierung nicht mehr mit den Identnummern zu befassen, denn vor der Abarbeitung der Parameter ersetzen die Programme jeweils alle Identnummern durch die zugehörigen Klartexte. Damit dies funktioniert, muß man in die Index-Parameterdatei (z.B. CAT.API) drei neue Befehle einbauen. Nur i5 muß unbedingt vorkommen, für die anderen beiden gibt esStandardwerte:

i4=k Die Ziffer k ist der Ersetzungsmodus: (Standardwert: i4=0)
Wenn im Datensatz eine Angabe wie _NNN steht, dann bewirkt der Wert
0 : Ersatz von _NNN durch den Klartext, hinter _NNN folgende Zeichen werden beseitigt
1 : dasselbe, aber wenn hinter _NNN noch Zeichen folgen, bleiben diese stehen
2 : wie 0, aber das Zeichen '_' bleibt stehen
3 : wie 1, aber das Zeichen '_' bleibt stehen
4 : _NNN_ bleibt stehen, der Klartext wird dahinter eingefügt, nachfolgende Zeichen verschwinden
5 : wie 4, aber nachfolgende Zeichen bleiben stehen.
Wenn in einer Kategorie mehrere Identnummern vorkommen können, kommen nur 1, 3 oder 5 in Frage.
Wird in einer Exportparameterdatei kein i4 angegeben, erfolgt keine Ersetzung.
i5=x Das Zeichen x ist das festgelegte Steuerzeichen
Ohne den Befehl i5 passiert nichts. Das bedeutet insbesondere: alle bisherigen Index-Parameterdateien, die ja diesen Befehl nicht enthalten, funktionieren unverändert.
i6=i Die Nummer des Registers, in dem die Ersetzungsschlüssel stehen (s.u.). (Standardwert: i6=9 )
Alle für Ersetzungen nötigen Identnummern müssen dann in diesem Register stehen.

Außerdem muß es bestimmte Typen von Schlüsseln geben, damit die Methode funktioniert. (In der neu erstellten PICA.PPI ist dieParametrierung dieser Schlüssel exemplarisch durchgeführt und kommentiert.)

Damit die Beschreibung nicht zu theoretisch wird, soll alles an konkreten Beispielen erläutert werden.

Hier ist ein Personenstammsatz (wie er im Format $A.CFG aussehen muß):


#00 123#4n Tucholsky, Kurt

#4naTiger, Theobald; Wrobel, Ignaz; Panter, Peter

In einem Titelsatz hätte man folglich z.B. dieses Datenfeld für Tucholsky als Verfasser:


#40 _123

Beim Parametrieren für den Index kann man aber, wie gesagt, so tun, also ob man #40 Tucholsky, Kurt hätte.

Für den Stammsatz muß die Index-Parameterdatei folgende Schlüssel liefern, damit das klappt:


|9123=|ATucholsky, Kurt       Ersetzungsschlüssel,

                              123 ist zugl. Primärschlüssel

                              d. Stammsatzes

|9tucholsky, kurt _123        Übernahmeschlüssel  (Erfassungshilfe)

|1panter, peter -> tucholsky, kurt      Verweisungen

|1tiger, theobald -> tucholsky, kurt|1wrobel, ignaz -> tucholsky, kurt



_1|1tucholsky, kurt           Pseudoschlüssel für automatische Änderung

Es folgt die Erklärung, was es mit den einzelnen Schlüsseln auf sich hat.

Wenn hier von "Namen" die Rede ist, gilt dasselbe immer auch für Schlagwörter, Notationen, und andere Datenelemente, für die man Stammsätze nutzen will.

Der Ersetzungsschlüssel dient dazu, die beschriebenen Ersetzungen durchzuführen. Bevor die Indexparameter abgearbeitet werden, sieht das Programm nach, ob in dem Datensatz das Zeichen x aus dem Befehl i5=x vorkommt. Wenn also z.B. in einer Titelaufnahme _123 irgendwo steht (egal wo!), sucht das Programm im Register i6, in diesemFall also im Register 9, nach einer Zeile, die mit 123= anfängt. Den Klartext, der dahinter steht, hier also Tucholsky, Kurt (in Normalschreibweise, wohlgemerkt), setzt es dann statt der Nummer _123 ein. (Wenn 123 gefunden wird, aber "=..." fehlt, passiert nichts!) Die Angabe |A istnur für das Programm INDEX nötig, damit dieses in seinem zweiten Durchgang korrekt arbeiten kann (d.h. die Umcodierung vornehmen kann, siehe unten, #-A ist die Sprungmarke). Wenn alle diese Ersetzungen erledigt sind, werden die Indexparameter normal abgearbeitet. Danach werden die Ersetzungen sofort rückgängig gemacht, d.h. der Betrachter merkt von alledem nichts! Nurso ist es aber zu erklären, daß anschließend im Register 1 der Datensatz unter tucholsky, kurt zu finden ist, und nicht unter _123 - was ja bisher das Problem war.

Der Ersetzungsschlüssel kann zugleich Primärschlüssel sein: UPDATE vergleicht beim Einmischen nur bis zum '='.

Der Übernahmeschlüssel ist als Erfassungshilfe gedacht. Man möchte ja auf bequeme und zuverlässige Art bei der Dateneingabe die Nummer statt des Namens eingeben können, oder besser: kopieren. Dieser Schlüssel muß nicht im Register 9 stehen, man muß nurbei der Erfassung wissen, wo man ihn findet. (Im Namensregister selbst würde er im OPAC womöglich eher irritieren.) Die Erfassung geht so: in dem Moment, wo ein Name einzugeben ist, z.B. in einer Abfragezeile, drückt man F6, das Register erscheint, schaltet auf das Übernahmeregister um und sucht nach dem Namen. Man setzt den Pfeil auf die Zeile, drückt<Enter>, dann <Strg><Enter>, und die Nummer steht an der gewünschten Stelle. Wenn allerdings noch kein Stammsatz für den Namen vorhanden ist, müßte man diesen zuerst anlegen - oder den Namen zunächst im Klartext erfassen. Nebenbei bemerkt: solange ein Name nur einmal auftritt und keine Verweisungsform benötigt, solange ist ein Stammsatz blankeUmstandskrämerei.

Gelegentlich wird folgender Wunsch geäußert: In dem Moment, wo ein Name einzugeben ist, und wo man (oder das Programm) feststellt, daß es ihn im Katalog noch nicht gibt, muß ein Fenster aufgehen, wo man ihn als Stammsatz erfassen kann. Mitallegro geht das vorerst nicht. Es empfiehlt sich folgendes: vor der Erfassung des Titelsatzes kurz nachschauen (es geht ja wirklich schnell), ob die benötigten Namen etc. vorhanden sind; falls einer fehlt und man tatsächlich einen Stammsatz haben will, diesen anlegen, dann erst die Titelerfassung starten. Zuviel der Disziplin?

Die Verweisungen sind ein wichtiger Grund, warum man überhaupt Stammsätze macht: sie führen im OPAC von der Verweisungsform zur Ansetzungsform und gelten für beliebig viele Titel, obwohl sie nur einmal, eben im Stammsatz, gespeichert sind. Eine neueVerweisung wird nur im Stammsatz ergänzt, an den Titelsätzen ist nichts zu tun. Die Anzahl der Verweisungen und die Art ihrer Darstellung in den Registern haben auf die Funktion der Verknüpfung keinen Einfluß.

Der Pseudoschlüssel ist ein wichtiges, neues Hilfsmittel. Er wird nicht einsortiert (daher "Pseudo"), sondern nur für Kontrollzwecke gebraucht: Gesetzt den Fall, man ändert im Stammsatz die Ansetzungsform ( #4n im Beispiel). Dannmüssen ja auch die Titeleinträge, die unter tucholsky, kurt standen, auf die neue Form geändert werden. Das Programm merkt, wenn sich bei einer Korrektur am Stammsatz der Pseudoschlüssel ändert. Dann sucht es die unter der alten Form stehenden Einträge zusammen und überführt sie auf die neue Form. Die Titelsätze werden dazu nicht angefaßt: dort steht ja nurdie Nummer, und die ändert sich nicht. (Besser gesagt: sie sollte sich nicht ändern. Man setzt am besten in der .CFG mit P5 den Änderungsschutz auf die Kategorie #00). Wenn man in der Index-Parameterdatei keinen Pseudoschlüssel anlegt, finden derartige automatische Verlagerungen nicht statt.

Der Pseudoschlüssel kann in der Regel mit dem Löschkontrollschlüssel kombiniert werden (s. news 34, S.2). Im Beispiel ist |1tucholsky, kurt zugleich der Schlüssel, der vor dem Löschen des Stammsatzes kontrolliert werden muß.

Der Pseudoschlüssel beginnt mit dem Steuerzeichen i5, hier also mit '_'. Die Ziffer '1' dahinter hat eine wichtige Bedeutung:an dieser Stelle kann auch '0' stehen. Die '0' bedeutet, daß nur solche Einträge verlagert werden sollen, die exakt tucholsky, kurt lauten. Die '1' dagegen bewirkt, daß alle Einträge verlagert werden, die mit tucholsky, kurt beginnen, also z.B. Schlagwortketten mit diesem Namen als Anfangsteil. Diesen Modus kann man also für die einzelnenStammsatztypen unterschiedlich festlegen.

Beim Entwurf einer Datenbank sind noch zwei Dinge zu beachten:

1. Je Stammsatz kann man nur einen Pseudoschlüssel definieren. Das hat zur Folge, daß nur eine Eintragung automatisch verlagertwerden kann. Würde man z.B. neben dem Namensregister noch ein Verfasser/Titelregister machen, dann würde sich dort die Änderung des Stammsatzes nicht auswirken. (Ein solches ist allerdings seit Einführung der Kurzanzeige nicht mehr nötig, und die Kurzanzeige wird ja korrigiert (s.u.)!)

2. Die automatische Verlagerung erfaßt auch solche Einträge, die gar nicht vom Stammsatz herrühren! Wenn man z.B. in manchen Titelsätzen #40 _123 stehen hat, in manchen anderen aber #40 Tucholsky, Kurt , dann sehen die Registereinträge für beide gleich aus. Bei einer Änderung der Ansetzungsform im Stammsatz werden dann beide verlagert, denn andas Programm greift dabei nicht auf die Titelsätze zu (das würde zu lange dauern!). Allerdings wird man, wenn man überhaupt mit Stammsätzen arbeitet, solche Mischanwendungen zu vermeiden suchen. Entweder hat man für eine Person einen Stammsatz, dann sollte man diesen in jedem Fall verwenden, oder man hat keinen, dann kann auch nichts schiefgehen. Mehr Überlegung ist nötig,wenn man den Ersetzungsmodus '1' anwendet. Insbesondere bei Schlagwörtern muß man prüfen, ob dann nicht doch Einträge betroffen werden, die tatsächlich nichts mit dem Stammsatz zu tun haben sondern nur zufällig denselben Anfangsteil besitzen. Will man in ein schon laufendes System sukzessive Stammsätze einführen, sollte man für jeden neuen Stammsatz die evtl. schon vorhandenenKlartexteinträge auf Nummern umstellen.

Diese zwei Einschränkungen sind nicht gravierend. Erstens sind Änderungen der Ansetzungsform in Stammsätzen ihrer Natur nach nicht eben häufig, zweitens werden die wirklich wesentlichen Einträge in jedem Fall geändert, drittens ist durch eine Neu-Indexierung im Notfall alles wieder zu korrigieren.

Aber wie funktioniert dann das Programm INDEX?

Genau diese Frage werden jetzt diejenigen stellen, die mit V11 unzufrieden waren, weil man in der Index-Parameterdatei nicht "nachladen" konnte. Es ist natürlich immer noch so: das Programm INDEX kann die oben beschriebenen Ersetzungen nicht vornehmen, weil zu dem Zeitpunkt, wo es die Daten abarbeitet, der Index noch gar nicht vorhanden ist, aus dem es die Klartexte entnehmenmüßte. Für das oben benutzte Beispiel bedeutet dies: INDEX erzeugt den Schlüssel _123 für den Titelsatz anstatt tucholsky, kurt . Es entsteht also zunächst ein Index mit vielen solchen Einträgen. Diese müssen in einem zweiten Durchlauf aufgelöst werden. In diesem zweiten Durchlauf schaut INDEX nach, ob Einträge vorhanden sind, die mit '_' beginnen,also z.B. _123 . Dann sucht es im Register i6 nach 123= , nimmt den Klartext, den es dahinter findet, führt die Befehle bei Sprungmarke #-A aus, und setzt das Ergebnis in das Register, wo _123 stand, und _123 wird dort gelöscht. Wenn " 123= " im Register i6 nicht gefunden wird, bleibt es unverändert stehen.

Den zweiten Durchlauf startet QRIX automatisch, man kann ihn aber auch von Hand starten:

INDEX -fa -d*datenpfad -eindexparameter/datenpfad -kkonfig

d.h. INDEX hat eine neue Funktion -fa erhalten. Sind keine Einträge der bewußten Art vorhanden, geschiehtnatürlich nichts. Dieser Durchlauf kann auch gestartet werden, wenn die Datenbank schon (im Netz) in Betrieb ist. Für sehr große Datenbanken ist dies ein Vorteil, die Datenbank schon wieder freigeben zu können. Der zweite Durchlauf geht allerdings recht schnell, weil die Datensätze selbst nicht nochmals gelesen und ausgewertet werden müssen.

Aus diesem Verfahren ergibt sich eine weitere Einschränkung: wenn man z.B. einen Namen in einer weiteren Indexeintragung benutzt als zweiten oder weiteren Bestandteil eines Schlüssels, kann INDEX diesen im zweiten Durchlauf nicht finden, und er bleibt als Nummer im Register stehen. Unter PRESTO würden die korrekten Einträge entstehen, da die Ersetzung vor dem Abarbeitender Indexparameter stattfindet. Hier ist zu bemerken, daß mehrteilige Schlüssel eine allegro-Eigenheit sind, die andere Datenbanksysteme überhaupt nicht kennen. Auch die Bildung mehrerer Schlüssel aus einem Datenfeld ist in der Datenbankwelt eine eher seltene Besonderheit.

Und die Kurzanzeige?

Auch diese kann Elemente enthalten, z.B. den Verfassernamen, die in den Titelsätzen nur aus einer Stammsatznummer bestehen. INDEX korrigiert im zweiten Durchlauf auch die Kurzanzeige, wenn dies der Fall ist. Unter PRESTO ist es ohnehin kein Problem, da vor der Bearbeitung der Index-Parameterdatei, also auch der Kurzanzeige, die Ersetzungen automatisch erfolgen.

SRCH

Nun zur Volltextsuche. Wenn man " tucho " als Suchwort eingibt, will man alle Datensätze finden, in denen dieseZeichenkette vorkommt, auch die, in denen statt dessen " _123 " steht. Auch dieses funktioniert. SRCH liest, anders als früher, vor der Suchaktion die Index-Parameterdatei und informiert sich darüber, ob derartige Verhältnisse vorliegen können, d.h. es schaut sich die Befehle i5 und i6 an. Und dann tut es folgendes: es liest einen Datensatz ein, kopiert ihn ineinen "Suchbereich", nimmt per Index die Ersetzungen vor und ersetzt dann noch mit Hilfe der Tabelle S1.ASP einzelne Zeichen (z.B. Groß- durch Kleinbuchstaben). Somit steht dann im Suchbereich tatsächlich " tucholsky ". Genauer: dort steht " _123_tucholsky, kurt" . Das bedeutet: man kann sowohl nach dem Namen wie auch der Nummer suchen. Wenn man z.B.als Suchbegriff " #4,123 " gibt, werden alle Sätze gefunden, die in einer Kategorie der Gruppe #4 die Ziffernfolge 123 enthalten. Wenn man " #4,tucho " gibt, werden alle Sätze gefunden, die in einer Kategorie der Gruppe #4 die Zeichenfolge "tucho" enthalten - auch dann, wenn diese durch Ersetzung erst über den Index hereingeholt wird, denn dieErsetzung passiert vor der Abarbeitung des Suchbefehls.

Für den Export, den SRCH evtl. vornehmen soll, ist es freilich noch etwas anders: dafür steht im normalen Arbeitsspeicher der unveränderte Satz (also mit #40 _123 ). Es kann ja sein, daß man genau so und nicht anders exportieren will. Wennman will, daß die Nummern durch Klartexte ersetzt werden, braucht man nur in der Export-Parameterdatei den Befehl i4=0 unterzubringen, das ist alles - Nachladen erübrigt sich. Oder i4=4 , dann stehen Nummer und Name für den Export zur Verfügung. Der Wert i4 kann also für den Export anders aussehen als in der Index-Parameterdatei! Alle bisherigenExporte funktionieren unverändert, denn sie enthalten keinen Befehl i4.

UPDATE

Das Programm UPDATE verfügt für die Behandlung der Verknüpfungen über dieselben Funktionen wie PRESTO. Wie oben erwähnt, kann der Ersetzungsschlüssel zugleich als Primärschlüssel dienen. UPDATE vergleicht ihn nur bis zum Zeichen '=' mit den vorhandenen Schlüsseln. Wenn also ein korrigierter Stammsatz geliefert wird, in dem die Ansetzungsform verändert wurde, kann UPDATE ihnerstens richtig zuordnen und zweitens die nötigen Veränderungen im betroffenen Register und evtl. in der Kurzanzeige vornehmen.

Die auf PRESTO beruhenden Programme ALFA, APAC, MENUED etc. enthalten ebenfalls die neuen Funktionen.

Noch zwei Kleinigkeiten:

Soll man's wirklich wagen?

Die längliche Beschreibung täuscht darüber hinweg, daß die Arbeit mit Stammsätzen mit V14 tatsächlich erheblich einfacher wirdals vorher. Sind die beschriebenen Parametrierungen einmal erledigt, ist das Arbeiten mit dem System sowohl bei der Katalogisierung als auch besonders bei der OPAC-Benutzung nicht mehr schwierig.

Trotzdem steht die Frage: sollte man wirklich mit Stammsätzen arbeiten? Global kann man das nicht mit ja oder nein beantworten.Erstens ist für die unterschiedlichen Fälle (Personen, Körperschaften, Notationen, Schlagwörter, Serientitel, etc.) jeweils gesondert zu überlegen, ob sich für die konkrete Datenbank die Sache lohnt oder nicht. Zweitens und andererseits kann es Sachzwänge geben, die keine andere Wahl übriglassen. Man denke an einen Katalogisierungsverbund, der mit Stammsätzen arbeitet.Wenn man den eigenen OPAC mit den Daten des Verbundes speist, ist es doch sehr sinnvoll, auch dessen Identnummern und Stammsätze zu verwenden. Wie will man sonst die Verweisungen ins eigene System bekommen? Das Problem allerdings, ob und wie die Stammsätze geliefert werden können, ist ein Problem des Verbundes! Ganz besonders die Frage, ob man veränderte Stammsätzebekommt, wenn ein anderer Verbundteilnehmer die Änderung gemacht hat. Man wird nämlich keineswegs alle Stammsätze des Zentralsystems auch lokal vorhalten und ständig synchronisieren wollen oder können. allegro jedenfalls kann jetzt alles, was der Verbund liefert, adäquat behandeln.

PRESTO & APAC

Automatische Trunkierung

Gibt man einen Suchbegriff der Form " abc? " ein, wird das Register automatisch an der Position des '?' trunkiert. Damit kann man das Programm "überlisten": Eingabe von " a? " bewirkt die Trunkierung auf 1 Zeichen, was mit F10 nicht geht.

Leerer Bildschirm

Folgendes Problem trat auf: auf dem Bildschirm hat man die Kurzanzeige einer Ergebnismenge (<Shift>+F9), dann wird einanderes Register angewählt - und der Schirm wird leer. Eingabe eines neuen Suchbegriffs oder weiteres Umschalten normalisierte dann die Situation wieder, aber der Fehler wurde abgestellt.

Hierarchische Datensätze

Es gab eine Fehlermöglichkeit bei hierarchisch gespeicherten mehrbändigen Werken: wenn man zur Hauptaufnahme eine neue Kategorie hinzufügte und diese zufällig an das Ende der Hauptaufnahme zu stehen kam, verschwanden anschließend beim Speicherndie Unteraufnahmen! Das galt auch für die Datumskategorien: wenn das automatisch erzeugte Änderungsdatum ausgerechnet an das Ende zu stehen kam (z.B. #069 beim NW-Format), passierte dasselbe. Weil das nicht unbedingt sofort auffiel, war dies ein äußerst unangenehmer Fehler. Er ist behoben.

Titel der Datenbank

Die Kopfzeile mit dem Namen des Katalogs (erscheint nur bei APAC und bei PRESTO -a0) steht in der Zeile mit der Nummer 186 derDatei UIF1GER. Die Titel der Register stehen dagegen in der Index-Parameterdatei (Handbuch Kap. 10.2.1.3, Seite 161). Aus der Sicht eines Systemverwalters ist dies ärgerlich. Daher gibt es jetzt den neuen Befehl

|a="text" Überschrift für den Anzeige-Bildschirm

den man in die Index-, aber auch in die Anzeigeparameter schreiben kann. Dasselbe gilt für die Befehle |i=... , mit denen die Registerüberschriften gesetzt werden. Handlungsbedarf besteht nicht, denn die Nummer 168 in der UIF1 bleibt ebenfalls gültig, wird aber durch den neuen Befehl überschrieben.

Eine Zeile zuviel

beansprucht z.B. das Programm APAC, wenn man es über eine Mailbox im "Doorway"-Modus von außen benutzt. Die Zeile 25 desBildschirms wird dabei nämlich als Statuszeile benutzt. Um diese Komplikation nicht mit Tricks in der UIFA-Datei ausbügeln zu müssen, wurde die Aufrufoption -V eingeführt. Der Standardwert ist -V22 , d.h. die Registeranzeige hat 22 Zeilen. Mit -V21 reduziert man dies um eine Zeile, so daß insgesamt nur 24 gebraucht werden. Allerdingsläßt das Programm nun auch gleich kleinere und größere Werte zu! Die Frage ist, besonderes bei größeren, wie das dann aussieht.

Name der Exportdatei

Wenn PRESTO aus einer Stapeldatei gestartet wird, kann man jetzt die Exportoption unvollständig angeben:

-eparam/

d.h. also den Dateinamen hinter dem '/' weglassen. Das Programm fragt dann vor dem Start den gewünschten Dateinamen ab. In Mehrplatzumgebungen kann man so den Einsatz des Programms flexibilisieren, was bei SRCH bereits möglich war.

UIF...

Unerwünschte Funktionen "abklemmen"

Die Programme ACP (CockPit) und APAC (OPAC) erlauben es, unerwünschte Menüpunkte zu unterdrücken. Dazu muß man die zugehörigen UIF-Dateien manipulieren. Die Methode ist jedoch nicht für beide dieselbe:

ACP Datei UIFCGER : unerwünschte Menüzeile löschen oder desaktivieren (Leerzeichen davorsetzen)
APAC Datei UIFAGER : Menüzeile auf "leer" setzen, z.B. 208="" (Register 5 wird abgeschaltet)
(Wenn man die Zeile herausnimmt oder desaktiviert, erscheint eine leere Menüzeile, mit der man die unerwünschte Funktion jedoch sogar aktivieren kann!)

Warum dieser Unterschied? Das weiß niemand mehr. Es wird geprüft, ob man das vereinheitlichen kann.

UPDATE

Die Funktion -fc

Was macht sie eigentlich, was kann man damit anfangen? Dazu eine kurze Beschreibung und einige Tips.

UPDATE macht zunächst dasselbe wie bei der Funktion -fm :

Anders als bei Funktion -fm wird jetzt aber keine Ersetzung des gefundenen Satzes durchgeführt, sondern:

Als Überschriften setzt das Programm automatisch die Zeilen 188 ("neuer Datensatz") bzw. 189 ("vorhandener Datensatz") über die Datensätze. Das ist erwünscht, wenn man eine "Dublettenverdachtsliste" erstellen will, denn der Primärschlüssel sollte jaeindeutig sein! Die besagten Zwischenüberschriften sind jedoch unerwünscht, wenn man die Datensätze in interner Form (mit PA.APR oder I-*.APR) exportiert. Um sie zu unterdrücken, setze man 188="" und 189="".

Die UB Braunschweig benutzt für den Institutskatalog einen "Matchcode" als Dubletten-Kontrollschlüssel. Er setzt sich zusammen aus

Dieser Schlüssel erwies sich als gut geeignet, obwohl er recht einfach ist.

Den Durchlauf mit -fc macht man selbstverständlich bevor man einen Durchlauf mit -fm ausführen läßt, denn danach würde -fc lauter Treffer liefern!

Eine erheblich verfeinerte Dublettenverdachtskontrolle kann man mit SRCH und einer geeigneten Export-Parameterdatei programmieren. Dabei kann man erstens mehr als eine Prüfung durchführen lassen und zweitens mehr als einendublettenverdächtigen Datensatz aus der Datenbank herausfischen (UPDATE -fc liefert nur den ersten von mehreren!).

Die besagte Export-Parameterdatei muß dann die zu kontrollierenden Schlüssel selbst erstellen und damit aus der Datenbank die vorhandenen Sätze durch Nachladung herausziehen, um sie dann geeignet auszugeben. Da es hierbei äußerst diffizile undindividuelle Anforderungen geben kann, ist das ein Geschäft für Parametrier-Virtuosen.

Konfiguration

Schleifen in der Abfrageliste

Mit Einführung der Teilfeld-Abfragetechnik entstand der Wunsch, wiederholbare Felder in einer Schleife abfragen zu können, für jedes einzelne Feld jedoch zwei oder mehr Teilfelder. Diese Möglichkeit wurde eingebaut. Da es auf viele Einzelheiten sehrgenau ankommt, stellen wir drei Muster vor, wie solche Schleifen zu konstruieren sind.

Wichtige Voraussetzung: Vor der Schleife muß mindestens ein Feld abgefragt werden, das in der Reihenfolge vor dem abzufragenden Mehrfachfeld steht. Aus internen Gründen funktioniert die Schleife nicht, wenn im Arbeitsspeicher noch keine Kategorie ist, dieder abzufragenden vorausgeht.

Die zur Schleife gehörigen Zeilen müssen mit derselben Kategorienummer (evtl. plus Indikator) anfangen, die erste braucht nicht mit einem ' ', die weiteren müssen mit zwei solchen Zeichen anfangen, denn daran erkennt das Programm, daß der eingegebene Textan die schon eingegebene Kategorie anzuhängen ist; das zweite ' ' wird entfernt.

Wenn ein Fehlerhinweis erscheint, diesen mit <Enter> wegdrücken, dann geht die Schleife weiter.

Beispiel 1: Format ohne Indikator (t2, k4 : Konfiguration A.CFG)


......          Einige andere Abfragen gehen voran, so daß im

                Arbeitsspeicher schon Felder sind, die im

                Kategoriesystem vor der Schleifenkategorie #85 liegen.

-A85 " Serie ; Band "       erstes Teilfeld abfragen (das erste geht auch

                            ohne Teilfeldkennung!)

=""+D                       wenn nichts eingegeben wurde: Schleife verlassen

85    "  Körperschaft : "         2. Teilfeld (Leerzeichen als Teilfeldkennung!)

85   i"          ISSN : "              3. Teilfeld

+A                                 zurück zum Schleifenanfang

-D                                 Fortsetzung hier, wenn Schleife durch Leereingabe beendet wurde

Beispiel 2: Ein Indikator (t3, k6 : $D.CFG = MAB-Format)

(Dieses Beispiel ist nur fingiert, denn MAB kennt keine Teilfelder, außerdem ist die #100 nicht wiederholbar.)

-A

100   a"  Nachname: "     Indikator ist ' ' (2 Leerzeichen hinter der 100 !)

=" a"+D                           Es wurde nichts eingegeben (Kategorie besteht nur aus " a")

100    b"  Vorname: "

100    c"    Datum: "

+A-D



Beispiel 3: Zwei Indikatoren (t3, k7 : $U.CFG = MARC-Format, #600 = Personenschlagwort)


-A

600 10 a"  Personal name: "       "10" sind die Indikatoren

=" a"+D                                    Es wurde nichts eingegeben

600 10  d"          Dates: "

600 10  x"    Subdivision: "+A

-D

In der CFG-Zeile für die betreffende Kategorie (#40, #100, #700) muß natürlich sichergestellt sein, daß die Kategorie überhaupt mehrfach besetzbar ist (eine Angabe Mxxx muß vorhanden sein). Automatisch erhalten dann die eingegebenen Felder die zulässigenWiederholungszeichen.

Übrigens: in einem Prompttext darf jetzt auch das Zeichen '_' (Unterstrich) vorkommen.

Listenproduktion

Wie stellt man eine numerierte Liste mit Register her?

Die Produktion von Bibliographien mit Registern ist für einige Anwender der wichtigste Einsatzzweck der Software. Es handelt sich dabei um eine sehr anspruchsvolle Aufgabe, geradezu eine Herausforderung für den allegrologen, der hier alle Register der Parametrierungskunst ziehen muß. Seit Version 12 gehören Prototyp-Parameterdateien zum Lieferumfang, die es erleichtern sollen,solche Aufgaben zu lösen. Für V14 wird eine Unterstützung durch das CockPit vorbereitet, ähnlich derjenigen für die Listenproduktion.

Eine numerierte Liste mit Register wird im Prinzip immer in sechs Schritten oder Programmläufen hergestellt. Diese Schrittesind musterhaft in der Stapeldatei ALPHA.BAT dargestellt und kommentiert. Ziehen Sie diese auch als "Strickmuster" für Ihre eigenen Produktionen heran. Die folgende Beschreibung stellt etwas ausführlicher dar, was bei diesen sechs Schritten im einzelnen passiert und was dabei die entscheidenden Punkte sind.

Bevor der Eindruck aufkommt, es sei ein hoffnungslos kompliziertes Unterfangen, gleich der Hinweis: nur die Schritte 1 und 3 erfordern in der Regel individuelle Eingriffe. Die Datei ALPHA.BAT kann man komplett übernehmen, und die Schritte 4, 5 und 6 sind sogar mitsamt der Parameterdateien für alle Registerproduktionen und alle Kategoriesysteme gleich! Die Schritte 1 bis 3sind dieselben wie bei einer normalen Listenproduktion (PR-LIST.BAT), nur beim Schritt 3 wird neben der Liste zusätzlich eine Rohdatei für das Register ausgegeben. (Was hier mit A.CFG gemacht wird, geht auch mit jeder anderen Konfiguration.)

1. Sortierfähige Grunddatei erstellen

Mit PRESTO oder SRCH und einer Parameterdatei vom Typ S-*.APR wird eine sortierfähige Grunddatei HHH1.ALG exportiert. Damit man die Stapeldatei ALPHA.BAT nicht ändern muß, kopiert man die gewählte S-*.PR vorher auf SORT.APR (analog zu SR-LIST.BAT und PR-LIST.BAT). Die SORT.APR bestimmt über die Art der Sortierung. Dieser Vorgang unterscheidet sich noch nicht von der normalen Listenproduktion.

2. Grunddatei sortieren

Die Datensätze in HHH1.ALG beginnen alle mit


#u1 sortierbegriff

#u2 Druckbegriff#00 ...



Mit dem Befehl asort HHH1.ALG HHH2.ALG entsteht eine sortierte Grunddatei HHH2.ALG, aus der im dritten Schritt die Titelliste erstellt werden kann (der Hauptteil der Bibliographie).

3. Liste ausgeben UND sortierfähige Grunddatei für Register erstellen

Das Entscheidende und Typische ist die gleichzeitige Erstellung von zwei Dateien mit einem SRCH-Durchlauf: erstens die Titelliste (Datei LISTE) als Hauptteil der Bibliographie, zweitens eine Grunddatei, die nur die Registerdaten und dieTitelnummern (oder Seitenzahlen der Hauptliste) enthält. Die Voraussetzungen für diesen Schritt sind:


#u1 sortierfaehiger registerbegriff   Kleinbuchstaben, aufgelöste Umlaute etc.

#u2 Druckfähiger Registerbegriff                 Sortierbegriff in normaler Schreibweise

                                          #99zlfd.Nr bzw. Seitenzahl (= Inhalt von #unr)

Die noch folgenden drei Schritte kann man mit A.CFG laufen lassen, denn es werden nur die Kategorien #u1 und #u2 sowie #99 benutzt. Sonst müßte man ALPHA2.APR und ALPHA3.APR auf die eigene Konfiguration umstellen.

4. Registerdaten sortieren

Die Grunddatei HHH wird mit asort hhh hhh.alg sortiert. Dann stehen gleichlautende Registereinträge hintereinander.

5. Mehrfacheinträge eliminieren, Einträge zusammenfassen

Ein SRCH-Lauf mit ALPHA2.APR als Exportparameter erstellt aus HHH.ALG eine neue Grunddatei RNG.ALG. Bei diesem Vorgang werdengleichlautende Einträge entfernt (z.B. Name und Seitenzahl identisch). Einträge mit gleichem Sortierbegriff (Name, Schlagwort, etc.) und unterschiedlicher Seitenzahl oder Satznummer werden zu einem Datensatz zusammengefaßt. Die Seiten- bzw. Satznummern werden, durch Kommata getrennt, zu einem Datenfeld vereinigt.

6. Register drucken

Die Datei RNG.ALG hat nun eine sehr einfache Struktur: die Sätze bestehen aus dem Eintragselement #u2 und einer Folge vonNummern (#99z). Ein SRCH-Lauf mit ALPHA3.APR macht daraus die Datei REG.TXT. Dabei wird auch ein Seitenumbruch durchgeführt. Wird dieser nicht gewünscht, muß man in ALPHA3.APR den "Kopfabschnitt" (siehe Kommentar in dieser Datei) beseitigen. Dann hat man die Möglichkeit, die entstandene Registerdatei mit einem Textprogramm einzulesen und zu verschönern.

Das Paket der hier erwähnten Dateien ist auf FTP-Server und Mailbox verfügbar (Datei ALPHA.LZH) und wird mit V14 allgemein ausgeliefert.

Wenn man aber zwei Register braucht, oder drei? Dann müßte man die ALPHA.BAT erweitern. Im dritten Schritt müßte eine (oder zwei) weitere Exportoptionen angehängt werden, mit entsprechend anderen Parameterdateien vom Typ A. Dann entstünden zusätzlicheRohdateien. Die Schritte 4 bis 6 wären dieselben, müßten also nur dupliziert werden für diese weiteren Rohdateien.

ORDER auf Basis 13a vor der Auslieferung

Es ist bald soweit: Das Erwerbungsmodul enthält jetzt die Fähigkeiten des Kernsystems in der Version 13a. Damit kann ORDER auchmit anderen, mehrstelligen Konfigurationen betrieben werden. Der Umstellung Ihrer Erwerbungsdatenbank auf eine .CFG der neuen Art steht jetzt nichts mehr im Wege. Wann kommt das Programm? Nun, es sind noch Tests mit anderen Datenbankkonfigurationen nötig und die Dokumentation muß noch überarbeitet werden. Die Auslieferung wird dann nach den Expertentreffen beginnen, etwaAnfang Oktober.

Was ist sonst noch neu?

aLF 94.2 gleichfalls im Oktober

Es handelt sich um eine Zwischenversion, die per Mailbox und FTP erhältlich sein wird.

Es sind Mahn- und Gebührenfunktionen realisiert, die auf Benutzerklassen und Medientypen abgestimmt werden können. Zur Nutzungdieser Funktionen sind einige Anpassungen nötig. Eine Referenzdatenbank mit beispielhaften Parametrierungen soll dazu anschauliche Hilfestellung bieten. (ha)

Hilfe für den Import von dBase-Dateien

Es hat immer wieder Versuche gegeben, Literaturdatenbanken mit Hilfe von dBase oder Clipper zu erstellen. Viele haben diese Datenbanken intensiv genutzt und viele tun es auch heute noch. Wenn man diese Daten in eine allegro-Datenbank überführen möchte, wird man die Daten nicht alle neu eingeben sondern mit Hilfe von IMPORT umwandeln wollen.

Prinzipiell ist das ja auch möglich. Neben den Daten benötigt IMPORT eine aber genaue Beschreibung der Struktur der Fremddaten in Form einer Importparameterdatei. Und da liegt denn doch eine Schwierigkeit: Bei Datenbanken, die man nicht selbst erstellt hat, ist die Struktur oftmals nicht genügend dokumentiert. dBase speichert selber die Struktur einer Datenbank imDateikopf der Datendatei. Sie ist nur recht schwer zu entschlüsseln, da sie sehr kompakt gespeichert wird. Es gibt aber einen Ausweg: Jede dBase-Datenbank läßt sich in ein Exportformat, das sogenannte delimited-Format, überführen. Das ist ein Format, bei dem jeder Datensatz in eine einzelne Zeile geschrieben wird. Die einzelnen Felder des Satzes werden durch ein Kommavoneinander getrennt. Einige Felder werden nach Wunsch mit einem Delimiter (Trennzeichen) eingeschlossen. Um dieses Format zu erzeugen, muß man aber dBase besitzen. Wer das nicht hat, ist aufgeschmissen. Aber selbst wenn man dBase hat, ist man nicht sehr glücklich dran, denn das erzeugte Format ist nicht besonders IMPORT-freundlich:

Gerade in Literaturdatenbanken wird häufig Gebrauch von Memofeldern gemacht. Das sind Freitextfelder, in die meistens Dateneingetragen werden, die sonst in den Feldern der Datenbank nicht unterzubringen sind. Dabei handelt sich z.B. um Exemplarangaben, Preise oder sonstiges. In der Regel sind es aber Daten, die man unbedingt mit in die allegro-Datenbank übernehmen möchte.

Das Programm DB2DELIM bügelt diese "Ungereimtheiten" nun alle aus:

Die so aufbereiteten Daten können jetzt mit einer einfachen Importparameterdatei importiert werden.

Sie finden das Programm in der Datei DB2DELIM.LZH in der Mailbox in Area 17 - Allegro-Utilities. In dem Archiv ist auch eine ausführliche Anleitung. (ho)

Editor, was hast du vor?

Das Bearbeiten der ASCII-Dateien (Konfiguration, Parameterdateien, UIF... etc.) ist eine Routinetätigkeit, die man mit jedem Texteditor erledigen kann. In der Praxis werden unter MS-DOS überwiegend die Editoren X und Q eingesetzt, unter UNIX ist immervi verfügbar. Für diese gängigen Editoren stellt die folgende Tabelle diejenigen Handgriffe übersichtlich zusammen, die man wirklich braucht. Die Editoren können zwar noch eine Menge mehr, und die erhältlichen Beschreibungen stellen immer das gesamte Spektrum der Funktionen mit allen Optionen dar, so daß man jeweils das bekannte Gefühl hat, "den Wald vor lauter Bäumen nichtzu sehen". Die Tabelle kann daher eine Hilfe sein, wenn man noch nicht mit einem der Editoren hinreichend vertraut ist - oder umsteigen muß, z.B. auf UNIX.

Symbolik:

"..." Cursor an die richtige Stelle fahren o.a. Zwischenaktionen
XX beliebige Zeichenkette
NAME ein Dateiname
<+ <Enter>-Taste

Editor-Essentials : alles, was man wirklich braucht

(^ bedeutet dasselbe wie <Strg>)

Funktion x q vi
Schreib- - >Befehlsmodus <Esc> <Esc> <Esc>
Befehls- - >Schreibmodus <Einfg> Einfügemodus

x Überschreibmodus

<Esc> R Überschreibmodus

i Einfügemodus

Zeichen löschen <Entf> <Entf> x
Zeile löschen F3 oder <Esc> d d ^Y dd
Leerzeile einfügen F4 oder<Ende><+ ^N O (Großbuchstabe O)
Zeilenanfang <Pos1> <Pos1> 0 (Null)
Zeilenende <Ende> <Ende> $
Bildschirmanfang <Pos1> <Pos1> <Strg><Pos1> H
Bildschirmende <Ende> <Ende> <Strg><Ende> L
Textanfang <Strg><Pos1> <Strg><Bild > ; :1 <+
Textende <Strg><End> <Strg><Bild > ; G
Seite vor/zurück <Bild > / <Bild > <Bild > / <Bild > ^F / ^B
Zeile(n) kopieren <Esc> b b ... c <F4> (Zeile dupliz.) yy ... p
Block verschieben <Esc> d ... d ... c ^K B .. ^K K .. ^K V n d ... p (n=Zeilenzahl)
Finden <Esc> f XX ^Q f XX <+ i / XX <+
nächste/vorige Stelle a / - <+ ^L n N
Suchen + Ersetzen <Esc> r XX

<+ YY

<Esc> s r XX <+ YY <+ :%s/XX/YY/ <+

rückgängig: u

Datei einkopieren <Esc> g NAME -- ... :r NAME <+
Zweiten Text bearbeiten <Esc> o NAME <Alt>E :e NAME <+
Funktion x q vi
umschalt.Text1<- >Text2 <Esc> o <Alt>N :n <+
Teilstück -> Datei <Esc> p...p NAME <+ -- :m,n w NAME <+
Zeile teilen ... <Einfg> <+ ... <Einfg> <+ ... R <+
Zeilen verbinden <Ende> <Entf> <Ende> <Entf> J
Marke setzen <Esc> t a (oder b,c,d) -- m a
zur Marke springen <Esc> j a (oder b,c,d) -- ` a (Gravis!)
letzten Befehl wiederholen a ^q q . (Punkt)
Makro definieren <Esc> m r <Fi> .... m ^M <Fi> ... ^M :map X befehl
Makro ausführen <Fi> (i=1..8) <Fi> (0=1..8) X (X=alphanum.Zeichen)
korrespond. Klammer <F8> (oder '(' ) -- %
Sichern+Ende <Esc> q s <Esc> f s <Alt>x y ZZ
Abbruch <Esc> q e y <Alt>+x n :q!
Anm. zu x : <Esc> jeweils nur nötig, wenn gerade Schreibmodus aktiv (deshalb klein gedruckt).

UNIX UNIX UNIX UNIX UNIX UNIX UNIX UNIX UNIX UNIX

Konsolidierung der Quellprogramme - 14X noch in diesem Jahr

Der Durchbruch steht nun endlich auch an der UNIX-Front bevor. An der allegro-X-Brutstätte Herzog August Bibliothek in Wolfenbüttel hat Dr. P. Pfeiffer in monatelanger, systematischer Kleinarbeit die aktuellen Quellprogramme durchforstet und soaufbereitet, daß nun alle hardware- und systemspezifischen Elemente klar getrennt vorliegen und die Compilierung für eine der bereits einbezogenen Plattformen nur noch die Umstellung eines "Schalters" erfordert. Die Anpassung an eine weitere Plattform ist erreichbar durch das Zusammenstellen einer Liste von systemrelevanten Parametern. Das läuft darauf hinaus, daß in Zukunftkeine getrennten und an zahlreichen Stellen unterschiedlichen Quellprogramme mehr gepflegt werden müssen. Es ist sicher nicht übertrieben, hier von einem Meilenstein der Entwicklungsgeschichte zu sprechen, zumal dies auf der Basis V14 geschieht.

Die Testarbeiten laufen z.Zt. für folgende Plattformen: SINIX, AIX, Sun, HP-UX, Coherent, LinuX. Die ersten Installationenwerden um die Jahreswende 94/95 erfolgen können, wenn die Bewährungsproben in Wolfenbüttel (auf SINIX) und Braunschweig (auf Sun) überstanden sind. Es wird angestrebt, neben den bekannten Programmen des Kernsystems auch schon das Ausleihprogramm aLF einsatzfähig zu machen. Den Braunschweiger OPAC erreicht man per Internet unter 134.169.20.2 mit Zugangskennung OPAC undPaßwort OPAC (darauf folgt eine aktuelle Online-Information).

Die Unterschiede

zwischen der DOS-Version und den UNIX-Varianten sollten so gering wie möglich sein. Intern sind die Strukturen exakt gleich, so daß man eine DOS-Datenbank auf einen UNIX-Rechner kopieren und dort gleich benutzen kann, einschließlich Index (!). An der Oberfläche gibt es aber unvermeidliche Unterschiede:

Bildschirm:

Die Farbe entfällt. Die Darstellbarkeit von Sonderzeichen (Codes oberhalb ASCII 127) ist ein Problem.

Wenn das fragliche System nur mit 7bit-Codes arbeitet, muss man mindestens für die Anzeige (mit p- und q-Befehlen) dieSonderzeichen umcodieren (z.B. ä in ae), oder aber die Datenbank als Ganzes umcodieren. Wenn es einen 8bit-Code gibt, wird er i.a. nicht mit dem PC-ASCII übereinstimmen. Dann sind entsprechend ebenfalls Umcodierungen nötig.

Tastatur:

Die Kombination der Tasten Shift, Alt und Ctrl (Strg) mit den Funktionstasten ist auf UNIX-Rechnern nicht analog zum PC realisierbar (z.B. gibt es meistens keine Alt-Taste). Daher mußte man eine andere Lösung finden. Diese sieht vorläufig so aus (vielleicht ändert sich das noch):

Shift+Taste Ctrl+f Taste (z.B. Ctrl+f F8 statt Shift+F8)

Alt+Taste Ctrl+a Taste (Registerumschaltung auch mit <F1> i statt <Alt>+i)

Ctrl+Taste Ctrl+c Taste

also jeweils hintereinander zuerst eine Ctrl-Kombination mit einem Buchstaben, dann die normale Taste.

Sehr zu beachten ist unter UNIX die Groß- und Kleinschreibung von Datei- und Programmnamen. Beispielsweise wären a.cfg, a.CFG, a.cFg und A.CFG vier verschiedene Dateien, unter MS-DOS würden alle vier Namen dieselbe DateiA.CFG ansprechen. Deshalb ist eine Konvention nötig:

  1. Die Programmnamen werden vollständig klein geschrieben (und sie haben kein Anhängsel .EXE wie bei DOS!)
  2. Die Optionsbuchstaben entsprechen exakt denen des DOS-Systems
  3. Die Dateitypen werden mit Großbuchstaben geschrieben (.CFG, .API, .ALD, ...)
  4. Die eigentlichen Dateinamen, die der Anwender selbst wählt, sind beliebig, die einmal gewählte Schreibung ist natürlich vom Nutzer selbst genau zu beachten. Empfohlen wird, für Datei- und Verzeichnisnamen durchgängig Kleinschreibung zu wählen,keinesfalls aber unterschiedliche Dateien anzulegen, die sich nur durch die Schreibung unterscheiden. (Dies erleichtert den Austausch mit DOS-Umgebungen)

Ein nennenswerter Unterschied besteht außerdem bei den Pfadnamen. Unter UNIX ist '/' (der normale Schrägstrich) das Trennzeichen zwischen Verzeichnisnamen, bei MS-DOS ist es '\' (der Backslash). Außerdem kennt UNIX keine Laufwerksbuchstaben.Diese Eigenheiten müssen in den Programmaufrufen natürlich berücksichtigt werden. Ohnehin kann man die MS-DOS-Stapeldateien nicht unter UNIX verwenden, sondern muß sie in "shell scripts" umschreiben. Die UNIX-Shells sind dafür aber sehr viel mächtiger als die magere Batchsprache von MS-DOS.

Als Beispiel hier ein typischer Aufruf des Programms PRESTO:

presto -a3 -n1 -d/usr/home/opac -kp -pa=datei.ALG ('/' statt '\', '=' statt '/')

Nochmals: das Programm selbst heißt in der Tat " presto " (nicht " presto.exe " und auch nicht" PRESTO "!).

SNIFFER

Dieses seit Version 12 mitgelieferte Hilfsprogramm, für 13a beträchtlich verbessert, kann die Konsistenz einer Datenbank prüfen und Adressenfehler genau lokalisieren. Zwar enthält die Lieferdiskette auch eine Beschreibung SNIFFER.DOC, man hat aber dochden Eindruck, daß das Programm zu wenig bekannt ist. Dem soll hiermit abgeholfen werden.

Aufrufoptionen

Wenn man den Befehl sniffer von der DOS-Ebene aus gibt, kann man folgende Optionen hinzufügen:

-x schaltet das Ein/Ausblenden am Programanfang und Programmende ab. Dies wird unter Windows und bei Hercules- und CGA-Grafikkarten benötigt (und wenn man diesen Effekt nicht wünscht).
-a3 wie bei PRESTO wird damit der volle Funktionsumfang freigeschaltet. Nur mit dieser Option wird beim Programmstart das Untermenü "WERKZEUGE" angezeigt.
-s Betrieb auf einem Einzelplatz. Fehlt dieser Parameter, so wird der Mehrplatzmodus vorgegeben.
-bw Schaltet auf eine Farbdarstellung, die auf S/W Monitoren besser lesbar ist.
-d.. Datenbankpfad und optional auch Datendatei (z.B. -dc:\allegro oder mit Datendatei -dc:\allegro\katalog\kat_1.ald)
-t.. Satztabellenpfad plus Datei (Beispiel siehe Datenbankpfad).
-c.. Konfigurationspfad und Datei wie oben beschrieben.

Reihenfolge der Parameterauswertung:

SNIFFER nimmt zunächst Voreinstellungen im Programm vor. Dann wird nach einer SNIFFER.INI im Startverzeichnis gesucht. Fehltdiese, so wird im Programmverzeichnis (wo SNIFFER.EXE selber steht) nach der Datei

SNIFFER.INI gesucht. Werte in der INI-Datei ersetzen die Voreinstellungen. Abschließend werden die Aufrufoptionen ausgewertet. Diese ersetzen dann alle vorhergehenden Einstellungen.

Die Programmsteuerung

SNIFFER arbeitet mit sogenannten "PULL-DOWN" Menüs und ist auch mit Maus steuerbar. Eine vorhandene Maus wird automatischerkannt. Es erscheint dann nach dem Programmstart ein "Mauscursor" (dunkles Feld) in der Bildschirmmitte. Haben Sie keine Maus angeschlossen, so können Sie auch alle Funktionen über die Tastatur steuern.

Steuerung mit Cursortasten

Mit den Pfeiltasten wird die gewünschte Funktion angewählt und durch "Return" bestätigt. Außerdem kann man im Pull-Down Menü das gewünschte Menü direkt durch Eingabe des farblich abgesetzen Buchstabens zusammen mit der "ALT"-Taste öffnen. Innerhalb desMenüs genügt der Druck auf den farbig markierten Buchstaben zur Anwahl. Um innerhalb einer Auswahlbox ein anderes Feld anzuwählen, kann man mit der "TAB"-Taste (ein Feld vor) oder mit "Shift-TAB" (ein Feld zurück) die verschiedenen Auswahlfelder ansteuern. Ein einzelnes Feld in einer Auswahlgruppe wird mit der "Leertaste" aktiviert und wieder deaktiviert. Die "ESC"-Tastebricht jederzeit sämtliche Vorgänge ab. Hat das anzuwählende Feld einen hervorgehobenen Buchstaben, so kann das Feld mit <ALT>-Buchstabe auch direkt angewählt werden.

Steuerung mit Maus

Bei Mausbedienung wird der Mauscursor direkt auf den anzuwählenden oder zu ändernden Menüpunkt gestellt und dann einmal mit der linken Maustaste geklickt. Zusätzlich haben viele Fenster (wie auch dieses) oben links einen Schließknopf, auf den manebenfalls zum Abbrechen der Funktion klicken kann. Läuft der Sniffer in einer DOS-Box unter Windows, so wird eine Maus nur dann erkannt, wenn beim Öffnen der DOS-Box der Mauszeiger über dem Fenster steht. Wird der Sniffer in einer DOS-Box unter OS/2 v2.x gestartet, so ist der Mauszeiger im Sniffer problemlos nutzbar, egal wo die Box geöffnet wird.

Der Startbildschirm:

Der Startbildschirm mit dem Logo in der Bildschirmmitte ist die Steuerzentrale. Die oberste Zeile bietet vier Menüs zur Auswahl: Datei , Kontrolle , Werkzeuge (nur bei Option -a3) und Einstellungen .

Man beginnt mit einer Auswahl im Menü Datei (wenn man die Dateinamen nicht per Aufrufoption schon vorgegeben hat) und startet den zugehörigen Vorgang unter Kontrolle .

Menü Datei

Datendatei auswählen

Wollen Sie eine Datendatei (Typ *.?LD) untersuchen, so wählen Sie zunächst das Untermenü "Datendatei öffnen" an. Das Eingabefenster, das nun erscheint, ist für alle Dateiauswahlen identisch. Sie können direkt einen Dateinamen eingeben (auch mit Laufwerks- und Pfadangaben), oder grafisch Laufwerk und Pfad wechseln. Die Wahl eines neuen Pfades und/oder Laufwerkes wird imFenster rechts unten durchgeführt. Wenn Sie keine Maus haben, wechseln Sie mit der TAB-Taste die Auswahlfelder. Im linken,unteren Fenster werden jeweils die gefundenen Dateien angezeigt. Markieren Sie die gewünschte Datei durch Mausklick oder mit <Enter>. Nun sehen Sie in dem Statusfenster in der obersten Zeile Ihre Datei als eingestellte Datendatei (incl. Größenangabe).

TBL-Datei auswählen

Der Sniffer kann Unstimmigkeiten in der Datenbank aufdecken, wie z.B. falsche Satznummern und falsche Adressen in der TBL-Datei(der Adressentabelle). Wählen Sie die zu Ihrer Datenbank gehörende TBL-Datei an. In der mittleren Zeile zeigt das Programm nun die gewählte TBL-Datei an, sowie sofort die Anzahl der in der Datenbank enthaltenen Datensätze.

CFG-Datei auswählen

Um eine Datendatei auf Satzebene zu analysieren, muß der Sniffer wissen, welche Kategorien in der Datenbank erlaubt sind. Das steht in der Konfigurationsdatei. Haben Sie hier die richtige Konfigurationsdatei angewählt, so bietet die Kontrolle einer Datendatei zusätzliche Untersuchungsmerkmale an. Der wichtigste ist hierbei der "Kategoriencheck"!

Im Protokoll finden Sie hinterher auch eine vollständige Liste der erlaubten Kategorienummern.

Programm beenden

Über diesen Punkt wird das Programm verlassen.

Menü Kontrolle

Datendatei checken

Haben Sie eine Datendatei ausgewählt, starten Sie hier deren Kontrolle. Es öffnet sich ein Fenster, in dem noch einige Untersuchungsvorgaben individuell angepaßt werden können. Sie können die Standardeinstellung jedoch auch übernehmen und den Datencheck durch <Enter> oder Klicken auf "Start" sofort beginnen. Der Fortgang der Überprüfung wird ständig im Fensterangezeigt. Analysierte Datensätze sind weiß, wenn sie in Ordnung sind, grün, wenn der Datensatz gelöscht ist und gelb, wenn er defekt ist. Im Fenster sehen Sie die letzten Datensätze. Neu untersuchte Datensätze werden jeweils von unten nachgeschoben. Haben Sie vorher das Feld "Fehler sofort anzeigen" markiert, so wird bei einem Fehler der defekte Datensatz in einem extraFenster angezeigt. Dieses können Sie mit F5 vergößern und wieder verkleinern, oder mit ESC die Untersuchung fortsetzen. Nach der Untersuchung kehrt der Sniffer wieder in's Hauptmenü zurück, von wo aus Sie als nächstes den Menüpunkt "Ergebnis anschauen" wählen sollten. Haben Sie neben der Datendatei auch noch eine CFG-Datei angegeben, so haben Sie die Möglichkeit"Kategorienstrukur prüfen" ebenfalls anzuwählen. Anhand der CFG-Datei kann der Sniffer nämlich ersehen, in welcher Reihenfolge die Satzkategorien aufeinander folgen müssen. Diese Prüfroutine ist auch ein Werkzeug, mit dem man Datensätze aufspüren kann, die durch Satzverlängerung zu einem Datensatz zusammengefallen sind. (Bei früheren Versionen kam gelegentlich solches vor.)

Abhilfe bei fehlerhafter Datendatei: CockPit-Routine "Datei entlüften" (unter "organisieren")

Ergebnis anschauen

Der Sniffer erstellt ein Protokoll seiner Tätigkeit. Hier vermerkt er nicht nur Datum und Uhrzeit, sondern auch die Einstellungen, die zu diesem Ergebnis geführt haben. Wurden Unstimmigkeiten im Datenmaterial gefunden, so wird die Position des Fehlers protokolliert, sowie bei gesperrten und vermurxten Datensätzen auch noch der Datensatz selbst ausgegeben, damit man denSatz in der Datenbank wieder aufffinden kann. Bei Problemen mit Ihren Datendateien kann dieses Prüfprotokoll hilfreich sein. Falls es nicht beim nächsten Prüflauf überschrieben werden soll, kann man vor dem Programmstart "Protokoll anhängen" wählen. Das neue Prüfprotokoll wird dann einfach an das bestehende angehängt. Bei Bedarf können Sie das Prüfprotokoll aber auch gleichausdrucken, und zwar mit dem nächsten Menüpunkt:

Ausdruck Datencheck

Dieser dritte Menüpunkt der Gruppe dient dem Ausdruck des Prüfprotokolls. Standardmäßig geht dieses auf LPT1 (also den "normalen" Drucker). Sie können aber auch andere Schnittstellen definieren oder sogar z.B. C:\MIST.OUT, also eine Ausgabedatei unter "Verschiedenes - Voreinstellungen" eintragen. Dieser Ausgabekanal wird dann benutzt, und zwar OHNE(!) Überprüfung.

Satztabelle prüfen

Dieser Menüpunkt öffnet das Statusfenster für die Satztabellenprüfung. Eine Satztabellenprüfung bietet sich an, wenn man

eine vollständige Datenbank hat, in der aber Schlüssel zu nicht existierenden Einträgen vorhanden sind, oder ab und an "Kein Eintrag unter dieser Satznummer" erscheint. Hier wird die Konsistenz der gesamten Datenbank getestet - und nicht nur ein Datenfile. Über Einstellungen haben Sie die Möglichkeit sowohl vorwärts als auch rückwärts die Satztabelle zu analysieren, alsauch an einem bestimmten Datensatz die Untersuchung zu beginnen.

Abhilfe bei fehlerhafter Tabelle: CockPit-Routine "Satztabelle erneuern" (unter "organisieren").

ErGebnis anschauen / AusdruCk Satzcheck

... funktionieren wie schon für die Datendatei erklärt.

Menü Werkzeuge (nur bei Aufrufoption -a3 verfügbar)

Diese Funktionen sind mit Vorsicht zu genießen, da im Gegensatz zu den bisherigen Funktionen ein schreibender Eingriff in die Dateien möglich ist. Dies gilt umso mehr, wenn Sie eine Datenbank im Netz "behandeln".

Datendatei zerlegen

Haben Sie einen fehlerhaften Datensatz der verhindert, daß eine Datendatei indexiert werden kann, so kann die betreffende Dateiin 10 kleinere Dateien zerlegt werden. Nun sollten sich 9 davon indexieren

lassen. Die defekte Datei kann man anschließend wiederum in 10 kleinere Dateien zerlegen, usw....bis letztendlich der einzelne defekte Datensatz übrig bleibt. Diese Funktion ist zur Zeit gähnend langsam -

aber in Fällen wie gerade beschrieben kann sie aber trotzdem nützlich sein!

Satztabelle sperren

Das kann auch vom CockPit aus ohne Probleme durchgeführt werden (Routinen/organisieren), ist also nur der Vollständigkeit halber mit aufgenommen worden.

Satztabelle freigeben

Was man sperren kann (s.o.), muß man auch wieder freigeben können!

Tabellenanfang prüfen /reparieren

Diese Funktion ist etwas irreführend. Wirklich reparieren läßt sich eine Satztabelle nur über die Routine "TBL-Datei erneuern" vom CockPit. Jeweils 4 Byte bestimmen eine Datenadresse incl. Datendateinummer, jedoch kann der Sniffer nicht ermitteln, ob dieWerte der TBL richtig sind, oder die an der Position der Datendatei. Reparieren kann man in einer Satztabelle hingegen die ersten 2 Byte. Sie bestimmen, ob Daten geschrieben werden können oder nicht. Das 2. Byte hat zwar eigentlich keine Bedeutung, doch gab es Allegro-Versionen, die übersensibel reagierten, wenn dieses Byte nicht auf 00 steht. Hiermit werden diese beidenBytes wieder auf den Normalzustand gebracht.

Menü Verschiedenes

Informationen zum Sniffer und dessen Voreinstellungen sind hier untergebracht:

Einstellungen

Wählen Sie diesen Menüpunkt an, um Ihre ganz persönlichen Voreinstellungen zu machen. Diese werden dann in dem Startverzeichnis als "SNIFFER.INI" abgespeichert und bei jedem neuen Programmstart wieder eingelesen. Ist diese Datei nicht vorhanden, so werdenStandardwerte vom Sniffer automatisch vorgegeben.

Online Handbuch

..ist der Text, den Sie gerade lesen. Diese Datei können Sie beliebig gegen einen eigenen Text austauschen, wenn Ihnen etwas besseres einfallen sollte. Speichern Sie den Text als ASCII-Text ab, und zwar unter dem Namen "SNIFFER.DOC" im Verzeichnis, in dem auch "SNIFFER.EXE" steht. Dann wird Ihr Text jedesmal geladen, wenn ein Anwender das Online Handbuch lesen möchte.

Über das Programm

Neben einem Autorenhinweis (ja irgendwo muß doch stehen, daß das Programm von M. Evers ist), finden Sie dort die ebenfallswichtigen Hinweise auf genaue Versionsnummer und Erstellungsdatum des Programms.

aLFA

hat auch eine Inventarisier-Funktion. Wenn ein Mehrfachexemplar noch fehlt, gibt es die Möglichkeit, die erforderlicheSignaturkategorie sofort einzugeben, und zwar mit Druck auf 'X' (großes X). Dann kommt eine Eingabezeile, in die man die neue Signatur eingibt. Diese wird in eine zusätzliche Signaturkategorie der aktuellen Aufnahme übernommen. Wenn ein Buch überhaupt noch nicht erfasst ist, kann man also zuerst mit 'I' die Notaufnahme machen, diese mit F10 speichern, und sofort mit 'X'zusätzliche Exemplare anhängen. In der neuen CAT.API ist die Indexierung des Ausleihers berücksichtigt (Sprungmarke #-X, Register 11 wegen der Datensicherheit).

In der neuen D-1.APR von V13a wird angezeigt, AN WEN das Buch ausgeliehen ist, oder nur DASS es ausgeliehen ist (wahlweiseUnterprogramme #(S und #(T ).

Das mit V13a erstmals ausgelieferte Programm hatte den Fehler, daß das zweite Exemplar nicht zurückgebucht werden konnte. Dieser wurde beseitigt. - Instituts- und Spezialbibliotheken, die keinen komplizierten Ausleihgeschäftsgang benötigen, habendas Programm sehr begrüßt. aLFA wird es deshalb auch für V14 geben, desgleichen MENUED.

RDWR : Read+Write

Die Lieferdiskette 13a enthielt ferner dieses Hilfsprogrämmchen. Es liest eine sequentielle ASCII-Datei ab einer vorgegebenenZeile bis zu einer anderen vorgegebenen Zeile. Als Zeilentrenner gilt dabei 13 10.

Wenn man einfach nur RDWR als Befehl gibt, kommt dieser Hinweistext:


  Hilfsprogramm zum Lesen/Schreiben beliebiger Dateien

  Aufruf mit  rdwr FROM TO FILE_IN FILE_OUT [Hn] [0]   z.B.  rdwr 1 10 datei ergebn

         liest die ersten 10 Zeilen von DATEI und schreibt sie in ERGEBN

     Hn  übergehe n bytes am Anfang eines Satzes (H5 für .ALD-Dateien, H1 für .ALG)     0   Nullen in CR/LF umwandeln (allegro-Daten)



Man setzt ein:


    FROM      die Anzahl der zu übergehenden Zeilen (Zählung beginnt mit 1)    TO        Nummer des letzten Satzes

    FILE_IN   Name der Eingabedatei

    FILE_OUT  Name der Ausgabedatei  (darf nicht derselbe Name sein)

Wenn es sich um eine .ALG oder .ALD-Datei handelt, muss man statt Zeilen die Anzahl der Datensätze angeben, da 13 10 dieSatztrennung ist, d.h. jeder Datensatz gilt als "Zeile". Dadurch kann man eine grössere allegro-Datei in kleinere zerlegen. Die Ausgangsdatei bleibt in jedem Fall unverändert.

FONT : Neue Möglichkeiten für Zeichensätze

In der Datei AC13A.LZH verbargen sich auch noch folgende Dateien und (Public Domain) Programme:

AW.EXE Residentes Programm für eine Pop-up-Tabelle des aktuellen Zeichensatzes;

Beschreibung dazu in AW.TXT

FONTLOAD.EXE Laden eines VGA-Zeichensatzes aus einer .FON-Datei
FONTSAVE.EXE Speichern des aktuellen Zeichensatzes als .FON-Datei
FONTSPY.EXE Kopieren des Zeichensatzes aus einer Anwendung heraus, die einen eigenen Zeichensatz verwendet
FONT.TXT Beschreibung zu den drei Programmen
OSTWEST.FON Erweiterter Zeichensatz, DIN-31628-2 + cszCSZ mit Hacek + polnische Sonderbuchstaben
OW.BAT zum Laden dieses Zeichensatzes (mit AW und dann <Alt>

+w können Sie die Zeichen alle sehen und benutzen!)

RUS.FON Kyrillischer Zeichensatz; Laden mit FONTLOAD < RUS.FON

Achtung: Innerhalb EINER Datenbank kann man immer NUR MIT EINEM Zeichensatz arbeiten!!! Man muss sich also vorher entscheiden.

Wenn man vorher VGAFONT eingesetzt hat, kann man jetzt OSTWEST benutzen, denn das ist kompatibel.

Schauen Sie sich die OSTWEST.FON oder RUS.FON einmal an. Die Struktur dieser Dateien ist sehr einfach. Mit jedem Texteditor lassen sie sich bearbeiten. Jedes einzelne der 256 Zeichen kann modifiziert oder durch ein anderes ersetzt werden. Der Haken: Noch gibt es keine Druckerunterstützung für diese Zeichensätze, erst recht nicht für eigene Modifikationen. Dies ist deshalbschwierig, weil die Zeichenmatrix eines Druckers in der Regel ein anderes Punktmuster hat als der VGA-Bildschirm.

SPRUENGE

Mit 13a kam schließlich auch dieses Hilfsprogramm von Heinrich Allers für die Ermittlung aller Sprungbefehle und Sprungmarken in einer Parameterdatei oder CFG. Starten Sie das Programm, dann sagt es Ihnen selbst, was es macht.

Sein Produkt eine Tabelle der verwendeten Sprungmarken, die man in die Parameterdatei als Kommentar übernehmen kann. Soverbessert man auf schnelle Art die Dokumentation dieser Dateien. Außerdem listet SPRUENGE solche Sprungbefehle auf, die ins Leere zielen, sowie Sprungmarken, die nicht angesprungen werden!

Termine

Eine Veranstaltung für Einsteiger und leicht Fortgeschrittene gibt es am 6./7.10. in Leipzig (Tel. 0341-2130081-147, Frau Dr. Tews), eine weitere in Greifswald am 27./28.10. (Tel. 03834-63342, Frau Dr. Wegelt).

Abo '95

Ein Wort zur Erneuerung Ihres Abonnements. Erfahrungsgemäß gibt es immer Bibliotheken, die noch im laufenden Haushaltsjahr dieBezahlung für das nachfolgende Jahr tätigen wollen. Damit dies abgewickelt werden kann (und nicht im Dezember noch ein Gedränge entsteht) versenden wir die Formulare für die Erneuerung mit dieser Ausgabe.

Wir weisen darauf hin, daß die Entgelte unter dem Vorbehalt der Genehmigung durch das Ministerium zu sehen sind. Sollten sichÄnderungen ergeben, werden wir diese umgehend mitteilen.

WordPerfect 5.1-Datei PostScript-Datei

Datum der letzen Änderung: 15.09.94

© 1995, UB Braunschweig

Bernhard Eversberg (b.eversberg@tu-bs.de)