
Fehlerbehandlung bei der Verarbeitung von Gruppenelementen
Vor einiger Zeit bat ein Kunde um eine Lösung für häufige SAP-Sicherungen wichtiger Transaktionsdaten als zusätzliche Sicherheitsmaßnahme. Die Idee war einfach…
Beschreibung der Herausforderung
Vor einiger Zeit bat ein Kunde um eine Lösung für häufige SAP-Sicherungen wichtiger Transaktionsdaten als zusätzliche Sicherheitsmaßnahme. Die Idee war einfach – alle paar Stunden sollte der Bot bestimmte Transaktionen in SAP ausführen, die Daten in ein vorgegebenes Format exportieren und auf einem gesicherten SharePoint-Speicherort ablegen, wo die Dateien versioniert und Teil der weiteren Backup-Verarbeitung mit einem dedizierten Tool werden würden.
Antwort
Auf den ersten Blick ist der Prozess unkompliziert, wie im folgenden vereinfachten BPMN-Diagramm dargestellt:
Natürlich kann jede der oben genannten Aktivitäten fehlschlagen, und diese Ausnahmen sollten behandelt werden. Fügen wir also eine Ausnahmebehandlung hinzu:
Voilà! Tritt nun während der Ausführung ein Problem auf, erfasst unser Bot die Details, erstellt Screenshots und schließt SAP, bevor er die Ausnahme an den übergeordneten Ablauf meldet. Bevor wir jedoch in Begeisterung verfallen und unsere Lösung mit Enthusiasmus umsetzen, sollten wir kurz innehalten und zum Anfang zurückkehren. Was ist das Ziel dieses Prozesses? Das Ziel ist die Erstellung von Datensicherungen. Und was würde geschehen, wenn eine der Transaktionsverarbeitungen fehlschlägt? Die verbleibenden würden bis zur nächsten Ausführung nicht durchgeführt, da jeder Fehler bei der Gruppenverarbeitung die Verarbeitung zum Ausnahmebehandlungsblock umleitet, der einen sicheren Abbruch durchführt. Man kann sich ein Szenario vorstellen, in dem eine der Transaktionen bei einer bestimmten Konfiguration zu viele Daten erzeugt und dauerhaft fehlschlägt, wodurch effektiv die Sicherung der übrigen Transaktionen verhindert wird. Wie können wir dieses Problem also angehen?
Zunächst ist es entscheidend, dass alle Transaktionen gesichert werden – ist dies nicht möglich, sollte der Bot fehlerhafte Transaktionen überspringen und mit den verbleibenden fortfahren. Zweitens sollte das Reaktionsteam bei Auftreten einer Ausnahme darüber informiert werden, welche Sicherungen nicht erstellt werden konnten. Unter Berücksichtigung dieser Bedingungen können wir einen zusätzlichen Ausnahmebehandlungsblock hinzufügen, der innerhalb der Gruppenverarbeitung arbeitet und nur die fehlgeschlagene Backup-Verarbeitung stoppt:
Auf diese Weise verarbeitet der Bot jedes Element einzeln, ohne den gesamten Ablauf zu unterbrechen. Kritische Ausnahmen hingegen – etwa solche, die während der Anmeldung bei SAP und dessen Neustart auftreten – werden von einem „externen“ Behandlungsblock verarbeitet, der die weitere Ablaufverarbeitung stoppt.

