Pragma Helper

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 :

 

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:
  1. Der Datensatz wurde in Pragma III mit dem Modul
    PRAFMI der Version vor 5.67 aufgezeichnet. Bitte
    Die Datei mit einem neueren PRAFMI durchlesen
    und mit SCHREIBE DIES zurückschreiben.
  2. Als Index wird eine Pragma-Zahl verwendet.
    Eine Umprogrammierung der Anwendung ist er-
    forderlich.
    Bitte verwenden Sie diese Datei nicht in Pragma IV/V, da ein SCHREIBE
    DIES in der Datei den entsprechenden Datensatz zerstören würde.

 

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:

  1. Die Datei hat wenig Datensätze und diese Sätze sind alle falsch
    aufgezeichnet (Fehler 1009/1010, siehe dort) oder sie sind tat-
    sächlich defekt (Btrieve-Fehler).
  2. Falsche Angaben im HW-Parameter bzw. HWx-Parameter.

 

1015 Das mit dem HWx-Parameter angegebene Hauptwort hat nicht den im Parameter angegebenen Typ. Der entsprechende Datensatz wird bei der Wiederherstellung entfernt.

00-05-08
lip_tec3.gif
t_prahlp.htm