Wir bauen ein neues Datenfeld ein! 
Einstieg in das Database Engineering 

Hier ist alles zusammengestellt, was zu tun und zu beachten ist, wenn man ein neues Feld (oder mehrere) in der eigenen Datenbank braucht. 
Zu empfehlen ist zwar immer, zuerst die existierenden Felder durchzusehen (`Formatdokumentation`zum Standardformat a.cfg), ob nicht ein geeignetes schon dabei ist. Aber was tun, wenn nicht? 
Das Ganze wird an einem konkreten, direkt nachvollziehbaren Beispiel vorgeführt. Der eine oder die andere kann vielleicht sogar genau dieses Beispiel unmittelbar gebrauchen: 

Wer sich schon mit allegro auskennt, braucht nur eine `Kurzform`, die in der Fortbildung beschrieben ist. 

Konkrete Aufgabe: 
Ein neues Feld  Sonderschlagwort  einrichten, und zwar soll es die Feldnummer #34 bekommen. 
Sinn: Beliebige Wörter und Ausdrücke eingebbar machen, nach denen dann auch gesucht werden kann. 
Anwendbar wäre das z.B. für 
  -- Ausstellungen 
  -- Literaturliste für bes. Zwecke 
  -- Angaben zur Provenienz oder Lizenz 
  -- Zustand des Buches 
  -- Hinweise wie "Verlust", "Buchbinder" u.a. 
  -- usw. usf. 
Die Wahl der Bezeichnungen für alle diese Dinge wäre selbstredend völlig frei. Damit könnte man hernach beliebige Ergebnismengen für eigene Zwecke bilden. Für alles, was man sich mal bei bestimmten Büchern irgendwie merken will, könnte man immer schnell ein Sonderschlagwort erfinden und in #34 eingeben. Das neue Feld sollte deshalb mehrfach belegbar sein. Auch Mehrfacheingabe innerhalb des Feldes sollte möglich sein, mit Semikolon als Trennung. 
(Anm.: Im Südwestverbund erfüllte lange das sog. "Abrufzeichen" eine ähnliche Funktion.) 

Was ist wo zu tun und warum?
An der DemoBank kann man alles völlig gefahrlos durchführen. Die Beschreibungen unten beziehen sich alle auf die Standard-Einrichtung der DemoBank; für die eigenen Zwecke kann man es modifizieren. 
Statt #34 ist jede andere noch unbelegte Nummer verwendbar. Z.B. könnten Sie ein Feld #94 mit dem Inhalt "Provenienz" wollen - dann machen Sie dasselbe wie hier gezeigt, nur mit #94 statt #34 und "Provenienz" statt "Sonder-SW". 
Tip 1: Die zweite Ziffer der Kategorienummer darf auch ein Buchstabe sein, z.B. #7k. Arbeitet man mit einem anderen Schema als  $a.cfg, wird man vermutlich sowieso eine andere Feldnummer wählen und alles entsprechend ändern wollen. 
Tip 2: Zum Ausprobieren an der eigenen Datenbank empfiehlt es sich, eine `Kopie` der ganzen Datenbank zu machen, und alles an dieser Kopie durchzuführen und zu testen. Klappt es, braucht man hinterher nur die Parameterdateien alle auf das echte Datenverzeichnis zu kopieren und die kopierte Datenbank zu löschen. 

In der folgenden Beschreibung sind die einzufügenden Zeilen farbig hervorgehoben.  Die Funktionen zur Bearbeitung der Dateien stehen auch auf dem `Admin-Menü.` Der Text hinter `HILFE..HILFE..HILFE` erklärt dort genauer, was es mit den einzelnen Funktionen des Menüs auf sich hat. Noch einfacher ist es, unten gleich auf die blauen Flip-Wörter zu klicken, dann kommt die Bearbeitungsfunktion für die jeweilige Datei. Als Editor wird der mitgelieferte `X-Editor` verwendet. Wenn Sie lieber den  edit  von Microsoft wollen, dann setzen Sie zuerst in Ihre INI-Datei die Zeile 
Editor=edit 
Es muß ein Editor sein, der im DOS-Zeichensatz arbeitet. Möglich ist auch  WinVi  (frei im Netz erhältlich), denn man kann ihn leicht umschalten zwischen Windows und MS-DOS. 

Achtung: Beim Einfügen der Zeilen darf nichts eingerückt werden, d.h. es darf kein Leerzeichen am linken Rand stehen! So ist es deshalb hier auch gezeigt, man sollte die Zeilen also mit Copy&Paste direkt und unverändert von hier entnehmen. Fügen Sie auch keine weiteren Leerzeichen oder Tabstopps in diese Zeilen ein, sonst klappt's nicht. 

1. Feld eingebbar machen:  
   	`Konfiguration` erweitern (sonst kommt beim Eingeben von #34 nur "Ungültige Eingabe") 
Man fügt dazu eine Zeile ein in die Datei  $a.cfg, und zwar zwischen die mit # beginnenden Zeilen, denn diese Zeilen definieren die erlaubten Datenfelder: 
#34"Sonderschlagwort" 
      	Diese Zeile muß nicht zwischen #33 und #35 stehen, aber unterhalb von #06 
	Sie kann genau da stehen, wo man die #34 in der Auswahlliste (links) sehen will. Z.B. über der Zeile  #99"Datum" , also weit unten. 
  	Die Position darf man später jederzeit ändern, ohne sonstwo etwas ändern zu müssen. 
    	Hat man dies gemacht, kann man die #34 schon eingeben. Und sie wird auch gespeichert, aber mehr passiert noch nicht. 

Was folgt, braucht man nicht alles zu machen, sondern nur das, was man wünscht. Mindestens die Indexierung (Punkt 5) wird man aber bestimmt wollen. 

2.  `Formulare` erweitern (Datei  cat.frm  ergänzen) 
Am besten im Formular "Buch, Teil 2" unter #31: (aber jedes andere ist möglich, auch Einbau in mehrere Abschnitte) 
#34 "Sonderschlagwort: "|3 
Damit wird die Eingabe schon etwas bequemer, aber sonst passiert noch nichts. Beim Eingeben, z.B. im Formular, kann man Alt+i drücken und es erscheint der Index 3 zum Suchen, ob das Gewünschte schon darin vorhanden ist. Das wird durch die Angabe  |3  erreicht. 
 
3. Feld indexieren: `Indexparameter` um drei neue Dinge ergänzen (Datei cat.api) 
   a) Zuordnung zu einem Register
Eine neue ak-Befehlszeile einfügen, irgendwo unterhalb der Zeile  ak=zz+0: 
ak=34.";"+s
Dann wird jede #34 indexiert und ihr Inhalt am ; getrennt. Die eigentliche Bearbeitung soll an der Sprungmarke #-s stattfinden. Die kommt in cat.api noch nicht vor, wir bauen sie ein: 
   b)	Abschnitt #-s für die Ausführung 
	(Einfügen irgendwo genau unter einer Zeile #+# . Solche Zeilen kommen an vielen Stellen vor, sie bedeuten einfach nur, daß das Programm an der Stelle nicht weitermachen soll, es ist ein Unterprogramm-Endebefehl. Darunter kann man beliebig neue Unterprogramme einfügen, wie dieses hier:) 
#-s 
!u1 f" " p"|3zz" 
#+#
   c)	Symbolischer Registername (wichtig für Find-Befehle) 
Es gibt Zeilen, die mit I beginnen, z.B. I PER 1 "Personennamen". In diesem Bereich diese Zeile einfügen: 
I SSW 3zz "Sonder-SW" 
Indexparameterdatei nach diesen Änderungen schließen (speichern). 
Dann: Test mit F7! Der Inhalt von #34 müßte mit |3zz davor in der Liste der Registereinträge zu sehen sein, wenn der aktuelle Datensatz eine #34 enthält. 
	Tip: Lassen Sie zz an beiden Stellen b) und c) weg, wenn die Einträge direkt zwischen  allen anderen Einträgen im Register stehen sollen. Sonst bilden die Einträge einen eigenen Registerabschnitt, in dem alle Zeilen mit zz beginnen. 
Dann `Index erneuern` - aber das ist nur nötig, falls (nach Schritt 1) schon Daten eingegeben wurden. Von nun an neu eingegebene Daten werden in jedem Fall ab dem nächsten Programmstart richtig indexiert. 

4. Feld soll in der Titelanzeige sichtbar sein? 
Dann `Anzeigeparameter` bearbeiten. 
In der Datei  d-wrtf.apr  neue Zeile unter #35: 
#34 ++ p{C t72 "Sonder-SW : " #250 t76} m{C} 
Im Auswahlfeld links und bei der F5-Anzeige wird aber die #34 automatisch sichtbar. Vielleicht genügt einem das ja schon. 
Tip: Falls man für den OPAC andere Parameter verwendet, kann man die #34 natürlich entsprechend auch in diese einbauen, falls gewünscht. 
    
5. Feld auch mit ausdrucken? 
Dann `Druckparameter` bearbeiten (Datei  p-w.apr) 
Z.B. darin unter der Zeile  #30t  diese Zeile einsetzen: 
#34. ++ C p{ &0 t88 "Sonder-SW: " t87 " : "} m{C}
oder, wenn nur die erste #34 im Druck erscheinen soll: 
#34 C p{ &0 t88 "Sonder-SW: " t87 " : "}

Was bedeuten diese kryptischen Befehle? Es sind Manipulationsbefehle der Exportsprache. Sie werden in einer `Tabelle` im Kapitel 10 des Handbuchs erklärt. Die Exportsprache selbst wird in einer `Einführung` verständlicher gemacht. Wenn Sie darüber weiter nichts wissen wollen, kopieren Sie die Zeilen exakt so, wie sie hier stehen. 

6. Hilfetext (optional): Neue Datei namens  h34  anlegen (nicht  h34.txt !) 
So wird das gemacht: Füllhorn, "Neue Textdatei schreiben" , dann den folgenden, blauen Text in das leere Anzeigefeld kopieren: 

 Kategorie-Gruppe #34 : Sonder-Schlagwort 
 ---------------------------------------- 
 #34 SSw1; SSW2; SSW3;... 
 Kategorie ist wiederholbar. Man kann überlegen, ob man #34a, #34b usw. 
 für bestimmte Zwecke einsetzt, oder ob man alle Sonder-Schlagwörter 
 in die #34 schreibt, mit ; (Semikolon) getrennt. 
 Indexiert werden alle Einträge im Reg. 3 im Abschnitt zz, d.h. man 
 findet dort Zeilen, die mit zz beginnen, z.B. 
 zzabc 
 wenn man  #34 abc  eingegeben hatte. 
 In Find-Befehlen kann man schreiben  ssw abc, wenn man das 
 Sonderschlagwort abc sucht.

	Dann: 
	Speichern mit Alt+s, Dateiname  h34 (Verzeichnis c:\allegro\demo2) 
          Der Hilfetext erscheint, wenn im Schreibfeld #34 ... steht oder in 
          einem Formularfeld der Cursor in einer Zeile mit der #34 steht, und 
	dann F1 gedrückt wird. 

7. Daten erfassen 
    a) Globale Einsetzung 
    	Wenn man in einer Ergebnismenge jeden Satz mit dem 
	Sonderschlagwort  abc  versehen will, dann trägt man 
	in die "Globale Ersetzung" ein (im Menü "Global"): 
#34 abc 
    	und zwar unter "Ersetze durch", und nichts in die anderen Felder 

    b) Bearbeitung mit Hilfe von FLEX 
    	Manchmal will man nicht in sämtliche Sätze einer Ergebnismenge 
	genau dasselbe Schlagwort einsetzen, sondern in jeden 
	Satz ein anderes. Das ist eine Aufgabe, die mit FLEX gut zu lösen ist. 
	In der `Online-Fortbildung` wurde dazu eine ausführliche Lektion 
	geboten, in der genau beschrieben ist (Lektion 13.3) , wie man das macht. 
	Machen Sie sich z.B. eine FLEX-Datei namens  e34.flx. 
 	Die können Sie dann bei Bedarf mit  X e34  (im Schreibfeld) aufrufen. 

Zuletzt: Alle geänderten Dateien: ($a.cfg, d-wrtf.apr, p-w.apr, cat.api, cat.frm, e34.flx)  auf das eigene Datenbankverzeichnis kopieren, falls sie da nicht sowieso schon liegen. Dann sind sie vor künftiger Überschreibung durch eine neue Version aus Braunschweig gesichert. Keine Sorge, die neuen Programme der nächsten Versionen werden immer damit funktionieren. 
Hinweis: Ein Neustart des Rechners ist in keinem Fall nötig. Nach dem Ändern einer der genannten Dateien ist jeweils nur a99 neu zu starten, das besorgen aber die Prozeduren schon selber, wenn man das Admin-Menü nutzt. 

?HILFE..HILFE..HILFE=h admin 
?Formatdokumentation=x jan  http://www.allegro-c.de/downloads/doku/form2016/ 
?Online-Fortbildung=x jan  http://www.allegro-c.de/downloads/doku/Fortbildung2015.htm 
?Kopie=h backp 
?Admin-Menü.=h adm 
?Konfiguration=X cfgedit 
?Indexparameter=X iparedit 
?Anzeigeparameter=X aparedit 
?Druckparameter=X dparedit 
?Formulare=X formedit 
?Tabelle=h ac10-6 
?Einführung=X gj exparam.htm 
?Index erneuern=h org 
?X-Editor=h acd 
?Kurzform=x janas http://www.allegro-c.de/downloads/doku/Fortbildung2015.htm#94