Universitätsbibliothek der Technischen Universität Braunschweig, Universitätsplatz 1, D-38106 Braunschweig, Tel. (0531)391-5026, FAX-5836
Kann man überhaupt welche haben? Im Sinne von besitzen wohl nicht. Aber nehmen sollten Sie sich jetzt welche, um künftig weniger davon zu verlieren. Und zwar erstens zum Installieren der Version 13. Das kostet nur ganz wenig Zeit, denn an Ihren Daten und Parametern müssen Sie nichts ändern, doch Sie gewinnen mehr Sicherheit und viele kleine Vorteile, die sich summieren.Zweitens aber ist es jetzt zu empfehlen, die eigenen Anwendungen einmal kritisch zu durchdenken. Sind Sie rundum zufrieden mit allem? Dann können Sie sofort wieder zur Tagesordnung übergehen. Nur wenn das nicht der Fall ist, nutzen Sie die Gunst der Stunde und prüfen Sie, ob Sie nicht mit den neuen Möglichkeiten der Version 13 und/oder mit dem "konsolidierten Format" (sieheNr. 31) ein Stück vorankommen können.
Computersysteme führt man ein (nicht nur, aber auch) um Zeit zu sparen. Die Erfahrungen (auch, aber nicht nur, mit allegro) sind allerdings gemischt. Es wird durchaus berichtet über den Abbau von Rückständen,schnellere Verfügbarkeit von Beständen, bessere Serviceangebote, allgemein gewachsene Zufriedenheit, aber auch von allerhand neuen Problemen: schwierige Einarbeitung, langwierige Versuche ohne den erhofften Erfolg, unbequeme Kompromisse, lästige Unzulänglichkeiten, enttäuschte Erwartungen, Angst vor undurchschaubaren Vorkommnissen. Die Entwicklungsabteilung ist zusammenmit engagierten Anwendern bemüht, Mißständen abzuhelfen, Mängel zu beseitigen, die Einarbeitung mit geeigneten Materialien zu erleichtern und durch Verbesserung der Dokumentation alles besser durchschaubar zu machen. Kompromisse werden aber auch mitunter nur subjektiv als solche empfunden und beruhen zuweilen darauf, daß man noch gedanklich in der Katalogkartenweltverwurzelt ist. Das RAK-Denkgebäude ist in diesem Sinne ein wahres "Kartenhaus". Und was unerfüllte Erwartungen angeht: sind sie nicht selten unrealistisch und nicht zu Ende gedacht? (Was wäre denn, wenn man nun tatsächlich auf einmal das "ganz einfache" System hätte, mit dem jeder sofort alles kann? Welche Schlüsse würde ein Arbeitgeber daraus ziehen?) Zwar istallegro ein schwieriges System, aber ein offenes und vollständig dokumentiertes, keine black box. Deshalb müssen Unzulänglichkeiten nicht murrend hingenommen werden. Manche kann man leicht oder mit vertretbarer Mühe selber ausräumen, wenn man sich die Zeit nimmt zum Einstieg in die Parametrierung. Der "Allers", das allegro-Lehrbuch, wird übrigens im Januar wieder erhältlich sein, überarbeitet und um ein Kapitel "Import" erweitert. Auch das Systemhandbuch, aktualisiert für Version 13, kommt im Januar neu heraus. Zeit, die man in diese Lektüre investiert, wird unter Umständen vielfach zurückgewonnen.
Wenn es um Zeitbedarf und Zeitgewinn geht, könnte man zwischen einem "Makro-" und einem "Mikrobereich" unterscheiden. Im Makrobereich investiert man Stunden, Tage oder mehr und erzielt im Erfolgsfall stündlich und täglich spürbare Gewinne. Investitionen im Makrobereich sind teuer - subjektiv und objektiv. Eigenentwicklungen gehen erfahrungsgemäß nie so schnell wieman gehofft hat, sondern dauern immer viel länger als man befürchtet hat, und sie werden selten richtig fertig. Das Rezept für den Makrobereich muß also sein, durchdachte Standardlösungen als Grundlage zu nehmen, vorfabrizierte und bewährte Konfigurationen, Parameter und Stapeldateien einzusetzen. So beginnt man auf einer schon abgesicherten Plattform, anstatt sicherst selber eine zu errichten. In der Nummer 31 wurde mit dem "konsolidierten Format" eine Plattform vorgestellt, die sich auf langjährige Erfahrung stützt und die nach dem Ergebnis der letzten Umfrage eine hohe Akzeptanz gefunden hat. Andere Plattformen sind die des NRW-Verbundes (mit Federführung jetzt an der UB Münster) und die der Büchereizentrale Lüneburg für öffentlicheBibliotheken. Am Beispiel "Musikalien" wird in dieser Nummer gezeigt, daß die Standardplattform des konsolidierten Formats nur geringfügig erweitert werden muß, um Spezialanforderungen erfüllen zu können.
Im "Mikrobereich" der Zeitökonomie geht es um Sekunden. Wenn man, über den Tag verteilt, viele Sekunden und Minuten-bruchteile spart, ist es nicht deren Summe, die als Gewinn empfunden wird, es ist vielmehr der verminderte Streß durch bessere Kontinuität des Arbeitsflusses. Streß baut sich auf, wenn an vielen Punkten des Arbeitsablaufs Verzögerungen im Sekundenbereich auftreten. Am schlimmsten ist es, wenn Vorgänge mal schnell gehen und mal langsam, ohne ersichtliche Ursache. Optimierung heißtdas Schlagwort, wenn man diesen Effekt in Grenzen halten will. Um allerdings Beschleunigungen im Sekundenbereich zu erzielen braucht es manchmal Wochen oder Monate harter Programmierarbeit. Auf Seiten der Entwicklung hatte die "Performance" der Kernfunktionen schon immer die höchste Priorität. So gelang es, daß trotz einer höheren internen Komplexität die neuenProgramme nicht langsamer sind als die alten. Zwar kann das Einarbeiten bei allegro verhältnismäßig viel Zeit brauchen, dann aber, so bestätigen langjährige Nutzer, führt das Erleben einer hohen Systemleistung auch zu einem Empfinden gesteigerter persönlicher Leistungsfähigkeit. Ein schnell erlernbares System mit trägem Reaktionsverhalten odergeringerer Flexibilität erscheint dann weniger akzeptabel.
Optimierung ist aber nicht nur ein Thema für die Entwicklungsabteilung, auch der parametrierende Endanwender kann etwas tun, um seine Produkte effizienter zu machen. Hinweise dazu wurden in Nr. 30 gegeben. Auch aus dieser Sicht macht es sichbezahlt, wenn man die zum konsolidierten Format gehörigen Parameter einsetzt, z.B. die neue CAT.API.
Eine vorläufige Fassung der hier folgenden Beschreibung war schon in Nr. 30 enthalten.
Jedes Datenfeld (= Kategorie) einer Datenbank ist eine Zeichenkette. Sie beginnt mit der Kategorienummer (engl. "tag") und darauf folgt ein beliebig langer Text (fortlaufend geschrieben ohne Zeilentrennungen), der stets auf einer bestimmten Position hinter der Kategorienummer beginnt. Als Standard nehmen die Programme den einfachsten Fall an: die Kategorienummern sindzweistellig, der Text beginnt immer auf der vierten Stelle. Wenn eine Kategorie in einer Aufnahme mehrfach besetzt ist, steht an der dritten Stelle ein unterscheidendes Zeichen (Wiederholungszeichen).
Liegt dieser Normalfall nicht vor, dann muß man mit zwei Befehlen festlegen, wie lang die Kategorienummern sind und an welcherPosition der Text beginnt. Diese sehr wichtigen zwei Befehle gehören an den Anfang der .CFG:
Breite der Kategorienummern
t2
k
Kategorie-Textanfang
k4
Beispiel: (trifft zu auf US-MARC)
t3 k7 Jedes Datenfeld wird dadurch auf diese Gestalt festgelegt: #nnnwijTEXT... nnn Kategorienummer (3stellig) w Wiederholungskennung (normal: Leerzeichen) ij Indikatoren (können dem Feld eine Zusatzbedeutung geben) TEXT Kategorie-Inhalt (beginnt auf der 7. Stelle)
Man erkennt: die Anzahl der Indikatoren ergibt sich aus den Befehlen t3
und k7
automatisch. ImStandardfall t2
und k4
gibt es keine Indikatoren, nur die Wiederholungskennung auf Position 3.
Die Befehle t
und k
legen nur die allgemeine Form fest. Darauf folgen muß eine genaue Aufstellung
aller zulässigen Feldbezeichnungen (= Kategorienummern). Jede Kategorienummer muß durch eine Zeile beschrieben werden, die mit #
beginnt. Eine solche Zeile wird Kategoriedeskriptor genannt, weil sie die Eigenschaften der Kategorie
beschreibt.
Kategoriedeskriptor
#245"Title statement" M Aabchnp Rnp I01 J0123456789 Cac
Zunächst noch ein kurzer Rückblick: bis Version 12.2 sah in der .CFG-Datei eine Kategorie-Definitionszeile so aus:
#20c21a22c23c24c25a27a28a30a31a32a33a39a40d41d42d43d
Damit wurde ausgedrückt, daß #20, #21, #22, ..., #43
erlaubte Kategorienummern und in dieser Reihenfolge zu
speichern seien, daß #20 der Prüfroutine c zu unterwerfen sei (Artikel am Anfang), #21 aber keiner Prüfung, #40 hingegen derPrüfroutine d (ob "Komma Leerzeichen" vorkommt). Weitere Einzelheiten konnte man nicht festlegen. Jede Kategorie war
automatisch beliebig mehrfach belegbar durch schlichtes Hinzufügen eines unterscheidenden dritten Zeichens hinter der
Kategorienummer. So wurden auch #20a, #20ö, #20§ usw. vom Programm ohne weiteres akzeptiert. Daher konnte man für eindreistelliges Kategoriesystem wie MAB oder MARC die dritte Stelle nicht festlegen, und eine dreistellige Feldnummer war als
solche nicht wiederholbar. Man konnte #10y oder #33R eingeben, was ja nun wirklich keine MAB-Kategorien sind, aber das Programm
konnte man nicht bewegen, daran Anstoß zu nehmen. Ab Version 13 ist genau dieses und noch manches andere möglich.
Version 13 will für jede Kategorie eine eigene Definitionszeile sehen, während bisher eine einzige Zeile gleich ein Dutzend und mehr Kategorien (17 Stück im obigen Beispiel) definieren konnte. Eine Definitionszeile der neuen Art, auch Felddeskriptor oder Kategoriedeskriptor genannt, muß formal so aussehen (wenn man alle Register zieht):
#tag"name"[31]Mmmm[31]Aaaa[31]Nnnn[31]Rrrr[31]Cscscsc[31]Iiii[31]Jjjj[31]Pppp[31]F"fff"Auf den ersten Blick ist das eine verwirrende Fülle von Angaben. Jeder Teil außer tag kann entfallen, manche werden nur selten gebraucht.
Die kursiv gedruckten Teile sind variabel, d.h. vom Anwender einzusetzen, die anderen haben festgelegte Bedeutungen alsDefinitionsteile. Das '#' am Zeilenanfang leitet, wie früher, die Deskriptorzeile ein. Darauf folgen:
M
mmm
M
kein weiteres Zeichen, sondern gleich z.B. A
, dann ist die
Kategorie nicht wiederholbar. Fehlt dagegen M
mmm, ist die Kategorie beliebig wiederholbar! A
aaa N
nnn
N
nnn, sind alle
Teilfelder optional, d.h. keins muß vorkommen.
R
rrr
R
rrr, dürfen alle mehrfach vorkommen. Steht hinter R
nichts (d.h.fehlt rrr), darf jedes höchstens einmal vorkommen.
C
scscsc
I
iii
J
jjj
P
ppp
P5
bedeuten: das Feld ist eingebbar, aber nicht mehr änderbar. F
fff
Die letzte Angabe, F
fff , ist vor allem gedacht zur genaueren Definition von Feldern fester Länge. fff besteht
aus einer beliebigen Anzahl von Zeichen, die den zulässigen Inhalt der einzelnen Positionen des Feldes charakterisieren, undzwar wie folgt:
A | Buchstabe oder Leerzeichen |
N | Buchstabe, Ziffer oder Leerzeichen |
9 | Ziffer (0 - 9) |
# | Ziffer, Leerzeichen, oder '+' oder '-' |
L | '0' oder '1' |
X | jedes beliebige Zeichen darf statt X auf dieser Position stehen |
c | auf dieser Position darf nur das Zeichen c stehen (c=beliebiges ASCII-Zeichen außer AN9#LX) |
Nehmen wir als Beispiel die Signatur. Angenommen, #90 ist die Signaturkategorie, und unsere Signaturen bestehen aus zweiBuchstaben, einem Leerzeichen und vier Ziffern. Dann könnten wir für die #90 diesen Deskriptor schreiben:
#90"Signatur" FAA 9999
In der Praxis dürfte gerade bei Signaturen die Methode meist nicht anwendbar sein, denn feste Strukturen gibt es dafürnormalerweise nicht. Und Ausnahmen oder Alternativen läßt eine solche Definition nicht zu. Wenn es aber z.B. so ist, daß
mindestens die ersten zwei Zeichen Buchstaben sein müssen, könnte man immerhin schreiben FAA
. Denn hinter den
festgelegten Positionen kann immer noch beliebiger weiterer Text eingegeben werden, der dann nicht geprüft wird.
Die Prüfroutinen, auf die man in der Angabe C
scscsc zurückgreifen kann, sind unten aufgelistet. Die
Vorteile gegenüber den früheren Versionen: ein Feld kann mehreren Prüfungen unterzogen werden, und jede Prüfung kann auf ein
Teilfeld beschränkt werden. Hinter dem 'C' stehen, wie gesagt, Zeichenpaare. Das erste muß immer ein Teilfeldcode sein, der inder betreffenden Kategorie vorkommen kann, das zweite ein Prüfbuchstabe. Wenn das erste ein Leerzeichen ist, wird die Prüfung
auf die gesamte Kategorie angewendet.
a | Kategorie wird ungeprüft angenommen |
b | reserviert für die Gruppe #0 (- A.4, Beispiel A.CFG) |
c | Das erste Wort wird geprüft. Wenn es ein Artikel ist, fragt das Programm, ob er
ordnen soll, wenn nicht: Einfügen des "Nichtsortierzeichens" (siehe Befehl N) vor den Artikel (Modus n0) bzw. Einschluß des Artikels in zwei solche Zeichen (Modus n1). Die
Liste der Artikel ist unter dem CFG-Befehl d anzugeben. |
d | Prüfung, ob ", " im Eingabetext vorkommt (für Personennamen
sinnvoll) |
e | Prüfung, ob im Text eine Jahreszahl zwischen 1449 und 1999 vorkommt |
f | Prüfung, ob " ; " im Eingabetext vorkommt (#83 und #85), Prüfung c
wird zusätzlich erledigt. |
g | Berechnung der Prüfziffer in der ISBN (Kat. #87) |
h | dasselbe für die ISSN (Kat. #88). Geprüft wird nur, wenn in der Kategorie ein Bindestrich vorkommt und 4 Zeichen davor eine Ziffer steht. Ansonsten wird die Kategorie ungeprüft übernommen. |
s | Mehrfach-Leerzeichen nicht beseitigen (normalerweise werden sie beseitigt) |
t | Tagesdatum: die Eingabe muß von der Form jjjj.mm.tt sein (sortierfähig!) |
Beispiele:
$A.CFG #40"Verfasser"[31]M123456789abc[31]C d Im konsolidierten allegro-Format ist #40 die Verfasserkategorie. Sie kann bis zu 13 mal auftreten, geprüft wird mit der Prüfroutine d. $D.CFG #100"Verfasser"[31]MIbcef[31]C d Die MAB-Kategorie #100 enthält den Verfasser oder die erste beteiligte Person. Sie ist nicht wiederholbar (der 2. Verfasser kommt in #104). Als Indikator kann einer der Werte bcef auftreten. Der Feldinhalt als Ganzes wird nach Methode d geprüft. $U.CFG: #100"Main Entry Person"[31]MAabcdefgklnpqtu46[31]Rcnq[31]I0123[31]J01[31]Cad Die MARC-Kategorie #100 mit der Bezeichnung "Main Entry Person" ist nicht wiederholbar; sie kann die Teilfelder abcdefgklnpqtu46 haben, dabei dürfen c, n und q mehrfach auftreten. Der erste Indikator kann einer der Werte 0123 sein, der zweite 0 oder 1. Das Teilfeld a wird nach Methode d geprüft.
Mitgeliefert werden mit Version 13 die Konfigurationen $D.CFG (DB-MAB), $P.CFG (Pica3) und $U.CFG (US-MARC), jede mit einerAnzeige- und einer Index-Parameterdatei (D-1.DPR, MAB.DPI etc.)
Grundsätzlich ist es so, daß für den Umstieg von einer der älteren Versionen auf die 13 weder eine Umarbeitung derKonfiguration noch der Parameterdateien zwingend notwendig ist. Die Programme erkennen am Fehlen des t
-Befehls,
daß eine .CFG alter Art vorliegt. Dann interpretieren sie die Kategorie-Definitionszeilen korrekt und arbeiten ohne erkennbare
Unterschiede. Nur dann, wenn Sie die neuen Möglichkeiten zur präzisen Definition der Kategorien nutzen wollen, müssen Sie zurTat schreiten. Ein Hilfsprogramm, CFGCONV.EXE, nimmt Ihnen dann einen Teil der Arbeit ab, so daß der Aufwand nicht besonders
groß werden muß. Wenn Ihre Konfiguration z.B. H.CFG ist, starten Sie CFGCONV so:
cfgconv h
Dann entsteht eine Konfigurationsdatei neuer Art mit Namen $H.CFG. Diese können Sie nun Ihren Vorstellungen entsprechend ausgestalten. Wichtig ist dieses: die alten Programme funktionieren solange weiter, wie die alte H.CFG noch da ist. Die neuen Programme bevorzugen aber die $H.CFG, wenn diese vorhanden ist, sonst kommen sie auch mit der alten H.CFG klar. Wenn Sieschließlich die $H in H umbenennen, können die alten Programme damit nichts anfangen, sie werden wahrscheinlich abstürzen. Den neuen macht es nichts aus. So ist es möglich, die alten Programme zunächst noch für alle Fälle vorzuhalten (bei der Installation wird PRESTO.EXE (Version 12) in ZPRESTO.EXE umbenannt usw.).
Die neue Konfiguration beginnt in jedem Fall mit dem Befehl t2
, denn jedes bisherige Kategoriesystem ist genau
genommen ein zweistelliges Schema. Mit einer alten .CFG sind alle Kategorienummern zweistellig, die dritte Stelle ist das
Wiederholungszeichen. Daher muß man für das weitere Vorgehen drei Situationen unterscheiden:
k4
(oder keinen k
-Befehl): dann braucht an den Daten nichts
verändert zu werden. Das trifft zu auf die Konfiguration A.CFG. In der neuen .CFG ergänzt man zu jeder Kategorie einen Befehl
M
mit den zulässigen Werten für die Wiederholungszeichen. Wenn man das nicht macht, werden ohne Kommentar alleZeichen akzeptiert. (Vgl. $A.CFG)
k5
(man hatte also ein Pseudo-dreistelliges Schema), und die vierte Stelle war immer ein
Leerzeichen. Dann braucht man nur t2
in t3
zu ändern, die Daten können bleiben, wie sie sind.Die vierte Stelle kann künftig für Wiederholungszeichen genutzt werden, d.h. die dreistelligen Nummern sind plötzlich wiederholbar. Aber: die neue .CFG muß man ausbauen; für jede erlaubte dreistellige Nummer muß es eine eigene Zeile geben.
t3
setzen. Dann gibt es jedoch zwei Möglichkeiten: #100 M*bcef
statt #100 I*bcef
. Man muß das nicht sofort
machen, denn ohne die M
-Befehle akzeptieren die Programme einfach alle Zeichen, die auf Position 4 stehen. Man
muß aber, wie im Fall 2., für jede erlaubte 3stellige Nummer eine Zeile in die .CFG einsetzen. Die Umwandlung mit CFGCONVerzeugt z.B. nur die Zeile #33
, man erweitert das also auf #331, #333, #335
...
k5
in k6
ändern, denn die Programme benötigen die vierte Stelle für das Wiederholungszeichen, und der Indikator rutscht auf
Position 5. Das aber bedeutet: man muß die Daten ändern! Hinter jede Kategorienummer ist ein Leerzeichen einzuschieben.
Zunächst erstellt man die neue .CFG. Als Minimum muß die Liste aller erlaubten dreistelligen Nummern vorhanden sein. DieUmwandlung der Daten macht man am besten so:
b4
bzw. i5,x
müssen Sie
b5
bzw. i6,x
machen, da sich der Text um eine Stelle verschoben hat!
ks
:
In allen Export-Parameterdateien muß man ks=5
durch ks=6
ersetzen oder ks
beseitigen!
36
das Dollarzeichen (ASCII-Code 36) dafür festlegen, d.h. man hätte z.B. $a statt a. 31
Wie gibt man das Zeichen ein? Mit <Strg>- (Taste <Strg> und gleichzeitig das Minuszeichen neben der rechten
Shift-Taste). Ein Tip für den X-Editor, wo es so nicht funktioniert: Geben Sie innerhalb des X-Editors die Tastenfolge
<Esc> m r <F2> \31 <Enter> m m s
. Dann haben Sie das Zeichen (=ASCII 31) auf die Taste <F2>gelegt, auch für künftige Sitzungen.
In den UIF-Dateien gibt es nicht viele Änderungen, aber das erweiterte Kategoriesystem erfordert ein paar neue Fehlermeldungen.Diese stehen in den Zeilen 57, 58, 60, 67, 68 und 99 der Dateien UIF0GER und UIF0ENG. Diese Nummern waren bisher nicht belegt. Übernehmen Sie die Zeilen, wenn Sie eine eigene UIF0 haben, sie stehen gleich am Anfang der Dateien.
Das konsolidierte Format arbeitet ohne Indikatoren. In MAB und MARC haben die Indikatoren bei vielen Kategorien keine Bedeutung oder sind nur für den Zetteldruck relevant. So verschenkt man also mehrere Bytes je Satz, denn die Positionen sind dann mit Leerzeichen oder Nullen gefüllt. Wenn man nun mit dem konsolidierten Format arbeitet, aber in einigen Fällen eben doch einenIndikator verwenden will, kann man auch so verfahren:
Man hängt ans Ende der Kategorie das Zeichen (Strg+q = ASCII 17) und dahinter das Indikatorzeichen. Die Auswertung kann in einer Parameterdatei z.B. so erfolgen:
#123 +A T" " c"x" e0 Wenn der Indikator 'x' ist, gehe nach #-A#+B sonst nach #-B #-A
Vorteil: Man gibt einen Indikator nur dann und nur dort ein, wo er wirklich gebraucht wird, in allen anderen Fällen bleibt er weg und braucht keinen Platz. Wird er dereinst nicht mehr gebraucht, kann man ihn spurlos beseitigen.
Wie soll man vorgehen?
(Nur lesen, wenn man keine Zeit zu verlieren hat)
Am besten zuerst vom CockPit aus den Menüpunkt "Routinen / neue Version installieren / Update-
Installation" (kurz µr n u
) starten. Von Hand gibt man a:inst a c
, wenn von A: auf C: zuinstallieren ist, und andernfalls entsprechend die geeigneten Laufwerksbuchstaben. Dann spielt sich folgendes ab:
alt
geben, werden dann die Z-Programme zurückbenannt und die neuen Programme auf z.B. NPRESTO. neu
wirkt
umgekehrt. Also ist es nicht nötig, zuerst die neuen Programme wieder runterzuwerfen und die 12er Diskette hervorzukramen... del z*.exe
und die Stapeldateien ALT.BAT und NEU.BAT. µr s b
) µm p
), eine Nummer für die neue Datei (1 bis
255) eingeben,die umzuwandelnde Datei auswählen (ein '+' davorsetzen), und warten, bis es abgelaufen ist. Es hängt von derDateigröße und der Leistung des Rechners ab, wie lange das dauert (1000 Sätze dauern 3 bis 10 Minuten). Dabei wird folgendes
gemacht:
können jetzt mit Abfragen versehen werden. Bisher mußten die Batchdateien, die man an das CockPit anhängte, fest eingestellt sein, man konnte nur die Umgebungsvariablen ausnutzen. Jetzt kann man eine Befehlszeile für eine eigene Routine mit einer Frageversehen: (der neue Teil ist fett gedruckt)
R Daten einmischen, MISCH.BAT?Welche Datei, Daten in die Datenbank einmischen
Bei Anwahl des Menüpunktes "Daten einmischen" kommt dann ein Fenster mit der Frage "Welche Datei". Die Antwort ist in der Batchdatei MISCH.BAT als Parameter %1 auswertbar.
Es gibt eine noch etwas bessere Methode, die aber ein kleines Hilfsprogramm voraussetzt. Dieses heißt REPLY.COM und wird als Zugabe mitgeliefert. Man schreibt z.B. in einer Batchdatei
echo Welche Datei? reply import -f5 -d%REPLY% -....
D.h., die Antwort steht anschließend unter dem Namen REPLY im Umgebungsspeicher. Mit diesem Werkzeug kann man natürlich auch mehrere Abfragen in eine Batchdatei einbauen.
Im Normalfall bisher mit dem Befehl acps
. Jetzt noch knapper mit cp
. In der Batchdatei ACPS.BAT
steht als Kern ein Aufruf des eigentlichen Programms ACP.EXE. Wenn man eine eigene Batchdatei, z.B. START.BAT, mit einemsolchen Aufruf ausstattet, dann wird nach Ablauf einer Routine doch wieder ACPS.BAT automatisch aufgerufen und nicht START.BAT.
Um dies zu ändern, kann man jetzt in die DEFAULT.OPT eine Befehlszeile
C start
schreiben. Wenn außerdem nicht DEFAULT.OPT die Datei mit den Starteinstellungen sein soll, sondern z.B. COCKPIT.INI, dann muß
man in der Batchdatei den Aufruf von ACP ergänzen um die Option -o COCKPIT.INI
(es handelt sich um den
Kleinbuchstaben o, nicht die Null!). In CP.BAT wird CP.OPT benutzt.
Die meisten Menüpunkte kann man jetzt entfernen: man nehme schlicht aus der UIFCGER die Zeilen heraus, die zu den unerwünschtenMenüpunkten gehören. Da man die "eigenen Routinen" jetzt auf 160 (= 16x10) erweitern kann, und da man außerdem mehrere DEFAULT- Dateien (siehe oben) anlegen kann, setzt das CockPit nun den Freunden der Maßschneiderei keine Grenzen mehr.
Wenn man auf dem Menü "Dateien" den Punkt "sämtliche Dateien" anwählt, sieht man nur mit Zugriffsberechtigung a3
(einzutragen in DEFAULT.OPT) wirklich alle Dateien, also auch die Typen .ALD, .ADX etc.
Im Netzwerk kann man jedem User seine eigene DEFAULT.OPT zuweisen und verhindern, daß er/sie sie ändert. Das macht man so:
-oABC
kann man beim Aufruf von ACP auch eine Datei
ABC (mit sinnvollem Inhalt) anstatt DEFAULT.OPT laden lassen.
Das 'v' hatte bislang nicht die vorgesehene Wirkung (und gab deshalb Anlaß zur Verwunderung), sondern machte dasselbe wie 'j'.Jetzt aber ist es so: Die angewählte Datei kann nun entweder betrachtet oder sogar bearbeitet werden, man kann aber auch eine andere Version davon erzeugen.
Die schlechte Nachricht: das neue PRESTO braucht 10K mehr Arbeitsspeicher. Reduzieren Sie bei Bedarf den mr
-
Befehl in Ihrer .CFG um bis zu 2500. LARGO sollte allerdings keine Probleme machen.
Alle Aussagen über PRESTO gelten auch für LARGO und alle erweiterten Versionen von PRESTO.
Wenn mit zwei oder drei Datenbanken gleichzeitig gearbeitet wird, d.h. zwei- oder dreimal die Option -d
gegebenwurde, können jetzt die Zugriffsrechte unterschiedlich gesetzt werden: man schreibt in den PRESTO-Aufruf z.B. -a30
, dann besteht volle Berechtigung für die erste, aber nur lesender Zugriff auf die zweite Datenbank.
Hat man eine Ergebnisliste als Kurzanzeige auf dem Bildschirm, kann man mit F2 die Kurzliste für die gesamte Ergebnismenge abdrucken lassen. Druck auf irgendeine Taste bricht den Vorgang ab.
Standardmäßig sucht jetzt PRESTO nach einer Datei D-1.cPR für die Bildschirmanzeige. Ist sie nicht vorhanden, wird die
bisherige Standarddatei P1.cPR genommen. Eine Aufrufoption -pxyz
verhindert beides und sorgt dafür, daß
XYZ.cPR
genommen wird.
Mit der neuen Aufrufoption -U
kann man jetzt beim Programmstart beliebige Anwendervariablen vorbesetzen. Ein
Aufruf wie z.B.
presto -a3 -UabKatalog ...
kopiert "Katalog" in die Variable #uab
, so daß man diese beim Export benutzen kann. Diese Neuerung erleichtertes, Parameterdateien zu flexibilisieren: man braucht veränderliche Werte nicht jedesmal erst in die Parameterdatei
einzubringen, sondern kann sie beim Aufruf dem Programm übergeben.
Die Option -U
kann unbegrenzt mehrfach verwendet werden, um mehrere Variablen vorzubesetzen. (Allerdings ist dieGesamtlänge eines Programmaufrufs unter MS-DOS auf 150 Zeichen begrenzt!
Wenn in der zu übergebenden Zeichenkette Leerzeichen vorkommen, muß man Anführungszeichen setzen, und zwar so:
presto -a3 -U"abKatalog der Bibliothek ..." ...
sonst bekäme man nur das erste Wort.
Bis Version 12 konnte man nicht schreiben
ak=uxy+M
mit einer Anwendervariablen #uxy
. Jetzt kann man dies tun. Aber was hat man davon? Der wichtigste Nutzeffekt istdieser: man präpariert eine oder mehrere Anwendervariablen in dem Abschnitt der Index-Parameterdatei, der als erster
durchgeführt wird (Primärschlüssel-Abschnitt, meistens Sprungmarke #-@
). Natürlich kann man beliebige
Kategorien, besonders aber aufbereitete Teile von Kategorien, in solche Variablen hineinpacken. Ein Beispiel wäre, wenn man nurdie Hauptsachtitel, aber nicht die Zusätze verstichworten wollte. Das ging bisher nicht. Jetzt würde man schreiben:
#-@ Abschnitt für den Primärschlüssel beginnt hier #20 e" : " dhs =hs #uhs löschen und mit dem Hauptteil von #20 belegen #22 e" : " p" " Ahs Hauptteil von #22 anhängen (Leerzeichen davor!) #23 ++ e" : " p" " m" " Ahs dasselbe mit #23, #23a..., #24, #24a... #24 ++ e" : " p" " m" " Ahs ... hier beginnt erst der eigentliche Primärabschnitt
Dann würde ein Befehl wie ak=uhs" "+C
dafür sorgen, daß alle in #uhs
versammelten Titelteile in
Stichwörter zerlegt werden. Wer schon selber umfangreiche Index-Parameterdateien entwickelt hat, wird den Nutzeffekt sofort
erkennen. Für Formate wie MARC oder Pica mit vielen Teilfeldern ist diese neue Methode schlicht notwendig, und deshalb wurdesie auch entwickelt.
Noch ein Hinweis: Der Befehl ak=ux.+M
(um alle #uxy
zu indexieren) funktioniert nicht. Das ist
aber auch nicht nötig, denn man kann ja in dem Vorbereitungsabschnitt alle gleichartig zu indexierenden Teile hintereinanderund mit einer geeigneten Trennung in dieselbe Variable kopieren.
l
xyHiermit kann man die Länge des aktuellen Arbeitstextes in eine Variable schreiben lassen. Z.B.
#20 b" : " lti
schreibt die Länge des Titelzusatzes in die Variable #uti
. Ausnutzbar ist das beispielsweise, wenn man ein"Inhaltsverzeichnis" (record directory) nach Art der Magnetband-Austauschformate erstellen will.
Neuer Manipulationsbefehl w
: Inhalt einer anderen Kategorie holen
Wenn der aktuelle Areitstext eine Kategorienummer ist, kann der neue Befehl w
eingesetzt werden, um den Text der
betreffenden Kategorie zum aktuellen Arbeitstext zu machen.
Sagen wir, in #95 steht die Nummer einer anderen Kategorie, d.h. wir haben z.B. #95 31
oder #95 #31
(beides würde gehen). Dann liefert die Zeile
#95 w
als Arbeitstext den Text von #31. Diese Möglichkeit läßt sich ausspinnen: wenn man mit Hilfe der Rechenbefehle und Prüfungbestimmter Bedingungen eine Kategorienummer errechnet, kann man sofort auf deren Inhalt umschalten.
Wenn die fragliche Kategorie nicht besetzt ist, wird die Zeile ohne Wirkunng abgebrochen; ein bedingter Sprung wird nicht ausgeführt.
Alle Schaltbefehle beginnen mit #<
und bewirken innerhalb des Arbeitsspeichers einen Wechsel zwischen zwei
geladenen Datensätzen. Bisher war dies nur im Zusammenhang mit dem "Nachladen" von Bedeutung. Jetzt ist es auch möglich, bei
hierarchischen Sätzen zwischen den verschiedenen Teilen vor- und zurückzuschalten. Hierarchische Sätze werden immer als Ganzesin den Arbeitsspeicher geladen, deshalb ist dies für das Programm kein besonderes Problem, es gab nur noch keine Befehle dafür.
Die neuen Schaltbefehle sehen so aus:
#<dM zum nächsten Untersatz schalten ("down") #<uM zum vorigen Untersatz zurückschalten ("up") #<UM zum obersten Satz (Hauptsatz) schalten.
Das 'M' kann irgendein Zeichen sein, aber auch fehlen. Seine Wirkung ist dieselbe wie bei den anderen Schaltbefehlen: Wenn der
Schaltbefehl ausführbar ist, wird zur Sprungmarke #-M
gegangen, wenn nicht, wird mit der nächsten Zeileweitergemacht.
So etwas gab es schon beim Import, aber noch nicht beim Export. Da nun aber beim Export alle Manipulationen an einer Kategorie innerhalb einer Zeile stehen müssen, ist die Form des neuen Befehls ein wenig anders: allgemein sieht der Manipulationsbefehl "Lokale Ersetzung" so aus:
,"_X_Y_"
mit beliebigen Zeichenketten X und Y. Befehlszeichen ist also das Komma. Die Anführungszeichen müssen sein, weil evtl. innerhalb der Ersetzung auch Mehrfach-Leerzeichen gewünscht werden könnten. Der Befehl ist wiederholbar.
Will man z.B. in der Kategorie #31 das Zeichen § durch das Wort "Paragraph" und §§ durch "Paragraphen" ersetzen, müßte man zweilokale Ersetzungen hintereinander machen:
#31 ,"_§§_Paragraphen_" ,"_§_Paragraph_"
Fünf neue Sonderkategorien wurden eingeführt:
#uxa
enthält die Registerzeile, von der aus der letzte Zugriff erfolgte.
#u00
Anzahl der Kategorien in der aktuellen Aufnahme
#u01
Erste Kategorie der aktuellen Aufnahme
#u02
jeweils nächste Kategorie (zuerst muß einmal #u01 benutzt werden)
#u03
Letzte Kategorie der aktuellen Aufnahme
Will man z.B. alle Kategorien mit jeweils gleicher Vorbearbeitung ausgeben, kann man nach diesem "Strickmuster" vorgehen:
#u01 =kt #zz 0 die erste Kategorie wird in #ukt kopiert #-z #ukt manipulationsbefehle #ukt wird verarbeitet #u02 +z dkt akt #zz 0 die nächste Kategorie wird nach #ukt kopiert, dann zurück nach #-z
Die Schleife endet automatisch nach der letzten Kategorie, d.h. wenn es keine nächste mehr gibt, ist #u02 leer und der Sprung wird nicht mehr ausgeführt. Die jeweilige Kategorie wird immer in #ukt umkopiert, bevor sie ausgegeben wird. Dadurch hat man die Möglichkeit, die Kategorie evtl. in mehreren Teilen vorzubearbeiten oder auch noch andere Befehle hinzuzufügen.
Die Sonderkategorie #fn
funktioniert nicht immer. Schreiben Sie #fn1
, dann geht es.
Diese Neuerung wird nach aller Erfahrung weitere Wünsche nach sich ziehen. Trotzdem wollen wir sie hier veröffentlichen. Innerhalb einer Parameterdatei kann man nun dem Benutzer eine Frage stellen und seine Antwort auswerten. Das wirdfolgendermaßen gemacht: Die Befehlszeile
#q{ "Geben Sie 1, 2, oder 3 ein" }
bewirkt, daß zum Zeitpunkt der Abarbeitung ein Eingabefenster aufgeht mit der Überschrift "Geben Sie 1, 2, oder 3 ein". Das
Programm wartet dann auf eine Eingabe und arbeitet die Parameterdatei danach weiter ab. Die Antwort des Benutzers steht in derebenfalls neuen Anwendervariablen #uxq
und kann verwendet werden wie jede andere Kategorie auch. Das bedeutet,
man kann jetzt interaktive Anzeigeparameter schreiben.
Allerdings: Der bis zum Zeitpunkt der Frage bereits erstellte Exporttext wird noch nicht sichtbar, sondern die Frage erscheintauf einem leeren Bildschirm.
Ein Beispiel findet man in der Datei BAND.APR, die zur Demo-Datenbank gehört. Darin wird der Benutzer aufgefordert, eine Jahreszahl einzugeben. Diese wird dann dazu verwendet, aus dem Register 10 die Bestandszeilen nachzuladen, die zu derJahreszahl gehören.
Die Spezialparameter für Indexdateien (- 10.2.1.3) wurden durch zwei weitere ergänzt:
i8="xyz"
i8="> _"
i9="xyz"
i9=">= _"
Mit <CursorLinks> kann man in jedem Fall sofort auf den zugehörigen Satz zugreifen!
Das Zeichen ' >
' wirkt außerdem nur dann als Referenzzeichen, wenn ihm ein ' -
' vorangeht.
(Sonst würden Ordnungshilfen in Winkelklammern im Register manchmal seltsame Sprünge auslösen!) Wenn gewünscht wird, daß nur
der Pfeil ( ->
) und nichts anderes eine Referenz auslöst, muß man in die Index-Parameterdatei schreiben:
i8=">"i9="> ... nur noch für Abonnenten! 9"
Die Werte können jederzeit geändert werden, ohne neu indexieren zu müssen!
-fm01
: Einspeisen ohne zu vermischenNeu ist hier die '0': UPDATE verzichtet dann auf einen Vergleich mittels Primärschlüssel und sortiert neue Datensätze ein, ohne vorhandene dabei anzurühren. Dieser Modus ist anzuwenden, wenn man keinen eindeutigen Primärschlüssel hat. Jeder Satz wird dannals neuer Satz behandelt.
"Ja, aber das kann man doch auch mit INDEX machen!" Nicht im Mehrplatzbetrieb, da geht INDEX schief, wenn gleichzeitig jemand anders arbeitet. Außerdem zeichnet nur UPDATE seine Aktionen auch in der .LOG-Datei auf.
Nur Grunddateien (Typ .cLG), so weiß der Kenner, kann man mit UPDATE in eine Datenbank einmischen (- Kap.9). Datensätze inGrunddateien beginnen mit dem ASCII-Code 1. Darauf folgen die Datenfelder, jeweils mit ihrer Kategorienummer (ohne '#') am Anfang und einem ASCII-Code 0 am Ende. Diese Datenstruktur muß vorher mit einer geeigneten Import- oder Exportprozedur (oder einem eigenen Programm) hergestellt werden. Soll nun UPDATE einen Datensatz löschen, braucht man nur statt der 1 eine 9 an denSatzanfang zu stellen. UPDATE ermittelt dann den Primärschlüssel, sucht in der Datenbank den zugehörigen Satz und löscht ihn.
H
U
H
schaltet wieder nach vorn zu dem mit U
verlassenen Datensatz.
Beide Befehle können mehrfach auftreten und schalten jeweils im Arbeitsspeicher eine Aufnahme vor bzw. zurück.
Wohlgemerkt: das Schalten bezieht sich auf die vorher erstellten allegro-Sätze, nicht auf die
Fremdsätze! Zu einem vorher bearbeiteten Fremdsatz kann man nicht zurückgehen. Will man Datenelemente aufbewahren für eine
Verwendung in weiteren Sätzen, muß man sie in Anwendervariablen zwischenspeichern (Befehle K
xy und ku
xy)
Wenn U
verwendet wird, schaltet das Programm automatisch auf den Modus -m1
("manuelle
Unterbrechung möglich"), denn bei -m0
wird ein fertiger Datensatz sofort in die Exportdatei geschrieben, unddann wäre ein Zurückschalten unmöglich.
Wenn ein Fremdsatz fertig bearbeitet ist und ein neuer anfängt, beginnt das Programm wieder mit der Abarbeitung der Kategorieliste am Anfangspunkt und legt in jedem Fall einen neuen allegro-Satz an, auch wenn man vorhermehrfach zurückgeschaltet hatte, und auch, wenn keine #00 erzeugt wird.
Wenn man den Befehl "Pauschalimport", also ##, einsetzt, werden die Datenfelder des Fremdsatzes eins zu eins unverändert übernommen (was nur unter ganz bestimmten Bedingungen möglich ist, siehe Kap. 11.2.3.1).
Jetzt kann man auch an den Pauschalbefehl einen Bearbeitungsparagraphen anschließen, um jede Kategorie auf gleiche Weisevorbehandeln zu lassen. Wenn man etwa schreibt:
## Jede Kategorie unverändert übernehmen, aber: Khh zuerst in Hilfskategorie #uhh zwischenspeichern l3 und erst einmal nur die ersten drei Zeichen nehmen kuhh Dann die #uhh wieder vornehmen, }3 darin drei Zeichen nach rechts gehen w" " und ein Leerzeichen davorschreiben
erreicht man, daß beim Import in jeder Kategorie ein Leerzeichen zwischen die dritte und vierte Stelle gesetzt wird. Das istder Kern der Parameterdatei ALG3.AIM, die im Abschnitt "Umstieg auf Version 13" erwähnt wurde. Wie dort schon bemerkt, kann man hiermit Daten auf ein echtes dreistelliges Schema mit Wiederholung umstellen.
Erstens kamen mit schöner Regelmäßigkeit Anfragen nach "allegro für Musikalien", zweitens ist natürlich nicht einzusehen, warum es nicht schon längst musikspezifische Elemente in einem System gibt, dessen Name aus der Sprache der Musik entlehnt ist. Nundenn. Sachverstand in Sachen Musikalien liegt in der Entwicklungsabteilung zwar nicht vor, jedoch kamen Hinweise aus der bibliothekarischen Musikszene (Trossingen, Heidelberg-Mannheim, Nürnberg, Leuven (Belgien)), aus denen einige Vorschläge abgeleitet werden können.
Die Auswertung der Wünsche ergibt, daß das konsolidierte Format (news 31) schon sehr viel davon abdeckt. Wichtig ist, zu unterscheiden zwischen der Kategorieliste und der Bildschirmanzeige (und Kartenausdruck). Die Kategorieliste (d.h. die $A.CFG) sollte man erweitern, wo nötig, aber nicht ändern. Die Anzeige kann jederzeit, auch lokal, erheblich geändert werden, ohne indie Kategorieliste eingreifen zu müssen. Einsteigern ist dieser Sachverhalt selten sofort klar. Dasselbe gilt für die Register, denn keine Kategorie ist a priori an ein bestimmtes Register gebunden.
Erweiterungen und Änderungen sind gleichwohl mit Vorsicht anzugehen. Der Arbeitsaufwand wird von Einsteigern und auch von denetwas Fortgeschrittenen oft unterschätzt. Die Standardparameter sind außerdem erstens bewährt und in der Anwendung gereift, zweitens optimiert. Sie zu erweitern ist sinnvoller als neue zu erarbeiten.
Die folgenden Vorschläge wurden bereits in die mitgelieferte $A.CFG, die D-1.APR (Ersatz für P1.APR) und die CAT.API (Ersatzfür KAT.API) eingebaut, es kann also unmittelbar damit gearbeitet werden (nur die Abfrageliste ist noch nicht erweitert worden, doch das ist bekanntlich die leichteste Übung):
#00
| für die verschiedenen Medienarten kann man eigene Nummernfolgen verwenden, so daß z.B. alle Musikkassetten eine Nummer mit 'u' am Anfang haben; siehe #77x |
#22
| Einheitssachtitel oOpus-Nummer. Der EST wird direkt unter #52 (Komponist) als
Kopf "ausgeworfen". Wenn #52 nicht besetzt ist, wird der EST RAK-gemäß unter der Aufnahme angeführt. Es können mehrere EST in #22 eingetragen werden, durch '¶'
getrennt. Teilfelder:
|
#30m
| Notation einer Musik-Klassifikation, z.B. auch für Instrumente |
#31m
| Musik-Schlagwort |
#57i
| Interpreten; beliebig viele sind hier eingebbar, getrennt durch Semikolon. |
#57x
| evtl. weitere Personentypen, die noch nicht abgedeckt sind (z.B. #57d Dirigent) |
#76c
| Jahr der Komposition (wenn nicht in #22 ) |
#77x
| Medienart (nicht zu verwechseln mit Dokumenttyp #0c ) : die hier möglichen Codes
wurden erweitert, um die verschiedenen Tonträger alle erfassen zu können. Die musikrelevanten Codes
sind: a=DAT, c=CD, n=Noten, s=Schallplatte, t=Tonband, u=Musikkassette, v=Videoband. Also schreibt man z.B. in die #77c die nötigen Angaben zur physischen Beschreibung einer CD. |
#87m
| Standardnummer ISMN |
#89m
| Bestellnummer, Label-Nummer des Produzenten |
Hat man mehrere Werke von verschiedenen Komponisten auf einer Medieneinheit, empfiehlt es sich wahrscheinlich, diese als unselbständige Aufnahmen mit Verknüpfung über Kategorie #84 zum Gesamttitel zu erfassen (wie Aufsätze in einem Sammelband).
Einen Zeitpunkt für Version 14 kann zur Stunde niemand nennen. Die Bemühungen konzentrieren sich gegenwärtig auf den Ausbau derErwerbungs- und Ausleihprogramme (ORDER und aLF). Die Abonnenten dieser Subsysteme erhalten im ersten Halbjahr 1994 mindestens ein Update. Außerdem laufen Versuche in Richtung auf eine neue Benutzeroberfläche. Eine komplette Umstellung innerhalb 1994 können wir uns momentan nicht als realistisch vorstellen. Jedochkann es sein, daß bestimmte Teile in neuer Form herauskommen, und zwar dann wahlweise auch als echte Windows-Programme. Auf dem UNIX-Sektor wird angestrebt, bis Jahresmitte das Kernsystem der Version 13 portiert zu haben.
Für die ganz normalen PC-Anwender gibt es Aussichten auf ein paar Verbesserungen:
Eine Updatelieferung um die Jahresmitte wird mindestens einige dieser Bestandteile enthalten. Jeder für 1994 registrierte Abonnent hat aber ab sofort die Möglichkeit, sich über den "FTP-Server" (Internet 134.169.20.1) oder die Mailbox (Tel. 0531-391-5064, ab Januar) über den aktuellen Stand zu informieren und sich (seinem Abonenntenstatus entsprechend) die relevanten Programmdateien über die Leitung zu holen. Das nötige Paßwort kommt mit der Rechnung für '94. Dieser Service wird von Insidern schon jetzt eifrig genutzt.
Die noch fehlenden Funktionen sind in Arbeit. Nebenher werden außerdem kleinere Verbesserungen durchgeführt, die sich aus der Erfahrung der ersten Anwender ergeben. (Zuständig ist P. Hartwig)
Das Hifsprogramm aLFX für die Erstellung und Bearbeitung der Systemdaten (z.B. Kalender!) wird bei der nächsten Auslieferungauch schon dabei sein. Schließlich braucht man schon einen Kalendersatz für 1995.
Auch zum Erwerbungsprogramm haben die Anwender wertvolle Anregungen beigesteuert, die inzwischen umgesetzt wurden. Die Dokumentation wurde erweitert und verbessert. (Zuständig: D. Höppner)
Auf der letzten Expertentagung führte M. Evers erstmals das von ihm entwickelte Programm Sniffer vor. Dieses kann die formale Konsistenz einer Datenbank untersuchen (z.B. Korrektheit der Satzadressen), es kann auch gesperrte Sätze aufspüren und wieder freigeben. Es paßte zum Glück so gerade noch auf die Diskette, daher liefern wir es mit. Es erklärt sich selbst. M. Everserarbeitete ferner eine Dokumentation "allegro im Netz", die auf Anfrage erhältlich ist.
In Merseburg wird Ende Januar wieder ein gemischtes Experten-/Einsteigertreffen stattfinden. Interessenten wenden sich bitte schriftlich an Herrn Habermann beim DBI, der dankenswerterweise wieder die Organisation übernimmt. Adresse: Deutsches Bibliotheksinstitut, Bundesallee 184/185, 10717 Berlin.
Im Januar wird nach längerer Ungewißheit der Erweiterungsbau der UB in Angriff genommen. Das Haus der Entwicklungsabteilung mußweichen (siehe news Nr. 26 "Brutstätte wird abgerissen"). Nach außen wird sich dadurch nichts ändern. Ein Einsteigerseminar wird allerdings vorerst in Braunschweig nicht stattfinden können.
Datum der letzen Änderung: 22.12.93
© 1995, UB Braunschweig
Bernhard Eversberg (b.eversberg@tu-bs.de)