Una característica muy interesante de Microsoft Dynamics AX es su capacidad para realizar auditoría de cualquier tabla que necesitemos de manera estándar y configurable mediante la funcionalidad “Registro de base de datos“.
Este registro es muy sencillo de configurar, se eligen las tablas y los campos que se desean auditar. Por ejemplo, en este caso queremos guardar un registro de las modificaciones en la tabla de proyectos:

y se configuran los eventos que se desea almacenar de estas tablas. En el ejemplo vamos a auditar todos los eventos: Insertar, Actualizar, Eliminar y cambiar la clave primaria (renombrar):

Ya tenemos configurado el registro. A partir de ahora cualquier modificación quedará registrada con el valor anterior, el valor nuevo, el usuario y la fecha/hora de la modificación. Como un gran hermano ![]()

Para hacer una prueba, cambio el nombre a un proyecto para que se genere un registro de auditoría:

Esto está genial y funciona muy bien de manera estándar, pero es posible que queramos acceder a estos datos mediante código, para hacer nuestras propias consultas a la tabla SysDataBaseLog, donde se guardan estos datos.
El problema es que (aparte de ciertas limitaciones de permisos, que podemos configurar), los datos no se guardan en un formato demasiado “accesible”, como muestro en la siguiente imagen :

Los datos de la modificación en sí (los valores antiguo y nuevo de cada campo) se guardan en un contenedor codificados y no es muy intuitiva la manera de descodificarlos.
Dejo aquí un ejemplo con el código X++ necesario para conseguirlo. Parto de una tabla (_tableId), un campo (_fieldId) y un un RecId y nos va a devolver mediante el InfoLog todos los cambios que se hayan registrado sobre ese campo:
POST ORIGINAL: http://www.jaestevan.com/howto-consultar-el-registro-de-base-de-dat...
Para cualquier comentario me teneis disponible por aquí a través de los comentarios o en twitter (@jaestevan).
Si teneis alguna sugerencia sobre algún tema técnico del que os gustaría leer un post, avisadme. Me estoy quedando sin ideas, y es reconfortante publicar sobre cosas que interesan. :)
Saludos!
Bienvenido a
El Rincón Dynamics
© 2012 Creado por Antonio Gilabert.
¡Necesitas ser un miembro de El Rincón Dynamics para añadir comentarios!
Participar en El Rincón Dynamics