Registrar cambios

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • JuanFCalle
    Junior Member
    • sep
    • 17

    #1

    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?
  • Alfredosite
    Senior Member
    • jul
    • 135

    #2
    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
    Saludos Cordiales,
    Alfredo Pastor Avendaño
    SAP - Consultant HCM

    Comentario

    • Marco
      Senior Member
      • abr
      • 141

      #3
      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.


      Saludos,

      Comentario

      • francesc
        Member
        • mar
        • 58

        #4
        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.

        Comentario

        • JuanFCalle
          Junior Member
          • sep
          • 17

          #5
          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

          Comentario

          • JuanFCalle
            Junior Member
            • sep
            • 17

            #6
            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.

            Comentario

            • Marco
              Senior Member
              • abr
              • 141

              #7
              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,

              Comentario

              Trabajando...