![]() |
Registrar cambios
Hola, tengo una tabla Z de parametros con una vista de actualizacion, y necesito registrar el usuario, la fecha y la hora en que se adiciona o cambia algun registro en esa tabla, como puedo hacer esto?
|
Uhh podrias activar en tu tabla Z la propiedad:
Para hacerlo debes ingresar a tu tabla via SE11, ingresas a Opciones Técnicas y activas el checkbox Grabar en log modificaciones de datos. Grabar en log modificaciones de datos Mediante el indicador de grabación en log de sistema podrá determinar si se deben grabar en log modificaciones a los registros de una tabla. Si la grabación en log de sistema está activada, todas las modificaciones (mediante UPDATE o BORRAR) de cualquier registro existente efectuadas por un usuario o por un programa de aplicación se grabarán en una tabla log de la base de datos. Nota: La activación de la grabación en log de sistema retarda los accesos para modificar la tabla. En primer lugar para cada modificación debe escribirse un registro en la tabla log. En segundo lugar, muchos usuarios acceden paralelamente a la tabla log, de modo que pueden producirse situaciones de bloqueo, a pesar de que los usuarios trabajen en diferentes tablas de aplicación. Podrá visualizar los logs existentes mediante la transacción historial de tablas (SCU3). Espero esto te sirva. Pdta: Si ya generaste la vista de actualización te sugiero que renegeres la vista para que se ahaga efectiva esta propiedad. ALfredo Pastor Avendaño:cool: |
mmmm.... Lo que se comenta del LOG de datos de modificaciones lo que va hacer es que en SAP te grabe que se esta haciendo para esa tabla Z. Es decir, te comentara que registros se borraron, cuales se modificaron y cuales se adicionaron, obviamente te dira el usuario y la hora de la modificacion. Esa opcion es un LOG de modificaciones de SAP.
--> No lo vas a tener en tu tabla Z Ahora si quieres que en tu tabla Z, se graben esos datos de usuario, pues lo que hice es adicionar los campos a mi tabla Z, y modificar la funcion que me crea automaticamente SAP ;) Es una estafadita, en el PAI creo un MODULE y ahi le paso los valores a mi tabla. Lo compilo y LISTO!! Te graba esos campos en tu tabla Z. :cool: Saludos, |
Otra posible opción es a través de los eventos. Desde la tabla vas a utilidades-->generador de actualización de tabla. Una vez alli vas a entorno-->modificación-->eventos. Seleccionas el evento que te interese, en este caso el evento que hace referencia a justo antes de grabar y alli te permite crear un perform donde codificas que te grabe usuario (sy-uname) y fecha, hora etc lo que precises. Esto se efectuará de forma automática cada vez que se efectue alguna modificación de la tabla. Es otra idea.
|
Muchas gracias, realmente me ayudaron!!!
Decidí hacer el código dentro del evento de creación de registros nuevos y adicionar automáticamente el usuario, la fecha y la hora. Ahora quiero no permitir editar los campos de usuario, fecha y hora que le adicione a mi tabla Z, como puedo hacer esto? Nuevamente muchas gracias |
Ya encontré como hacerlo, en de la vista de actualización logre editar la Dynpro que se muestra cuando uno entra a la transacción de la vista de actualización y seleccione como campo de solo salida los 3 campos, de esta forma el usuario no puede editar estos campos manualmente y serán adicionados automáticamente por el evento cuando se adicione un registro nuevo.
|
Exacto. Al igual que te comente que modifiques el codigo y pases los valores, puedes habilitarlos como dices.
Pero si son campos de auditoria, esos campos NO se deberian modificar por el manetenimiento, ya que deben de registrar quien modifica ese registro, ya que pueden alterar el usuario, hora y eso muy delicado. Revisalo. Saludos, :cool: |
Husos Horarios son GMT. La hora en este momento es 13:53:37. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web