Aproveche el script de automatización para registrar una pista de auditoría temporal en Maximo
Phil Runion
October 24, 2023


Un sistema Maximo maduro tiende a tener capas de configuración, personalizaciones, integraciones y partes móviles. A menudo, un solo registro puede tener varios procesos que interactúan con él. Hace poco trabajé en un entorno en el que las órdenes de trabajo se creaban mediante una integración; una vez que la orden de trabajo llegaba a las nuevas colas de trabajo, los programadores comenzaban a actualizar el registro. Mientras se realizaban las actualizaciones, se activaban integraciones salientes, lo que llevó a otra integración entrante a actualizar los registros. También hubo escalaciones que actualizaron algunas órdenes de trabajo. Todo el mundo decía que los usuarios y las tareas automatizadas recibían con regularidad el error «BMXAA4200E: el registro ha sido actualizado por otro usuario», lo que provocaba cierta frustración entre los usuarios.
Cuando se trata de errores de «registro actualizado por otro usuario», hay tantas maneras de solucionarlos como razones por las que ocurren. Los artículos enlazados a continuación describen dos enfoques que pueden resultar muy útiles. Estos enfoques permiten ver el error en el momento en que se produce y estos enfoques deberían estar al alcance de su mano.
https://www.sharptree.io/blog/2023/2023-07-25-updated-by-another-user/
https://www.linkedin.com/pulse/troubleshooting-mxrowupdateexception-error-ibm-maximo-cheremisenov
Lo que le falta a la mayoría de los enfoques es la capacidad de rastrear todo el ciclo de vida de un registro. Tradicionalmente, para cumplir con el ciclo de vida de un registro, las tablas de auditoría se utilizan para registrar cada cambio. La configuración de las tablas de auditoría tiene un propósito, pero puede conllevar una sobrecarga considerable y puede resultar difícil retirarlas una vez que ya no se necesitan. En mi escenario de ejemplo, estaba viendo registros específicos en los primeros días después de su creación. No me preocupaba conservar los datos de auditoría a largo plazo y quería algo que se pudiera activar y desactivar fácilmente.
Gracias a un script de automatización, pude cumplir todos mis objetivos. Pude añadirlo al sistema sin interrupciones y desactivarlo fácilmente una vez que lo terminé. Desde que lo implementé, he vuelto al script y lo he habilitado para ayudar a solucionar problemas en varias ocasiones. Con un punto de partida para guardar WORKORDER y WOACTIVITY, pude registrar la información básica cada vez que se guardaba.
# Configurar un registrador
desde psdi.util.logging importar MxLoggerFactory
projetechLogger=mxLoggerFactory.getLogger («máximo»)
# Extraiga cualquier dato que quiera registrar
mboParent = mbo.getOwner ()
strParentName = «»
si mboParent y mboParent.getName ():
strParentName = mboParent.getName ()
# Escribir una entrada de registro
ProjetechLogger.info («Auto Script» + «ScriptName +») detectó un guardado en WO. ID del sitio: "+mbo.getString («SITEID») +» WONUM: "+mbo.getString («WONUM») +» Cambiar por: "+mbo.getString («CHANNEBY») +» Este Mbo: "+mbo.getName () +» MBO principal: "+strParentName+» Interactivo:» + str (interactivo))
Con el registro adicional, pude capturar los datos que necesitaba. Al utilizar los datos registrados junto con los identificadores de correlación del mensaje de registro, pude obtener rápidamente una imagen completa del ciclo de vida de creación de una orden de trabajo. Al utilizar los datos del registro, pude identificar algunas mejoras en los procesos que eliminaron gran parte de la frustración de los usuarios. También pudimos identificar un proceso heredado innecesario.
¿Cómo puedes utilizar esto? Este enfoque no se limita solo a las órdenes de trabajo. Se puede aplicar a cualquier escenario en el que se pueda activar un punto de inicio de un script de automatización y se requiera un registro adicional. Al utilizar este enfoque o cualquier enfoque que añada registros adicionales, es importante tener en cuenta el impacto en el rendimiento. Cada entrada de registro y punto de inicio de un script de automatización que se utilice tiene un costo de recursos y rendimiento.
Mantenga su entorno dinámico, habilite el registro durante la resolución de problemas y deshabilítelo lo antes posible.
Discover everything you need to know to modernize your asset management strategy.
Inside, you’ll learn:

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.