[Allegro] Vb.299: Anleitung zur Migration von M zu A (vom NRW-Format zum Standardformat)
Bernhard Eversberg
b-eversberg at gmx.de
Do Aug 30 13:46:38 CEST 2018
Verlautbarung 299 zur allegro-Entwicklung 2018-08-30
-----------------------------------------
Keine neue Version! Die alte ist noch nicht soo alt und tut es noch.
Inhalt
------
0. marctxt.apr weiter verbessert: abholen mit X gf marctxt.apr
I. Von M (NRW) zu A migrieren mit einem einzigen Befehl
II. Grunddatei checken: ob die Sätze in der Datenbank vorhanden sind
III. FLEX rdl.flx korrigiert (registriert Doppeleintraege und Lücken)
I. Ein schneller Weg von M zu A!
================================
Aber zuerst die Frage: Warum eigentlich?
Das allegro-Standardformat, auch A-Format genannt, hat ein paar
Vorteile gegenüber anderen Formaten:
(Dokumentiert ist es hier: http://www.allegro-b.de/download/doku/form2016)
1. Es gibt dafür ausgefeilte Parameter zur Indexierung : cat.api
(ermöglichen die beliebte ALL-Suche, auch Schnellsuche genannt)
2. Mehrere Anzeigeparameter zur Wahl: d-wrtf.apr, d-html.apr,
d-krtf.apr oder d-khtm.apr, zu kombinieren mit d-k.apt
(für Windows bzw. Web, also PHPAC oder a35)
3. Zwei Varianten MARC-Exportparameter : A. marctxt.apr ist mit im GP,
B. Variante von Herrn Lehmann (sehr bewährt, von ihm zu beziehen).
Zum Datenexport für "beluga" (VuFind) und WorldCat oder Verbund
4. Zahlreiche andere Import- und Export-Parameter sowie einige große
FLEX-Pakete für Ausleihe, Erwerbung, Zeitschriftenverwaltung etc.
Insgesamt bedeutet dies, daß viele A-Anwender sich wahrscheinlich
nie mit der als sehr schwierig geltenden Export-Parametrierung
befassen müssen / mußten und auch kaum je mit FLEX.
Es ist daher schon mancherorts von Interesse gewesen, die eigenen,
anders formatierten Daten (z.B. mit m.cfg = MAB) in das A-Format
zu konvertieren, um damit mehr machen zu können und weniger
komplizierte Kenntnisse zu brauchen.
Nur, wie geht das? Wie kommt man insbesondere von M zu A?
(Eine Kurzübersicht des M- oder NRW-Formats findet sich hier:
http://www.allegro-b.de/download/doku/NRW/NRW-Format.htm )
Grundsätzlich sind das zwei Aufgaben:
1. Umwandlung von M in A, als Grunddatei (.alg) oder Externdatei (.adt)
2. Indexierung der umgewandelten Datei, d.h. Erstellung der Index-
dateien, incl. Satztabelle (.tbl) und Kurztiteldatei (.stl) sowie
Restriktionendatei (.res)
Beide Vorgänge sind nicht trivial, sondern brauchen Parameter, der
zweite eine nicht ganz einfache Batchdatei (auch eine Sache, die
Erfahrung bräuchte, wenn man alles selber machen müßte).
Für das M-Format sind diese Dateien erstellt worden und können als
Vorlage auch für andere Formate (andere X.cfg) dienen:
mtoa.bat führt alle Aktionen aus, die nötig sind.
mtoa.mpr Parameter zur Wandlung von .mld- oder .mlg-Dateien in .adt
abzuholen mit X gf mtoa.bat bzw. X gf mtoa.mpr
Vielleicht ist es sinnvoll, sich auch eine Version der CFG-Datei
$m.cfg abzuholen: X gf $m.cfg
und die eigene damit zu ersetzen.
Diejenige, die lokal vorhanden ist, hat vielleicht nicht alle
Kategorien, die in der mtoa.mpr verarbeitet werden, und dann gibt
es Fehlermeldungen ...
Der Vorgang besteht dann für den Anwender aus nur einem einzigen
Aufruf von mtoa.bat.
(Ausgearbeitet und erprobt wurde alles bei einer Spez.Bibl., die
schon lange mit M gearbeitet hatte.)
Zuerst aber Hinweise zu den Voraussetzungen:
(Ihre Ordnernamen können ganz andere sein! Hier sind nur denkbare
Beispiele angegeben.)
Sagen wir, man hat im Ordner m:\daten\bank die M-Datenbank,
bestehend aus einigen Dateien des Typs .mld (die übrigen
zur Datenbank gehörigen Dateien werden für die Umwandlung nicht
gebraucht, außer der m.cfg.)
Man möchte die neue A-Datenbank im Ordner k:\data\katalog haben.
Dieser Ordner darf zunächst noch gar nicht vorhanden sein, nur
natürlich die "Platte" K: muß da sein und darauf ein Ordner k:\data.
(mtoa.bat legt dann den Ordner ..\katalog selber an.)
Sagen wir ferner, die Programme liegen in D:\programme\allegro
(also a99.exe & Co)
Jetzt kommen wir zu dem Programmaufruf:
1. Man öffnet eine "Eingabeaufforderung" (früher DOS-Fenster)
2. Man begibt sich in den Programmordner,
d.h. man gibt in dem Fenster 2 Befehle ein:
d:
cd \programme\allegro
3. Dann diesen Befehl eingeben:
mtoa m:\daten\bank k:\data\katalog
Wenn die Voraussetzungen stimmen und der eingegebene Befehl auch,
dann läuft alles automatisch ab, und zwar schnell.
Zuerst werden die M-Daten mit Hilfe der Parameter mtoa.mpr in
eine A-Datei namens datei.alg gewandelt, sie kommt in den katalog-
Ordner. Dann wird diese Datei indexiert.
Am Ende wird a99 gestartet und öffnet die neue A-Datenbank.
Im Ordner k:\data\katalog liegen dann folgende Dateien:
cat_1.ald Die eigentlichen Daten (vorher waren sie in *.mld-Dateien)
cat_2.ald usw. falls es mehr als 16 MB Daten sind
cat.tbl Satztabelle: Adressen der Datensätze
cat.stl Kurztiteldatei für die Ergebnismengen-Kurzanzeige
cat.res Restriktionendatei
cat.adx Indexdatei, Register 1 - 11
cat.aex zusätzliche Indexdatei, vor allem für die ALL-Suche
cat.ini enthält für a99 die nötigen Angaben zur Öffnen der Datenbank
und
datei.adt Darin die umgewandelten M-Daten, s.o.
Die letzte Datei kann man löschen, aber vielleicht will man sie
mit einem Editor mal inspizieren, neugierig wie man ist.
cat.ini ist eine Kopie der zur Demo-Bank gehörigen Datei cat.ini,
sie liegt in diesem Fall in d:\programme\allegro\demo
Man kann sie nach Bedarf abwandeln, es stehen Kommentare drin.
Z.B. könnte man da auch noch diesen Befehl einfügen:
DisplayParameter=d-krtf
um eine andere Anzeigeform einzustellen, Standard ist sonst d-wrtf.apr.
Die Batchdatei mtoa.bat enthält ausführliche Kommentare.
Kap. 7.1 im Handbuch beschreibt die einzelnen Schritte mit
vollständigen Beispielen - falls das jemand interessiert.
(In a99 eingeben: h ac7-1 )
Und was ist mit der M-Datenbank? Ist die am Ende verschwunden oder
irgendwie verändert? Nein, damit passiert nichts. Die ganze Sache
ist in der Hinsicht völlig ungefährlich! Wenn man's also sich doch
noch anders überlegt : den neuen Ordner "katalog" einfach löschen.
Wenn es aber nicht M ist, womit man arbeitet, sondern vielleicht
n.cfg oder x.cfg oder was immer? Wie kriegt man das nach A rüber?
Nun, grundsätzlich muß es sinnvoll möglich sein, die eigenen Daten
in das A-Format zu überführen, jedenfalls diejenigen Elemente, die
man hernach in einer A-Datenbank haben will.
Ist dies der Fall, dann nimmt man die Parameter mtoa.mpr zur Hand
und macht xtoa.xpr draus, indem man die M-Kategorienummern durch
X-Nummern ersetzt! Klar, nicht unbedingt leicht, aber mit mtoa.mpr
als Muster wenigstens nicht ganz so schwer. Sonst fragen Sie einen
Supporter.
Alles andere läuft genauso wie für M: Man kopiert mtoa.bat auf
xtoa.bat und ersetzt darin überall .m durch .x und -km durch -kx.
Wenn alles gelaufen ist und man inskünftig nur noch mit der neuen
A-Datenbank arbeiten will, kann man die alten Daten löschen und
die Dateien mtoa.* auch.
Will man jedoch die A-Datenbank nur nebenbei für bestimmte Zwecke
nutzen, die man mit den M-Daten nicht hinkriegt, z.B. MARC-Export,
dann ist es auch möglich, mit der M-Datenbank unverändert weiter
zu arbeiten und nur gelegentlich, wenn ein MARC-Export ansteht,
die beschriebene Prozedur abermals auszuführen; in dem Fall aber
die A-Datenbank zuerst wieder löschen - oder einen anderen, neuen
Ordner für die neuerliche A-Datenbank aufmachen.
*****************************************************************
Nun aber noch zwei GANZ andere Themen:
II. Grunddatei checken: ob die Sätze in der Datenbank vorhanden sind
====================================================================
Es kam schon mal vor, daß man eine Datei mit neuen Sätzen zuerst
einmal darauf prüfen wollte, ob einige davon oder keine schon in
der Datenbank vorkamen. Das ist möglich anhand des Primärschlüssels:
Mit "var p" kann man sich den per FLEX ausrechnen und dann im Index
nachschauen, ob es ihn schon gibt.
Es wurde ein FLEX namens pkc.flx geschrieben. (= primary key check)
Abzuholen mit X gf pkc.flx
Und so wird's gemacht:
Sagen wir, die fragliche Datei liegt vor als daten.alg.
(Wenn .adt, dann vorher mit dem dawa.flx in .alg wandeln, s. Vb275)
In a99 braucht man dann nur zu geben:
X pkc daten.alg
(wenn daten.alg im Arbeitsordner liegt, sonst den Pfad mit angeben)
Es entsteht eine Datei namens notfound.adt, sie enthält die NICHT
in der Datenbank gefundenen Sätze. Diese Datei kann man sich
zuerst mal anschauen und dann auf Wunsch mit update einspeisen:
acon -jupdate -ddemo2 -bcat -fm21 -ka -u notfound.adt
Nur statt demo2 bzw. cat den eigenen Ordner- bzw. Datenbanknamen!
III. FLEX rdl.flx korrigiert (siehe Vb.288)
----------------------------
(rdl = registriere doppeleinträge und lücken)
Es wurde fälschlich "Mehrf." ... ausgegeben, auch wenn Modus 1
gewählt war, d.h. nur die Lücken gewünscht wurden.
Dieser FLEX war zu wenig dokumentiert, es wurden einige
Kommentare eingestreut.
Weitere geringfügig veränderte FLEXe:
dispex.flx Export-Parameter im a99-Display testen (Vb296)
pkc.flx primary key check: Sind die Saetze der datei xyz.alg
schon in meiner Datenbank? (siehe oben)
dir.flx Zeigt die Dateienliste eines gewählten Ordners (Vb181)
dosfile.flx Datei auswaehlen aus gewünschtem Ordner (Start aus dos.flx)
numcon.inc Number Converter, mit Zahlenbasis von 2 bis 20
vor allem: HEX <-> DEZ (s. umrech.flx u. Vb286)
Mehr Informationen über die Mailingliste Allegro