Nutzen Sie das Automatisierungsskript, um einen temporären Audit-Trail in Maximo zu protokollieren
Phil Runion
October 24, 2023


Ein ausgereiftes Maximo-System besteht in der Regel aus mehreren Konfigurationsebenen, Anpassungen, Integrationen und beweglichen Teilen. Oft können mehrere Prozesse mit einem einzelnen Datensatz interagieren. Vor Kurzem habe ich in einer Umgebung gearbeitet, in der Arbeitsaufträge durch eine Integration erstellt wurden. Sobald der Arbeitsauftrag die neuen Arbeitswarteschlangen erreichte, begannen die Planer, den Datensatz zu aktualisieren. Während der Aktualisierungen wurden ausgehende Integrationen ausgelöst, was zu einer weiteren eingehenden Integration führte, bei der die Datensätze aktualisiert wurden. Es gab auch Eskalationen bei der Durchführung von Aktualisierungen einiger Arbeitsaufträge. Insgesamt erhielten Benutzer und automatisierte Aufgaben regelmäßig die Fehlermeldung „BMXAA4200E — Datensatz wurde von einem anderen Benutzer aktualisiert“, was zu einiger Frustration bei den Benutzern führte.
Wenn es um den Fehler „Datensatz wurde von einem anderen Benutzer aktualisiert“ geht, gibt es so viele Möglichkeiten, sie zu beheben, wie es Gründe dafür gibt. In den unten verlinkten Artikeln werden zwei Ansätze beschrieben, die sehr nützlich sein können. Diese Ansätze geben Aufschluss über den Fehler zum Zeitpunkt des Auftretens, und diese Ansätze sollten in Ihrem Instrumentarium enthalten sein.
https://www.sharptree.io/blog/2023/2023-07-25-updated-by-another-user/
https://www.linkedin.com/pulse/troubleshooting-mxrowupdateexception-error-ibm-maximo-cheremisenov
Was den meisten Ansätzen fehlt, ist die Fähigkeit, den gesamten Lebenszyklus eines Datensatzes zu verfolgen. Traditionell werden Audittabellen verwendet, um den Lebenszyklus eines Datensatzes abzubilden, um jede Änderung aufzuzeichnen. Die Konfiguration von Audit-Tabellen erfüllt einen Zweck, kann jedoch mit erheblichem Aufwand verbunden sein, und es kann schwierig sein, sie zu entfernen, wenn sie nicht mehr benötigt werden. In meinem Beispielszenario habe ich mir in den ersten Tagen nach ihrer Erstellung bestimmte Datensätze angesehen. Mir ging es nicht darum, Auditdaten langfristig aufzubewahren, und ich wollte etwas, das sich leicht aktivieren und deaktivieren lässt.
Mithilfe eines Automatisierungsskripts konnte ich alle meine Ziele erreichen. Ich konnte es ohne Ausfall zum System hinzufügen und es einfach deaktivieren, sobald ich fertig war. Seit der Implementierung bin ich zum Skript zurückgekehrt und habe es aktiviert, um bei mehreren Gelegenheiten bei der Fehlerbehebung zu helfen. Mit einem Startpunkt beim Speichern von WORKLODER und WOACTIVITY konnte ich jedes Mal, wenn ein Speichervorgang durchgeführt wurde, grundlegende Informationen protokollieren.
# Einen Logger einrichten
aus psdi.util.logging importiere MxLoggerFactory
projetechLogger=mxloggerFactory.getLogger („maximal“)
# Alle Daten abrufen, die ich protokollieren möchte
mboParent = mbo.getOwner ()
strParentName = „“
wenn MboParent und MboParent.getName ():
strParentName = mboParent.getName ()
# Einen Logeintrag schreiben
Projetechlogger.info („Auto Script" + scriptName + ") hat einen WO-Speichervorgang erkannt. Seiten-ID: "+mbo.getString („SITEID“) +“ WONUM: "+mbo.getString („WONUM“) +“ Ändern von: "+mbo.getString („CHANGEBY“) +“ Dieses Mbo: "+mbo.getName () +“ Übergeordnetes MBO: "+strParentName+“ Interaktiv:“ + str (interaktiv))
Mit der zusätzlichen Protokollierung konnte ich die benötigten Daten erfassen. Anhand der protokollierten Daten in Verbindung mit den Korrelationskennungen in der Protokollnachricht konnte ich mir schnell ein vollständiges Bild vom Lebenszyklus der Auftragserstellung machen. Anhand der Protokolldaten konnte ich einige Prozessverbesserungen identifizieren, die einen Großteil der Frustration der Benutzer beseitigten. Wir waren auch in der Lage, einen unnötigen Altprozess zu identifizieren.
Wie können Sie das nutzen? Dieser Ansatz ist nicht nur auf Arbeitsaufträge beschränkt. Er kann auf jedes Szenario angewendet werden, in dem ein Startpunkt für ein Automatisierungsskript ausgelöst werden kann und zusätzliche Protokollierung erforderlich ist. Bei der Verwendung dieses Ansatzes oder eines anderen Ansatzes, der zusätzliche Protokollierung hinzufügt, ist es wichtig, die Auswirkungen auf die Leistung zu berücksichtigen. Jeder verwendete Startpunkt für Protokolleinträge und Automatisierungsskripts verursacht Ressourcen- und Leistungseinbußen.
Sorgen Sie dafür, dass Ihre Umgebung stets auf dem neuesten Stand ist, aktivieren Sie die Protokollierung während der Problembehandlung und deaktivieren Sie sie so schnell wie möglich.
Erfahren Sie alles, was Sie wissen müssen, um Ihre Vermögensverwaltungsstrategie zu modernisieren.
Darin erfährst du:

ActiveG, BPD Zenith, EAM Swiss, InterPro Solutions, Lexco, Peacock Engineering, Projetech, Sharptree, and ZNAPZ have united under one brand: Naviam.
You’ll be redirected to the most relevant page at Naviam.io in a few seconds — or you can
go now.