[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