PV = Programmierbare Validierung

Bernhard Eversberg EV at buch.biblio.etc.tu-bs.de
Fr Mär 24 14:26:10 CET 1995


Neue Funktion entwickelt:  PV = Programmierbare Validierung
-----------------------------------------------------------

Oft gewuenscht wurde, die eingebauten Pruefroutinen erweitern zu koennen.
(Anhang A.1.2). Es gab auch schon den Vorschlag, dabei die Mittel der
Exportsprache nutzen zu koennen.

Eine Loesung dafuer wurde jetzt programmiert. So sieht sie aus:

-- Man baut einen "Kopfabschnitt" in die eigene .cPI-Datei ein
   (10.2.6.5.3 - solches gab es bislang nicht in Index-Parameterdateien)

-- Der Kopfabschnitt wird dann bei der Dateneingabe (sowohl per Abfrage
   als auch direkt) ausgefuehrt. Und zwar sofort nach der Eingabe
   jeder einzelnen Kategorie.

-- In diesem Abschnitt benutzt man vorwiegend die Variable #u1. Sie enthaelt
   die gerade eingegebene Kategorie.

-- Innerhalb des Kopfabschnitts sind die Sprungmarken unabhaengig von denen
   des Hauptteils. D.h. man kann jede #-M, die im Hauptteil schon vorkommt,
   hier nochmals verwenden.
   Bisher ging das nicht. Jetzt, als Nebeneffekt, gilt das auch fuer normale
   Parameterdateien, z.B. fuer Listendruck.

-- Wenn bei Durcharbeitung des Kopfabschnitts eine Ausgabe entsteht, wird
   diese als (Fehler-)Meldung auf der untersten Zeile ausgegeben.

Beispiel:

K        leitet Kopfabschnitt ein, steht unterhalb der Kategorieliste
         der bisherigen .cPI-Datei

#u1 +A i1,8 i2,7 e0        ist es #87? Dann #-A
#u1 +B i1,2 i2,0 e0        ist es #20? Dann #-B
#u1 +C i1,9 i2,0 e0        ist es #90? Dann #-C
#u1 +D ....                usw. fuer andere Kategorien, die zu pruefen sind

#+#                        andere Kategorie? Dann nichts.

#-A    #87
!u1 +a e11 p"i" |98        kommt ISBN schon im Register 9 vor?
#+#                        nein, dann nichts machen
#-a                        ja
#t{ "ISBN kommt schon vor" 7 }       die 7 loest den Piepston aus
#+#

#-B   #20
!u1 +b e" : " u y2 |48     Kommt der Titel schon im Reg. 4 vor?
#+#                        Wenn nein, dann nichts.
#-b                        ja
#t{ "Titel kommt schon vor" }
#+#

#-C   #90x
#u1 +c I4,A I4,B I4,C e0    ist erstes Textzeichen nicht A,B,C?
#+#
#-c
#t{ "Signatur muss mit A, B oder C anfangen" 7 }
#+#

Die Ansiedlung der neuen Funktion in der .cPI ist vor allem deswegen sinnvoll,
weil so auch die Umcodierungen automatisch wirksam sind. Diese braucht man
fuer die Pruefung auf Vorhandensein in den Registern, wie oben zu sehen.
Man sieht, dass diese neue Methode ein potentiell sehr maechtiges Werkzeug
ist.
Die Programme PRESTO.EXE und MENUED.EXE sowie ALFA.EXE werden naechste
Woche auf Betatest verfuegbar sein.

A propos MENUED: Hat sonst noch jemand (ausser Herrn Bertelmann) Probleme
mit hierarchischen Saetzen gehabt? Reproduzierbar?

Gruss, B.E.




Mehr Informationen über die Mailingliste Allegro