[Allegro] Fragen zu find #nnn

Jörg Oberfell oberfell at wlb-stuttgart.de
Di Nov 8 16:29:36 CET 2011


Lieber Herr Eversberg, liebe Liste,

ich habe vier Fragen zum Themenbereich find #nnn, bei denen mir nicht 
klar ist, wo der Fehler liegt. Die aufgeführten Mini-Jobs habe ich 
jeweils an der Demo-DB unter dem aktuellen Windows-Acon und unter Linux 
getestet, bringe sie aber nicht dazu, das gewünschte Ergebnis zu liefern.

Der gesamte Test-Job liegt zusätzlich unter 
http://avanti.wlb-stuttgart.de/wlbtests.job

1.) Abbruchbedingung "if cancel":
Für einen Job, der alle Datensätze einer DB durchlaufen soll, verwende 
ich den Suchbefehl find #nnn, wobei nnn in jedem Schleifendurchlauf 
hochgezählt wird. Als Abbruchkriterium hatte ich "if cancel" eingesetzt. 
Laut xfind.rtf (im Abschnitt find #nnn) kann damit geprüft werden, ob 
die angefragte Datensatznummer zu groß war. Stimmt das so?

Folgendes Beispiel (hier ohne Schleife) liefert "unbesetzt" statt "zu 
groß" (Demo-DB, weniger als 12.000 Sätze):
find #12345
if cancel wri "zu groß" n;jump weiter
if no wri "unbesetzt" n;jump weiter
if del wri "geloescht" n;jump weiter
if yes wri "ok" n;jump weiter
:weiter
wri "Datensatz Nr  = " i n

--> unbesetzt
Datensatz Nr = 0


2.) Der letzte Datensatz einer DB kann laut Flexikon mit "find #0" 
gefunden werden. Stimmt das noch? Folgendes Beispiel funktioniert bei 
mir nicht (Demo-DB):
    find #0
    wri "Datensatz Nr  = " i n
liefert:
    N:<E130> kein Ergebnis bei: #0
    Datensatz Nr  = 0


3.) Eine Verständnisfrage: Liefert der CString t (Gesamtzahl Sätze) ...
a) die höchste besetzte Datensatznummer (also inklusive evtl. 
unbesetzter oder gelöschter Sätze), oder
b) die Anzahl an gültigen Sätzen (inkl. gelöschter, aber ohne unbesetzter)?
Ich tippe auf (a), kann das mangels Daten aber nicht überprüfen.


4.) Noch ein Mini-Job, der nicht das gewünschte liefert. Woran könnte 
das liegen?
first #
wri "Datensatz Nr  = " i n
next #
wri "Datensatz Nr  = " i n


--> liefert jeweils Datensatz-Nr. 0 (unbesetzt).

Vielen Dank und Grüße,
Jörg Oberfell

-- 
**********************************************************************
    Jörg Oberfell
    Württembergische Landesbibliothek
    - IT-Abteilung -
    - Fachreferat Mathematik und Informatik -
    Konrad-Adenauer-Str. 8   D-70173 Stuttgart
    Postfach 105441          D-70047 Stuttgart
    Tel.: +49 (0)711 / 212 - 44 75
    Fax:  +49 (0)711 / 212 - 44 22
    E-Mail:oberfell at wlb-stuttgart.de
**********************************************************************





Mehr Informationen über die Mailingliste Allegro