In der Konfiguration der Datenbank kann für diese Situationen, d.h. für
Objektanfang, Objektende, Objektabbruch, sowie für jedes Feld eine Verarbeitungsvorschrift
hinterlegt werden. Dazu gibt es im Generator die Befehle
* Verarbeitung Feldname Vorschrift
* ÄndVerarbeitung Feldname Vorschrift
* Vanfang Vorschrift
* VanfangNeu Vorschrift
* Vende Vorschrift
* Vabbruch Vorschrift
Als Vorschrift kann man entweder den Namen einer Datei mit Verarbeitungsbefehlen
oder alternativ direkt Verarbeitungsbefehle angeben. Letzteres wird daran erkannt,
daß die Vorschrift mit einem Vorcodezeichen (Vc
) beginnt.
Falls eine Verarbeitungsvorschrift vereinbart worden ist, erfolgt die Aktivierung
der Verarbeitung automatisch.
Die Verarbeitungsvorschriften arbeiten dabei immer mit dem aktuell in Bearbeitung
befindlichen Objekt. Es können dessen Feldinhalte benutzt und verändert
werden. Ferner stehen alle Sprachmittel zur Verfügung. Im Gegensatz zur
'normalen' Verarbeitung gibt es standardmäßig keine Ausgabedatei.
|
.
|
|
Spezial-Variablen mit fester Bedeutung in der Verarbeitung werden in dieser
Bedeutung auch in der Bearbeitungs- Verarbeitung benutzt. Wie üblich steht
z.B. auf der Integer- Variablen NR die aktuelle Objektnummer.
Zu Beginn der Bearbeitung werden alle Variablen auf einen definierten Wert gesetzt,
d.h. die Integervariablen werden mit 0, die Stringvariablen mit einer leeren
Zeichenfolge vorbesetzt. Die Variablenwerte bleiben von einer Verarbeitungs-
Ausführung zur nächsten erhalten. Hiervon gibt es einige Ausnahmen,
denn einigen Variablen wird vor Aufruf einer Verarbeitungsvorschrift ein gezielter
Wert zugewiesen. Dies sind:
Variable
|
Bedeutung
|
---|---|
i | enthält bei Mehrfachfeldern den aktuellen Index |
i$ | aktueller Feldinhalt in Abruffeldern vor der Abruf-Auswertung |
n | enthält die aktuelle Feldnummer |
s | enthält den Statuswert (d.h. das Eingabeendezeichen) der letzten Eingabe |
v |
in der Verarbeitung am Objektende : |
v$ | Dateiname der Doku-Vorschlagswertdatei, wenn der Feldinhalt
mittels Doku aus einer Vorschlagswertliste ausgewählt worden ist Kennung der Teildatenbank, wenn in diesem Feld mittels Abruf ein Datenbankverweis aktiviert und ein Objekt ausgewählt worden ist. |
Verschiedene Steuerungsmöglichkeiten für die Bearbeitung kann man durch gezielte Zuweisung von bestimmten Werten an einzelne Variablen ansprechen.
Variable
|
Wert
|
Wirkung
|
---|---|---|
STAT | Zahl größer 0 | Fehlermeldung ausgeben(siehe Abschnitt 5.4) |
-1 | Verarbeitung abbrechen | |
STEU | 1 | Bildschirm neu aufbauen |
n | Feldnummer | Nummer des Zielfelds, in das der Cursor anschließend positioniert wird (nur falls ungleich der aktuellen Feldnummer) |
Die Stringvariablen a$ bis z$ der Verarbeitung können als zusätzliche
Hilfsspeicher während der Bearbeitung eines Objekts benutzt werden.
Der Zugriff auf diese Hilfsspeicher erfolgt in der Objektbearbeitung durch Aufruf
des Befehlsmenüs mittels Eingabe von F10 bzw. durch Klick auf die rechte
Maustaste. Nach Anwahl des Punktes 'weitere Funktionen' erscheint eine Balkenauswahl
mit den Punkten
Hilfsspeicher merken
|
Hilfsspeicher abrufen |
Wird einer dieser Auswahlpunkte angewählt, so erscheint eine Übersicht
der zur Verfügung stehenden Hilfssppeicher mit ihrem aktuellen Inhalt.
Mittels Balkenauswahl kann der gewünschte Hilfsspeicher ausgewählt
werden.
Verarbeitungs-Stringvariablen, die in der Hintergrundverarbeitung
der Bearbeitung benutzt werden und nicht versehentlich durch Besetzen des Merkspeichers
zerstört werden sollen, können 'geschützt' werden.
Eine Stringvariable wird innerhalb der Verarbeitung geschützt durch
Vc - Variablenbuchstabe
Wird in einem Feld die Abruf-Taste betätigt bzw. mit der linken Maus-Taste geklickt, so wird zunächst ermittelt, wie dieser Abruf auszuwerten ist.
Handelt es sich um ein Telefon-Feld, eine Bild- bzw. PCX-Grafik-Definition oder ein Datenbankverweis-Feld und ist gleichzeitig eine Verarbeitung definiert, so wird bereits vor der Abrufauswertung zusätzlich die vereinbarte Verarbeitung ausgeführt.
Danach erfolgt die Interpretation des Abrufs und anschließend wird die vereinbarte Verarbeitung noch einmal ausgeführt.
Welchen Sinn und Zweck hat diese zusätzliche Verarbeitungsausführung?
Normalerweise wird beim Abruf der aktuelle Feldinhalt ausgewertet. Somit wird das Bild angezeigt, dessen Name im Feld steht oder die dort eingetragene Telefonnummer wird zum Wählen herangezogen. Entsprechend wird beim Datenbankverweis die eingetragene Zeichenfolge zum Suchen in der Verweisdatenbank benutzt.
Es ist aber auch möglich, durch die vorangestellte Verarbeitung diese Zeichenfolge zu manipulieren.
Das bedeutet man kann z.B.
Die vorweg ausgeführte Verarbeitung kann beliebig sein und muss lediglich auf
der Variablen i$
den manipulierten Inhalt zurückliefern.
Dabei wird i$
vorweg mit dem aktuellen Feldinhalt vorbesetzt.
Damit man erkennen kann (und das ist speziell für Datenbankverweisfelder wichtig,
zu denen häufig Verarbeitungen definiert sind), dass man sich vor der Abrufauswertung
befindet, wird vorweg der Variablen s
(die stets den Wert des Eingabeendezeichens
enthält) der Pseudowert 161 zugewiesen. Nach Ausführung der Abruf-Funktion hat
s
dann den Wert 131 (= Wert der Taste Abruf).
Gibt es zu einem Abruf-Feld keine Verarbeitung oder gibt es eine, die i$ nicht verändert, so erfolgt die Abruf-Auswertung mit dem aktuellen Feldinhalt.
|
Nach Ausführung einer Verarbeitungsvorschrift in der Bearbeitung wird
geprüft, ob die Fehlervariable STAT einen Wert grösser
0 enthält. Wenn ja, wird die Zahl als Fehlernummer interpretiert, und es
wird eine entsprechende Fehlermeldung erzeugt. Als Folge davon wird insbesondere
die letzte Eingabe als fehlerhaft behandelt und somit erneut angefordert.
Tritt in einer Verarbeitung ein Syntaxfehler auf, so wird der Variablen STAT
der Wert 99 (formaler Fehler) zugewiesen.
Soll die Ausgabe einer Fehlermeldung verhindert werden, so muß vor Ende
der Verarbeitung die Variable STAT auf 0 zurückgesetzt werden.
Hierbei ist insbesondere zu berücksichtigen, daß die Variable STAT
auch bei Tastatureingaben besetzt wird, nämlich mit dem Eingabeendezeichen.
Wird dann die Variable anschließend nicht normiert, kommt es nach Ende
der Verarbeitungsvorschrift unter Umständen zu unsinnigen Fehlermeldungen.
Durch Eingabe von
|
|
|
|
|
in einem Objektfeld kann man jederzeit zusätzliche Verarbeitungs-Vorschriften aktivieren. Dabei wird der aktuelle Feldinhalt als Verarbeitungsvorschrift (d.h. entweder direkt als Befehlsfolge oder als Name einer Steuerdatei) ausgewertet und ausgeführt.