aLF
Konzept und Datenstruktur 

`Einstieg`  /  `Menü`

Das Ausleihen mit aLF kann erst beginnen, wenn einige Vorbereitungen getroffen sind. 

1. Exemplardaten 
Wer zunächst mit allegro nur die Katalogisierung betrieben hat, besitzt lauter Titeldatensätze, die so aussehen: 

#00 013539 
#20 ¬Der¬ Fall des Baumeisters : Roman 
#22 Hawksmoor <deutsch> 
#39 Peter Ackroyd. Aus d. Engl. von Hans Wolf 
#40 Ackroyd, Peter 
#74 Reinbek bei Hamburg 
#75 Rowohlt 
#76 1988 
#77 367 S. 
#87 3-498-00024-1 
#90 ABC 123 
#902DEF 234 

Hier liegen zwei Exemplare unter verschiedenen Signaturen vor (#90 und #902). Für die Einfach-Ausleihe mit ALFA reicht das aus, denn dabei werden nur der Name des Entleihers und das Datum an die jeweilige #90 angehängt. Wer mehr möchte, vor allem Leihfrist-Überwachung und Gebührenerhebung und schnellere Verbuchung per Barcode, muß dafür etwas mehr tun.  
Für aLF müssen in diesem Fall zwei sog. Exemplarsätze hinzukommen, für jedes Exemplar eines, getrennt gespeichert vom Titelsatz. Diese Exemplarsätze sehen folgendermaßen aus, und man kann sie sich automatisch erzeugen lassen (aLF-Menü: "Exemplarsätze anlegen", die Arbeit macht der FLEX a-ex.flx): 

#00 e00567 
#9DF013539 
#9DG0²sABC 123²e1²a000040

#00 e00568 
#9DF013539 
#9DG0²sDEF 234²e2²a000041

Die Exemplarsätze sind über die blaue Nummer in #9DF mit dem Titelsatz verknüpft. Die Exemplare werden je Titel automatisch laufend numeriert: e1, e2, ..., und diese Nummern werden auch in den Titelsätzen als ²e1, ²e2 ... an die jeweilige #90 angehängt. Daran erkennt das System, daß zu diesen Signaturen schon Exemplarsätze angelegt wurden. 
In rot sieht man die Barcodenummern. Sie können nicht automatisch erzeugt werden, sondern man muß so vorgehen, daß man die Bücher mit vorfabrizierten Barcode-Labels ausstattet und deren Nummern dann erfaßt - natürlich ist das ein logistisches Problem. Dies kann auch vorher geschehen, 
ENTWEDER: indem man jeweils an das Feld #90 das Unterfeld ²a mit der Nummer anhängt. Dann wird der FLEX a-ex.flx diese Unterfelder in die neuen Exemplarsätze übernehmen. 
ODER man läßt zuerst die Exemplarsätze alle erzeugen, also ohne ²a, und erfaßt die Nummern erst nachträglich (Titelsatz laden, Exemplar anklicken, Formular mit Alt+# öffnen, Barcode eingeben). Dies könnte dann auch bei Bedarf im laufenden Ausleihbetrieb geschehen, wodurch am Anfang natürlich das Entleihen noch nicht so flott gehen kann. 

Die Exemplarsätze können noch weitere Angaben enthalten. Welche, das sieht man, wenn man einen Exemplarsatz anzeigen läßt und Alt+# drückt - dann erscheint das Eingabeformular mit vielen leeren Unterfeldern. 

Außer den Exemplarsätzen wird für jeden Leser (= Benutzer) ein Leserdatensatz gebraucht. Ein solcher besteht nur aus dem Feld #9B mit einigen Unterfeldern (hier nur die wichtigsten Angaben, es kann weitere geben): 

#00 - 
#9B 0789654²A19980315²nMerkel, Angela²uw²a20081231²k5 

Die Leserin Angela Merkel, angemeldet seit 15.3.1998, hat hier die Barcodenummer 789654, sie ist momentan nicht gesperrt (sonst wäre vorn die Ziffer 1) und ihr Ausweis gilt bis 31.12.2008. Sie gehört zur Leserklasse 5. Für jede Leserklasse muß es einen Leserklassen-Stammsatz geben (dazu später mehr), in dem z.B. steht, wie lang die Ausleihfrist ist! (Hinweis: Lesersätze brauchen keine IdNummernkategorie #00, daher steht hier #00 - , sonst würde automatisch eine Nummer vergeben.) 

Das Ausleihen geht im Prinzip so vor sich:  (FLEX a-chkout.flx) 
1. Einscannen des Leserausweis-Barcodes 
    Dann prüft das Programm, ob der Leser erfaßt und ausleihberechtigt ist. Wenn ja: 
2.  Einscannen der Barcodes aus den Medien, die der Leser ausleihen will 
    Dann holt das Programm jeweils den Exemplarsatz und speichert darin die Nummer des Lesers und das aktuelle Datum sowie das errechnete Rückgabedatum sowie auch schon das erste Mahndatum - falls das Exemplar wirklich ausleihbar ist! Wenn im Exemplarsatz das Unterfeld ²vp steht, handelt es sich um ein Präsenzexemplar.  

Beim Zurückbuchen (FLEX a-chkin.flx) wird der Leserausweis nicht gebraucht. Dabei werden nur die Barcdodes der zurückgegebenen Medien eingescannt. Das Programm prüft jedesmal mehrere Dinge: War das Exemplar überhaupt verbucht? Wurde die Leihfrist überschritten? (Wenn ja, welche Gebühr ist in Rechnung zu stellen?) Liegt eine Vormerkung für dieses Exemplar vor oder eine allgemeine Vormerkung auf den Titel? Wenn ja, dann kommt der Hinweis, welcher Leser vorgemerkt hat und die Aufforderung, das Exemplar ins Warteregal zu stellen. Gibt es mehrere Vormerker, dann kommt der erste zum Zuge. 
Vormerkungen stehen in eigenen Datensätzen, den sog. Vormerksätzen, die so ähnlich aussehen wie Exemplarsätze - siehe unten.

2. Systemdaten 

Damit das alles funktioniert, und zwar mit flexiblen Möglichkeiten der Steuerung, braucht man noch einige zusätzliche Daten, die in sog. Systemsätzen gespeichert sind. Folgende Typen von Systemsätzen gibt es: (Beispiele dafür kann man sich jeweils in der DemoBank anschauen, man findet dort typische Fälle im Register 1 unter zz ..., ansonsten findet man alle Systemsätze im Register 11 unter  SYS... bis auf die Leserstammsätze.) 
Tip: Wenn man einen solchen Satz sieht, dann eingeben:  X cfga. Man sieht die Liste der Unterfelder mit ihren Bedeutungen. 
Alle diese Sätze kann man über das `aLF-Hauptmenü` anlegen und nachträglich jederzeit bearbeiten. 

1. Kalendersätze   [ zz alf-kalendersatz, Reg. 11: SYSR... ] 
Ein Kalendersatz enthält 365 (oder 366) Ziffern, für jeden Tag des Jahres entweder eine 0 (= Bibliothek zu) oder eine 1 (= Bibliothek offen). 

2. Leserklassensätze  [ zz benutzerklassensatz, Reg. 11: SYSC... ] 
Für jede Leserklasse (z.B. 1=Student, 2=Dozent, 3=Schüler, 4=Lehrer, ...) muß es einen solchen Satz geben, in dem die Bedingungen (Leihfrist, Gebühren ...) der betr. Lesergruppe stehen, siehe dazu aber auch 5. 

3. Leserstammsätze  [ zz benutzer-stammsatz; Reg. 10: name, vorname und Bbarcodenummer ] 
Jeder Leser, siehe oben, muß erfaßt sein in einem solchen Satz. 

4. Medientypsätze  [ zz medientypsatz, Reg. 11: SYSE... ] 
Wenn die Bibliothek nicht nur Bücher hat, sondern auch noch andere ausleihbare Gegenstände (CD, DVD, Spiel), kann sie diese in Typen einteilen und für jeden Typ andere Bedingungen festsetzen. Dazu braucht zunächst jeder Typ einen Medientypsatz, und auf dieser Grundlage erstellt man dann die 

5. Medientypstammsätze  [ zz medientyp-stammsatz, Reg. 11: SYSD...  ] 
Zu jeder Kombination Leserklasse+Medientyp (also z.B. Student+Buch oder Schüler+DVD) kann man einen solchen Satz anlegen, in dem die Bedingungen (vor allem die Leihfrist und die Verzugsgebühr) für diese Kombination stehen. Fehlen solche Sätze, werden die Bedingungen ersatzweise aus dem Leserklassensatz genommen. 

Alle diese Sätze kann man über das aLF-Hauptmenü anlegen und nachträglich jederzeit bearbeiten. 

3. Betriebsdaten 
Automatisch entstehen dagegen im laufenden Betrieb folgende Daten:

6. Vormerksätze  [ zz vormerk..., Reg. 10: Vm...  ] 
Ein solcher sieht so aus: 
#00 - 
#9DF028149 
#9DGV²OALF²e1²a000005 
#9DH²udk004²D20050528/12:37:45²V20050629 
Das V in  #9DG bedeutet "Vormerksatz". Er wird gelöscht, sobald die Vormerkung erledigt ist. 

7. Gebührensätze  [Reg. 11: G... ] 
In einem Gebührensatz stehen alle Angaben, die zur Produktion einer Mahnung gebraucht werden: wer muß zahlen, wieviel und warum, wann entstand diese Gebührenschuld etc. 
 
8. Statistikdaten (dies sind keine Datensätze in der Datenbank!) 
Wenn man Statistiken will, kann man dies in alf.flx einstellen. Es entstehen dann eigene Dateien, in denen alle zu zählenden Vorgänge aufgezeichnet werden. Wie dies funktioniert, erklärt ein `anderer Text`. 

?anderer Text=h statist 
?Einstieg=h alfh 
?Menü=h alf 
?aLF-Hauptmenü=h alf