Zum Inhalt

Fehlerbehandlung

Prosoft unterscheidet bei der Verarbeitung konsequent zwischen Geschäftsfehlern und Systemfehlern. Geschäftsvorgänge werden transaktional ausgeführt: Tritt ein Fehler auf, wird die gesamte Verarbeitung zurückgesetzt, sodass keine unvollständigen Buchungen entstehen können. Diese Seite beschreibt die programminternen Fehlerbehandlungsverfahren.


Geschäftsfehler und Systemfehler

Fehlerart Bedeutung Reaktion des Systems
Geschäftsfehler Eine fachliche Regel oder Eingabevoraussetzung ist verletzt (z. B. Pflichtfeld fehlt, Beleg bereits storniert, Buchungsperiode geschlossen) Verarbeitung wird kontrolliert abgebrochen, der Benutzer erhält eine verständliche Klartextmeldung
Systemfehler Ein unerwarteter technischer Fehler (z. B. verletzte Eindeutigkeit, fehlende Referenz, technische Ausnahme) Verarbeitung wird abgebrochen, der Fehler wird protokolliert und zur Auswertung erfasst

Geschäftsfehler sind erwartbare, fachlich begründete Abbrüche und werden dem Anwender als Hinweis angezeigt. Systemfehler kennzeichnen einen technischen Defekt und werden zusätzlich technisch protokolliert (siehe Protokollierung).


Transaktionale Verarbeitung

Jeder Geschäftsvorgang läuft innerhalb einer Datenbanktransaktion ab. Das Ergebnis ist immer eindeutig — alles oder nichts:

flowchart LR
    START["Vorgang startet"] --> RUN["Verarbeitung"]
    RUN -->|erfolgreich| COMMIT["Commit — Änderungen werden festgeschrieben"]
    RUN -->|Geschäfts- oder Systemfehler| ROLLBACK["Rollback — alle Änderungen werden verworfen"]
    COMMIT --> LOG["Protokolleintrag"]
    ROLLBACK --> LOG
  • Wird ein Vorgang erfolgreich abgeschlossen, werden alle Änderungen gemeinsam festgeschrieben.
  • Tritt irgendein Fehler auf, werden sämtliche Änderungen dieses Vorgangs verworfen. Es bleiben keine halb verarbeiteten Belege oder Buchungen zurück.

Dadurch ist sichergestellt, dass zusammengehörige Änderungen (z. B. eine Rechnung samt ihrer Positionen und Buchungssätze) nur vollständig oder gar nicht in der Datenbank landen.


Protokollierung des Verarbeitungsergebnisses

Jeder Geschäftsvorgang wird mit seinem Ergebnis protokolliert. Festgehalten werden Start- und Endzeitpunkt, der auslösende Benutzer, der betroffene Datensatz sowie das Ergebnis:

Ergebnis Bedeutung
Erfolg Der Vorgang wurde vollständig und fehlerfrei abgeschlossen
Geschäftsfehler Der Vorgang wurde wegen einer fachlichen Regel abgebrochen; die Meldung wird mitprotokolliert
Systemfehler Der Vorgang wurde wegen eines technischen Fehlers abgebrochen; die Fehlermeldung wird mitprotokolliert

Auch abgebrochene Vorgänge erzeugen einen Protokolleintrag. Dadurch ist nachvollziehbar, wann ein Vorgang versucht wurde und warum er gegebenenfalls nicht durchlief. Details siehe Protokollierung.


Anzeige für den Anwender

  • Geschäftsfehler werden dem Anwender direkt als verständliche Meldung im Programm angezeigt (z. B. „Die Buchungsperiode ist geschlossen."). Der Anwender kann die Eingabe korrigieren und den Vorgang wiederholen.
  • Systemfehler führen zu einer allgemeinen Fehlermeldung; die technischen Details werden nicht dem Anwender angezeigt, sondern protokolliert und stehen dem Support zur Auswertung zur Verfügung.

Die fachlichen Prüfungen, die zu Geschäftsfehlern führen, sind unter Eingabekontrollen beschrieben.