Verbesserte Fehlerbehandlung in powerGate

TEILEN

Eine zuverlässige, sofortige und benutzerfreundliche Fehlerbehandlung und -meldung ist bei ERP-Integrationen geschäftskritisch, um Prozesssicherheit und Datenqualität zu gewährleisten.

Abteilungen sind auf die Genauigkeit der Informationen angewiesen, die sie von anderen Einheiten erhalten, um Prozesse reibungslos ablaufen zu lassen und die Produktqualität zu erhalten. Vor diesem Hintergrund haben wir bei coolOrange beschlossen, die Art und Weise, wie Fehler in powerGate behandelt werden, zu verbessern, um eine sofortige und verständliche Fehlerbehandlung zuverlässig zu gewährleisten. Bevor wir uns mit den neuen Funktionen beschäftigen, wollen wir uns einen Moment Zeit nehmen, um zu untersuchen, wie Fehler bisher gehandhabt wurden, welche Schwierigkeiten es gab und welche Verwirrungen dadurch entstanden sind, damit Sie die Bedeutung dieses Upgrades verstehen.

Betrachten wir einen einfachen Prozess, bei dem powerGate versucht, einen Artikel im ERP-System anzulegen. Aus welchem Grund auch immer, das ERP-System weigert sich, den Artikel zu erstellen (fehlende Informationen, Datumsübereinstimmung, Berechtigungen, Verbindungsabbruch, Serverausfall, Wartungsarbeiten usw.). Nun meldet das powerGate-Cmdlet intern das Problem, und bisher lag es in der Verantwortung des Skriptentwicklers, es abzufangen und darauf zu reagieren, indem er eine Popup-Meldung erstellt oder den Prozess erneut versucht.

Je nach dem gegebenen Arbeitsablauf können die Fehlerbehandlung und die Fehlermeldung unterschiedlich sein. Wenn powerJobs beispielsweise einen Auftrag verarbeitet, um einen Artikel im ERP-System anzulegen, und ein Fehler auftritt, wäre die Anzeige eines Popup-Dialogs nicht sinnvoll, da dies niemand bemerken würde, da der Auftragsprozessor auf einem dedizierten Server-Rechner läuft. Der Auftrag hängt in der Warteschleife und wartet darauf, dass jemand kommt und bemerkt, was passiert ist und etwas unternimmt. Die ganze Zeit über ist der Job-Prozessor eingefroren und pausiert schließlich alle nachfolgenden Jobs, ohne dass der Benutzer irgendwie benachrichtigt wird.

Ein weiteres Beispiel ist die Erstellung von ERP-Positionen, wenn ein Teil oder eine Baugruppe in Vault freigegeben wird. In diesem Fall ist es am besten, den Vault-Einschränkungsdialog zu verwenden, dort eine aussagekräftige Meldung anzuzeigen und den Freigabeprozess zu stoppen. Auf diese Weise weiß der Benutzer sofort, was vor sich geht, und der Freigabeprozess wird gestoppt, um zu verhindern, dass Daten freigegeben werden, die möglicherweise nicht mit den Daten im ERP übereinstimmen.

Ein weiteres Beispiel ist die ERP-Artikelerstellung bei der Stücklistenübernahme. In diesem Fall arbeitet der Anwender mit dem powerGate-Stücklistenübernahmedialog und möchte viele ERP-Positionen auf einmal anlegen. Die Anzeige eines zusätzlichen Fehlerdialogs wäre hier zwar möglich, aber die Anzeige eines Dialogs für jede Position würde den Benutzer überfordern. Eine bessere Lösung ist es, die im Stücklistendialog integrierten Statussymbole zu nutzen und die Fehler für die jeweilige Position anzuzeigen. Auf diese Weise erkennt der Benutzer sofort, welche Positionen Probleme haben, ohne sich durch Dutzende von Dialogen klicken zu müssen.

Wie Sie sehen, erfordern unterschiedliche Anwendungsfälle unterschiedliche Lösungen.

Bislang lag die Verantwortung für die Interpretation der Fehler und das Ergreifen von Maßnahmen auf den Schultern des Skriptverantwortlichen. Er musste berücksichtigen, ob er sich am Job-Prozessor oder am Vault Client befindet oder den Stücklistendialog ausführt.

Dank der Erfahrung, die wir in den letzten Jahren in über hundert Projekten gesammelt haben, haben wir die zu behandelnden Fehlersituationen identifiziert und in das Produkt eingebettet. powerGate weiß nun, wann und wie ein Fehler auf welche Weise dargestellt werden soll, so dass sich der Skriptverantwortliche auf die Umsetzung der Kundenanforderungen konzentrieren kann, ohne an den schlimmsten Fall zu denken.

Es gibt drei Arten von Problemen:

  1. Verbindungs- oder Kommunikationsprobleme, bei denen das ERP nicht erreicht werden kann, der Benutzer keine Berechtigung hat, die Daten von einem anderen Benutzer gesperrt sind usw.
  2. Semantisches oder syntaktisches Problem, bei dem obligatorische Werte fehlen oder die Länge nicht übereinstimmt oder ein Text gesendet wird, wo eine Zahl erwartet wird, oder ...
  3. Geschäftslogik, bei der die implementierte Logik auf einen unerwarteten Fehler stößt und mit einer Situation konfrontiert wird, die zu Beginn nicht vorhergesehen wurde (wie bei Altdaten)

In allen drei Fällen ist es gut zu wissen, wo das Problem aufgetreten ist, entweder auf der Vault-Client-Seite, auf dem Server oder im ERP-System. Das neue powerGate-Dialogfeld macht dies leicht sichtbar und reduziert die Zeit für die Fehlersuche.                                       

Je nach Anwendungsfall zeigt powerGate die Fehlermeldung in der bestmöglichen Form an, z.B. als Restriktionsdialog während eines Lebenszyklusübergangs, als Job-Fehler während der Job-Verarbeitung, als Statussymbol innerhalb des Stücklistenübertragungsdialogs und als Dialogfenster, wenn keine anderen Optionen verfügbar sind.

Diese wichtige Verbesserung entlastet den Skript-Typ von der Last der Fehlerbehandlung und reduziert den Anpassungscode drastisch, was ihn lesbarer, zuverlässiger und prozesssicherer macht.

Während dieses Feature neue Projekte sofort verbessern wird, ist powerGate wie üblich versionsübergreifend kompatibel und diese neue Version kann auch in bestehende Projekte implementiert werden. Für bestehende Projekte wird jedoch empfohlen, die Anpassung zu überarbeiten und die benutzerdefinierte Fehlerbehandlung zu entfernen, um zu verhindern, dass Fehlermeldungen doppelt angezeigt werden.

Wenn Sie mehr Details über diese Verbesserungen lesen möchten, schauen Sie sich die
change log.