Fehlerbehandlung bei der Gruppenelementverarbeitung

Bild von esitio2

esitio2

Beschreibung der Herausforderung


Vor einiger Zeit bat ein Kunde um eine Lösung für häufige SAP-Backups wichtiger Transaktionsdaten als zusätzliche Sicherheitsmaßnahme. Die Idee war einfach – alle paar Stunden sollte ein Bot einige Transaktionen in SAP ausführen, Daten in ein bestimmtes Format exportieren und an einem gesicherten SharePoint-Speicherort ablegen, wo die Dateien versioniert und Teil der weiteren Backup-Verarbeitung mit einem dedizierten Tool wären.

Lösung

Auf den ersten Blick ist der Prozess unkompliziert, wie im vereinfachten BPMN-Diagramm unten dargestellt:

img1

Natürlich kann jede der oben genannten Aktivitäten fehlschlagen, und diese Ausnahmen sollten behandelt werden. Fügen wir also eine Ausnahmebehandlung hinzu:

img2

Voilà! Falls während der Ausführung etwas passiert, wird unser Bot nun Details erfassen, Screenshots machen und SAP schließen, bevor er die Ausnahme an den übergeordneten Flow meldet. Bevor wir uns in Begeisterung stürzen und unsere Lösung mit Enthusiasmus implementieren, atmen wir tief durch und kehren zum Anfang zurück. Was ist das Ziel dieses Prozesses? Das Ziel ist die Erstellung von Datensicherungen. Und was würde passieren, wenn die Verarbeitung einer der Transaktionen fehlschlägt? Die verbleibenden würden bis zur nächsten Ausführung aufgegeben, da jeder Fehler bei der Gruppenverarbeitung die Verarbeitung zum Ausnahmebehandlungsblock umleitet, der einen sicheren Ausstieg handhabt. Wir können uns ein Szenario vorstellen, bei dem eine der Transaktionen unter einer bestimmten Konfiguration zu viele Daten erzeugt und ständig fehlschlägt, was effektiv verhindert, dass andere Transaktionen gesichert werden. Wie können wir dieses Problem also angehen?

Erstens ist es entscheidend, dass alle Transaktionen gesichert werden – falls dies unmöglich ist, sollte der Bot fehlerhafte überspringen und mit den verbleibenden fortfahren. Zweitens sollte das Response-Team informiert werden, wenn eine Ausnahme auftritt und welche Backups nicht erstellt werden konnten. Unter Berücksichtigung der oben genannten Bedingungen können wir einen zusätzlichen Ausnahmebehandlungsblock hinzufügen, der innerhalb der Gruppenverarbeitung arbeitet und nur die fehlgeschlagene Backup-Verarbeitung stoppt:

img3

Auf diese Weise behandelt der Bot jedes Verarbeitungselement individuell, ohne den gesamten Flow zu unterbrechen. Andererseits werden kritische Ausnahmen – wie solche beim Anmelden an SAP und dessen Neustart – durch den „externen“ Behandlungsblock behandelt, der die weitere Flow-Verarbeitung stoppt.

Share the Post:

Contact KTBNet today!

Everything in one place

Related