Aproveche el script de automatización para registrar una pista de auditoría temporal en Maximo

Phil Runion

October 24, 2023

Desafíos relacionados con las actualizaciones de registros y los errores de usuario

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.

Solucionar los errores de «registro actualizado por otro usuario»

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

El poder de los scripts de automatización para los registros de auditoría

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.

Unlock the Ultimate Guide to IBM Maximo Application Suite (MAS)

Discover everything you need to know to modernize your asset management strategy.

Inside, you’ll learn:

  • What’s new in IBM Maximo Application Suite 9.0
  • Key differences between Maximo 7.6 and MAS
  • How AppPoints and OpenShift change the game
  • Industry use cases across energy, manufacturing, and transportation
  • Step-by-step guidance for upgrading and migration readiness
Cover of 'The Ultimate Guide to MAS Maximo Application Suite' by Naviam featuring a man in a yellow construction helmet and safety vest holding a tablet.
×

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.

Read Press Release