SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

Cómo registrar cambios a una tabla de base de datos de SAP habilitando una propiedad de dicha tabla

Conozca cómo habilitar la propiedad "Log Data Changes" en una tabla Z determinada, para llevar el registro histórico de sus cambios en la tabla de SAP DBTABLOG.

SAP admite registrar de manera permanente los cambios realizados en datos de documentos o en datos maestros - permitiendo así mantener un historial de cambios.

Una forma de lograrlo es mediante las tablas de “Documentos de modificaciónCDHDR y CDPOS, que llevan el registro de las modificaciones producidas en tablas Z. Esta manera de registrar cambios, ya fue tratada en Teknodatips (ver Tip Cómo utilizar los Documentos de Modificación para registrar cambios a tablas de la base de datos de SAP)

Otra opción, es utilizando la propiedad “Technical Settings” (“Opciones Técnicas”) de una tabla transparente, especificando el check box “Log Data Change(“Grabar en log modificaciones de datos”), alternativa que será tratada en el presente tip.

Al igual que utilizando “Documentos de modificación”, sólo se produce un registro de cambios en tablas que han sido modificadas en sistemas SAP, ya sea por transacciones o programas cuando éstas realicen inserciones, eliminaciones o actualizaciones de datos. Si la tabla seleccionada tiene activo el checkbox "Log Data Change", cada cambio a un registro de datos a esa tabla es registrado en la base de datos en la tabla de log DBTABLOG, que contendrá un registro detallado de esos cambios.

Se recomienda utilizar este procedimiento sólo en aquellas tablas Z o maestras de SAP que no requieran constantes modificaciones, o en aquellas donde sea necesario un control de los cambios, como las tablas de customizing, las que SAP ya ofrece con la propiedad de "logging" activada.

En este Tip se detallarán paso a paso las configuraciones necesarias para poder ver reflejadas las modificaciones de una tabla Z en la tabla de log DBTABLOG.

Activación del registro de modificaciones

Se deberán tomar en cuenta dos procedimientos importantes como requisitos técnicos, para lograr registrar los cambios:

A) Configurar desde la transacción RZ10 el parámetro: rec/client, que permite o no el registro de cambios para tablas, y posee las siguientes opciones:

  • rec/client = ALL Activará la auditoría de tablas para todos los clientes
  • rec/client = 000 (,...) Activará la auditoría de tablas para los clientes especificos
  • rec/client = OFF No estará activada para ningún cliente la auditoría de tablas

Consideraciones importantes para este punto:

  • Para que tenga efecto el registro de modificaciones, el parámetro rec/client debería estar especificado en ALL o tener un mandante determinado.
  • Tener en cuenta que este parámetro está configurado por defecto en el sistema con el valor OFF, que implica que el sistema NO realiza un registro de modificaciones.

 

B) Siempre y cuando esté especificado el parámetro rec/client con valor ALL o un mandante específico en el perfil, desde la transacción SE13, ingresando en “Technical Settings” de la tabla determinada, se debe activar el flag “Log data changes”, para que puedan registrarse los cambios sobre esa tabla específicamente.

  • Es importante recalcar que si no está activado globalmente en el sistema el registro de cambios (punto A), NO tendrá efecto la activación del registro de cambios a nivel de tabla (punto B).

 

Los pasos en detalle ...

A continuación se detallan paso a paso las configuraciones mencionadas arriba:

A) Configuración del parámetro rec/client en el “profile”

NOTA: Es posible que este parámetro ya esté configurado en el sistema SAP para habilitar el registro de cambios, con lo cual no sería necesario realizar los pasos del punto A). Para comprobarlo se puede ejecutar el reporte RSPARAM, que muestra todos los parámetros de los perfiles en el sistema y los valores actuales que poseen. Si su valor está en OFF, es necesario seguir los pasos siguientes para su configuración.

1. Desde la Tx RZ10 indicar el nombre del perfil utilizado para las parametrizaciones del sistema. Luego, elegir la opción “Extended maintenance” y presionar ‘Change’ para poder editarlo.

2. Especificar en el perfil el parámetro “rec/client” con el valor “ALL” (o el mandante determinado), y luego presionar ‘Copy’ para guardar los cambios.

ABAP-parametro-profile-1

3. Se puede utilizar la Tx RZ11 para ver el parámetro con el nuevo valor:

ABAP-cambiar-parametro-profile-2

4. Reiniciar el sistema SAP para que la configuración tenga efecto.

B) Configuración para activar el registro de datos para una tabla determinada

Este procedimiento se debe realizar para cada tabla sobre la que se desee llevar un registro de modificaciones en sus datos.

1. Ir a la transacción SE13 (accede directamente a “Technical Settings” de una tabla), e indicar la tabla con la que se desea trabajar, en este ejemplo ZTABLA_LOG. Luego, elegir “Change”.

ABAP-techical-settings-3

2. Para activar el registro de cambios, tildar el checkbox “Log data changes” y presionar el botón “Guardar”.

ABAP-activar-log-data-changes-4

 

Posteriormente, al realizar desde un programa modificaciones sobre los datos de la tabla indicada, por ejemplo ‘ZTABLA_LOG’, se verán reflejados los cambios en la tabla del sistema DBTABLOG.

Cada vez que se registre un cambio sobre la/s tabla/s que tiene/n activado el checkbox “Log data changes”, se creará un nuevo registro en DBTABLOG.

Visualización de los cambios en la tabla DBTABLOG

La siguiente pantalla muestra los registros en la tabla DBTABLOG, que contienen los datos de las modificaciones que se realizaron sobre algunas tablas que tienen activado "Log Data Changes". Por ejemplo: ZTABLA_REG, ZTABLA_LOG y ZREGISTRO::

ABAP-visualizar-tabla-DBTABLOG-5

Donde en la primera vista se detalla los siguientes campos:

  • LOGDATA: Fecha del sistema en la cual se modificó la tabla
  • LOGTIME: Hora del sistema
  • LOGID: Identificación de un registro dentro de la tabla DBTABLOG
  • TABNAME: Nombre de la tabla afectada.

Y presionando en cualquiera de los registros, se puede obtener información adicional:

ABAP-visualizar-mas-atributos-tabla-DBTABLOG-6

Donde se destacan:

  • LOGKEY: Variable formada por los campos de numero de mandante y clave primaria de la tabla, en este caso el valor del campo MATNR.
  • HOSTNAME: El nombre del sistema backend ABAP
  • USERNAME: El nombre del usuario que realizó la modificación
  • TCODE: La transacción desde donde se realizaron los cambios a la tabla.
  • PROGNAME: Si existiera, el nombre del programa que se ejecutó para realizar los cambios.
  • OPTYPE: Tipo de operación realizada ( I : Insert, U: Update, D: Delete)

Para tener en cuenta ...

  • Los cambios registrados en la tabla DBTABLOG, anteriormente se almacenaban en la tabla DBTABPRT.
  • También se puede visualizar el contenido de la tabla DBTABLOG mediante el módulo de función 'DBLOG_READ'.
  • Para conocer todas las tablas que tienen el flag “Log data changes” activo se puede utilizar el reporte RSTBHIST ó las Transacciones OY18 o SCU3.
  • Es posible desactivar el registro de cambios para una tabla, una vez activado, “destildando” el flag “Log data changes
  • Una manera alternativa de activar el flag ‘Log data changes’, es modificando el campo PROTOKOLL de la tabla DD09L con el valor ‘X’ para una tabla determinada. Asímismo, permite conocer cuáles son las tablas activadas para auditoría.
  • Con respecto al parámetro rec/client, es recomendable especificarlo para que registre los cambios en todos los clientes del sistema productivo (valor ALL).
  • Recordar que como consecuencia de esta activación, puede existir un impacto en la performance en el sistema, por lo tanto considerar realizarlo sólo para aquellas tablas críticas o suceptibles de auditoria .

n_Celeste-Coopa Especialista ABAP

 

 

 

 

 


Copyright 2015 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


 

Copyright © 2024 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.