f$Visio: FehlerEin (engl.: ErrorOn)
f$Visio: FehlerEin (engl.: ErrorOn)
Behandlung von Visio-Fehlern in ePOS.
Im Falle eines Visio-Fehlers wird eine entsprechende Meldung normalerweise im Visio direkt ausgegeben, z.B. wenn ein angefordertes Shape nicht existiert. Diese Meldungen können aber auch in der Logik behandelt werden, z.B. um
Ansprechendere Fehlermeldungen mit Bezug zur Logik auszugeben
die Meldungen in einer Protokolldatei zu protokollieren
im Ablauf auf den Fehler zu reagieren, um Folgefehler zu vermeiden (wenn ein angesprochenes Shape nicht existiert, kann es auch später nicht verschoben werden)
Die Fehlerinformation wird von Visio an ePOS in Form einer gefüllten Parametergruppe weitergereicht, die der Funktion FehlerEin übergeben wird. Die Parametergruppe wird in der Anwendung global definiert und muss folgende Parameter enthalten:
Parameter | Datentyp | Index | Bedeutung |
Nr | Ganzzahl | - | Fehlernummer aus ePOS (>10.000) |
OLENr | Ganzzahl | - | Fehlernummer aus Visio |
Text | Zeichenkette | - | Fehlertext aus Visio |
Steuer | Zeichenkette | - | Parameter Kennnung (1. Parameter) |
Eigenschaft | Zeichenkette | - | Parameter Eigenschaft (2. Parameter) |
Wert | Zeichenkette | - | Parameter Wert (3. Parameter) |
Während die Parameter Nr, OLENr und Text den aufgetretenen Fehler beschreiben, enthalten Steuer, Eigenschaft und Wert die Übergabeparameter an f$visio aus dem Aufruf, der den Fehler erzeugte.
Die Fehlerbehandlung kann mit dem Kommando FehlerAus wieder an Visio zurückgegeben werden (Ausgangszustand).
Bitte beachten: Der Parametergruppenname für die Fehlerbeschreibung, die in FehlerPG übergeben wird, wird indirekt in einer Zeichenkette übergeben, also in Anführungszeichen eingeschlossen. Außerdem muss er global sein!
Parameter für f$visio:
Parameter | Wert | Bedeutung |
Kennung | ’Visio’ | Schlüsselwort |
Eigenschaft | ’FehlerEin’ | Schlüsselwort |
Wert | FehlerPG | Name einer PG mit der Fehlerbeschreibung. Der Typname muss anhand der oben genannten Liste definiert sein. |
Ergebnis: | Ganzzahl | Status: 0 – alles OK, sonst siehe Rückgabestatus Rückgabewerte der Funktionen (Visio) |
Die Fehlerbehandlung in ePOS kann z.B. mittels einer Überwachungslogik (Kontroll-ET) erfolgen. Diese Vorgehensweise bietet den Vorteil, dass die Logik zur Fehlerbehandlung einmalig hinterlegt wird, ohne dass bei jedem Aufruf eine Fehlerbehandlung erfolgen muss. Dies ist z.B. für das Protokollieren der Fehler oder für eine adäquate Fehlermeldung sinnvoll.
Bitte beachten:
Die Fehlerbehandlung wird sofort aktiviert, wenn der Fehler im Visio auftritt. Im Falle der Verwendung einer Kontroll-ET bedeutet dies, dass das entsprechende Visio-Kommando noch aktiv ist. In der Kontroll-ET dürfen daher auch keine weiteren Visio-Kommandos ausgeführt werden. Wenn also z.B. die Zeichnungsgenerierung aufgrund des Fehlers abgebrochen (beendet) werden soll, muss dies nach dem Visio-Befehl außerhalb der Kontroll-ET geschehen.
Beispiel: | Fehlerbehandlung mit einer Kontroll-ET Aktivieren der Kontroll-ET "FehlerVisio". Dies muss anhand des Parameters Nr geschehen, da die FehlerPG ansonsten nicht komplett gefüllt ist: f$KontrollET( ’VFehler.Nr’, ’FehlerVisio’ ) Umlenken der Fehlerbehandlung: Status = f$visio( ’Visio’, ’FehlerEin’, ’VFehler’ ) Ab sofort wird bei jedem aufgetretenen Fehler die ET "FehlerVisio" aufgerufen. Tipp: In der ET "FehlerVisio" sollte der Parameter VFehler.Nr wieder auf LEER oder 0 gesetzt werden, damit bei Auftreten eines weiteren Fehlers die Kontroll-ET auf jeden Fall wieder aktiviert wird, auch wenn die Fehlernummer dieselbe ist. |