

Last updated:
April 28, 1997
If you have any suggestions, hints, do's and don'ts about the Pragma Helper, let us know and we will add your experience to the documentation.
PRAHELP - PRAGMA HELPER - Version 1.3
Hans Joachim Schmidt
Lauth + Scheihing
April 28, 1997
PRAHELP ist ein Hilfsprogramm, das speziell für Anwendungen in
PRAGMA geschrieben ist und in Stapelverarbeitungsdateien oder direkt angewendet
werden kann.
Jede der im folgenden beschriebenen Funktionen gibt einen ERRORLEVEL zurück,
der in Stapelverarbeitungsdateien abgefragt werden kann. Dort, wo dies sinnvoll
ist, werden zusätzliche Fehlerinformationen auf dem Bildschirm ausgegeben.
PRAHELP wird gesteuert über die Kommandozeile. Jedes Kommando
beginnt mit einem "/" und endet mit einem ":" gefolgt von
kommandospezifischen Parametern.
Mehrere kommandospezifische Parameter müssen durch Leerschritt voneinander
getrennt werden.
Pro Aufruf von PRAHELP ist nur ein Kommando erlaubt. Die Kommandozeile ist unabhängig von der Gross-/Kleinschreibung, sollten Sie aber Umlaute verwenden, dann müssen sie gross eingegeben werden.
Der jeweils neueste PRAFMI ist bei uns erhältlich.
Kommando /Z:
Mit diesem Kommando kann eine beliebige DOS-Datei auf Schreib- und Leserechte
überprüft werden. Dies kann in Stapelverarbeitungsdateien sinnvoll sein, um
den Start einer Anwendung mit einer Fehlermeldung abzubrechen, wenn nicht
genügend Zugriffsrechte bestehen.
| Syntax: | PRAHELP /Z:<Pfad/Dateiname> |
| <Pfad/Dateiname> | Name einer DOS-Datei, wahlweise mit kompletter Pfadangabe. |
Errorlevel:
| 0 | Datei ist vorhanden und mit vollen Lese-/Schreibrechten. |
| 1 | Datei ist nicht vorhanden oder hat nicht genügend Rechte. |
Es erfolgen keine Meldungen auf dem Bildschirm, ausser bei Parameterfehler.
Kommando /P:
Mit diesem Kommando kann eine Btrievedatei auf Bearbeitbarkeit in Pragma
überprüft und auf Wunsch Wiederhergestellt werden. Diese Funktion kann auch
dazu verwendet werden, den belegten Platz einer Datei auf das Minimum zu re
duzieren. Beim reinen Prüfen ohne Wiederherstellung bricht das Programm nach
dem ersten Fehler ab, der Rest der Datei wird nicht überprüft. Während der
Prüfung/Wiederherstellung wird der Verlauf auf dem Bildschirm angezeigt.
| Syntax: | PRAHELP /P:<Pfad/Dateiname>
<Zusatzparameter>
|
| <Pfad/Dateiname> | Name einer mit Pragma aufgezeichneten Btrievedatei.
Fehlt die Dateierweiterung, dann wird die Dateierweiterung
".BTR" verwendet.
|
| <Zusatzparameter> |
|
| I=<n> | Normalerweise werden beim Prüfen die Datensätze
physikalisch unter Umgehung des Indexes gelesen. Mit diesem Parameter ist
es möglich, die Daten über den Index <n> zu lesen. Dieser
Parameter hat keine Wirkung bei der Wiederherstellung. Der erste Index hat
die Nummer 0.
|
| HW=<n> | Legt die Mindestzahl an Hauptworten fest. Bei
Btrievedateien ohne Indexhauptwort (Pragma Fileserver kompatibel) muá zur
Anzahl der Hauptworte 1 für die Referenz hinzuaddiert werden. Ein
vorhandenes Indexhauptwort darf nicht mitgezählt werden.
|
| HWx=<t> | überprüft das Hauptwort mit der Reihenfolge-Nr x auf
den Datentyp <t>. Die Reihenfolge der Hauptworte muss der
Pragma-Dateidefinition entnommen werden. Bei Dateien ohne Indexhauptwort
entspricht Reihenfolge-Nr. 1 der Referenz, Reihenfolge-Nr. 2 dem ersten
Hauptwort etc. Bei Dateien mit Indexhauptwort ist Reihenfolge-Nr. 1 das erste Hauptwort nach dem Indexhauptwort. Als Datentyp <t> darf "n" für numerisc und "a" für Ausdruck angegeben werden.
|
| R | Wiederherstellung. Alle Datensätze, die nicht korrekt
gelesen wurden, gehen dabei verloren. Alle aufgetretenen Fehler und eine
abschliessende Statistik werden in der Datei PRAHELP.LOG protokolliert.
|
| A | Normalerweise geht bei der Wiederherstellung die (alte) Datei PRAHELP.LOG verloren. Bei Verwendung dieses Parameters wird der Inhalt einer existierenden PRAHELP.LOG beibehalten und das Wiederherstellungsprotokoll angehängt. |
Weitere Hinweise :
Mit der ESC-Taste kann die Prüfung/Wiederherstellung vorzeitig abgebrochen werden, die wiederherzustellende Datei bleibt dabei unverändert.
Bei der Wiederherstellung gehen auch Datensätze verloren, die auf Grund des HW-Parameters und des HWx-Parameters fehlerhaft sind. Deshalb kann eine falsche Angabe dazu führen, dass zu wenig Datensätze wiederhergestellt werden. Seien Sie also sorgfältig beim Einsatz dieser Parameter. Erstellen Sie sich eine Kopie der Datei, bevor Sie sie wiederherstellen.
Es können mehrere HWx-Parameter unterschiedliche Hauptworte betreffend hintereinander angegeben werden, es wird in der Reihenfolge der Parametereingabe geprüft.
Einige Btrieve-Fehler führen zum sofortigen Abbruch ohne Wiederherstellung der Datei (z.B. bei zerstörter Definition).
Gehen während der Wiederherstellung zu viele Sätze verloren (Anzahl der angezeigten defekten Sätze während der Wiederherstellung), dann wurde vermutlich ein falscher HW- bzw. HWx-Parameter angegeben.
Datensätze mit einer Länge von 32768 und gröáer führen bei der Wiederherstellung zum Abbruch ohne die Datei wiederhergestellt zu haben. Dateien mit so grossen Datensätzen können zur Zeit nicht wiederhergestellt werden.
Falsch einsortierte Schlüssel werden, wenn ansonsten keine Fehler auftreten, beim Prüfen nicht bemerkt, durch die Wiederherstellung aber repariert. Eine typische Auswirkung dieses Fehlers in Pragma ist, dass immer wieder dieselben Datensätze beim LESE NÄCHST gelesen werden.
Die Datei PRAHELP.LOG und die temporäre Btrievedatei mit den wiederherge stellten Datensätzen werden im Verzeichnis der zu reparierenden Datei erzeugt. Deshalb brauchen Sie in diesem Verzeichnis Zugriffsrechte für das Erzeugen, Löschen, Lesen und Schreiben.
Die zu reparierende Datei darf nicht offen sein, wenn eine Wiederherstellung durchgeführt wird, andernfalls bricht das Programm mit einer Fehlermeldung ab.
Zur Wiederherstellung einer Datei benötigen Sie auf dem Laufwerk genügend freien Speicher, um die LOG-Datei und eine Kopie der zu reparierenden Datei aufzunehmen.
Beim Prüfen über den Index wird zwar in gleicher Weise gelesen, wie das Pragma selbst tut, aber es können nur Datensätze geprüft werden, die auch einen Schlüsseleintrag aufweisen.
Der Speicherauszug in der PRAHELP.LOG enthält den Bereich des Datensatzes, der den Indexteil für alle Indexe umfasst.
Errorlevel:
| 0 | die Datei ist OK bzw. erfolgreich wiederhergestellt. |
| 1 | Parameterfehler |
| 3 | Btrieve-Fehler |
| 4 | Pragma-Fehler |
| 5 | interner Fehler |
| 6 | ESC gedrückt, Abbruch vom Anwender |
Beschreibung der Statusmeldungen:
| kleiner 1000 | Es handelt sich um einen Btrieve-Fehlerstatus,
sehen Sie in der Btrieve-Dokumentation nach oder entnehmen Sie die Fehlerbeschreibung der Datei BTRCODES.TXT, die mit dem Pragma-System mitgeliefert wird.
|
| 1000-1999 | Pragma-Fehler. Diese Fehler wurden beim Prfen
des pragmaspezifischen Datansatzaufbaus (Hauptwortstruktur) erkannt.
|
| 2000-2999 | Interner Fehler. Bitte notieren Sie sich den
Fehler und die Version von PRAHELP.EXE, heben Sie die Datei auf, die die- sen Fehler verursacht hat und nehmen Sie Kontakt mit Lauth+Scheihing auf. |
Beschreibung der Pragma-Fehler (1000-1999) :
| 1000 | Vom Anwender mit der ESC-Taste abgebrochen.
|
| 1001 | Die Datei hat keinen Index (sogenanntes DATAONLY-File, siehe
Btrieve-Handbuch). Über Pragma können nur Datensätze gelesen werden,
die in mindestens einem Index einen Schlüsseleintrag aufweisen.
|
| 1002 | Die Anzahl der gelesenen Datensätze (inklusive defekte)
entspricht nicht der Anzahl der von Btrieve gemeldeten Datensätze. Dieser
Fehler kann auch beim Prüfen auftreten, wenn nicht alle Datensätze in
dem mit dem I-Parameter angegebenen Index einen Schlüsseleintrag
aufweisen, was durchaus gewünscht sein kann.
|
| 1003 | Ein Hauptwortinhalt ist länger als der restliche Datensatz
insgesamt an Länge hat. Der entsprechende Datensatz wird bei der
Wiederherstellung entfernt.
|
| 1004 | Die Dateidefinition, wie in der Btrieve-Datei gespeichert,
ist zerstört. Eine automatische Wiederherstellung ist nicht möglich.
|
| 1005 | Der Typ eines Hauptwortes ist unbekannt (weder numerisch
noch ein Ausdruck). Der entsprechende Datensatz wird bei der
Wiederherstellung entfernt.
|
| 1006 | Die Länge eines Hauptwortinhalts ist grösser als 32767
Stellen. Der entsprechende Datensatz wird bei der Wiederherstellung entfernt.
|
| 1007 | Die Anzahl der Hauptworte im Datensatz ist 0. Der entsprechende Datensatz wird bei der Wiederherstellung entfernt.
|
| 1008 | Die Datei ist nicht kompatibel zu Pragma IV/V. Dies ist ein
Warnhinweis, die Datei ist dennoch in Ordnung. Dieser Fehler hat zwei
mögliche Gründe:
|
| 1009 | Ein Hauptwortinhalt, der Bestandteil eines Indexes ist, ist
länger als der restliche Teil des festen Datensatzanteils, der von
Btrieve für die Indexaufbereitung notwendig ist (fester Datensatzanteil
in variablen Datensätzen, siehe Btrieve-Handbuch). Dieser Fehler kann
auch auf Programmierfehler in Ihrer Anwendung bzw. falsche Segment-
angaben beim Erzeugen der Datei hervorgerufen werden. Der entsprechende
Datensatz wird bei der Wiederherstellung entfernt.
|
| 1010 | Ein Indexhauptwort hat eine andere Position, als bei der
Definition der Schlüsselsegmente angegeben, d.h. die Längen- und
Typangabe ist Bestandteil des Schlüsseleintrags. Dies kann u.a. dann
vorkommen, wenn der Startpunkt des ersten Schlüsselsegmentes kleiner ist
als 4 oder (bei mehreren Indexen) die Länge eines Hauptwortes nicht
korrekt ist. Dieser Fehler kann auch auf Programmierfehler in Ihrer
Anwendung bzw. falsche Segmentangaben beim Erzeugen der Datei
hervorgerufen werden. Der entsprechende Datensatz wird bei der
Wiederherstellung entfernt.
|
| 1011 | Fehler beim Aufbereiten des Dateinamens. Z.B. sind die
Platzhalter '*' bzw. '?' nicht erlaubt. Die Prüfung wird abgebrochen.
|
| 1012 | Parameter-Fehler. Es wurden ungültige Parameter nach dem
Dateinamen angegeben. Die Prüfung wird abgebrochen.
|
| 1013 | Ein Datensatz hat weniger Hauptworte, als im HW-Parameter
angegeben. Der entsprechende Datensatz wird bei der Wiederherstellung entfernt.
|
| 1014 | Durch die Wiederherstellung würde eine leere Datei erzeugt
(zu viele Datensätze würden entfernt), die wiederherzustellende Datei
bleibt deshalb unverändert.
Dieser Fehler hat in der Regel zwei Ursachen:
|
| 1015 | Das mit dem HWx-Parameter angegebene Hauptwort hat nicht den im Parameter angegebenen Typ. Der entsprechende Datensatz wird bei der Wiederherstellung entfernt. |
![]()