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

Uso de eventos en vistas de mantenimiento en ABAP

 

Aprenda cómo activar y utilizar eventos de una vista de mantenimiento en ABAP, para modificar datos adicionales o modificar datos de auditoría.

Muchas veces no es suficiente con generar una transacción capaz de mostrar y modificar los datos de una tabla de base de datos. Por ejemplo, por cuestiones de auditoría puede ser necesario dejar un registro de quién fue el ultimo usuario en modificar un determinado registro de esa tabla, así como la fecha y la hora del suceso.

Para ello, SAP provee una herramienta estándar similar a un user-exit que permite llamar a una subrutina del cliente en determinados momentos de la actualización de datos mediante una vista de mantenimiento.

Eventos en vistas de mantenimiento

Antes de poder agregar un evento,  es necesario generar la vista de mantenimiento. Para ayudar a realizar esta tarea se recomienda la lectura del artículo anteriormente publicado en Teknodatips: Cómo crear una vista de mantenimiento para una tabla y asociarla a una transacción en SAP.

Los pasos del procedimiento a seguir son:

1. Ir a la transacción SE11 y editar la tabla para la cual se generó anteriormente la vista de mantenimiento. Luego hacer click en Utilities →Tabla maintenance generator.

ABAP-Dictionary-Maintain-Table-1

2. En esta ventana se podrán ver las características de la vista. Hacer click en Environment → Modification → Events.

ABAP-Generate-Table-Maintenance-2

3. En esta pantalla se pueden establecer los vínculos entre un evento y una subrutina del cliente. Hacer click en “New Entries”.

ABAP-Change-View-FORM-routines-3

4. Elegir un evento y la subrutina que será disparada. En el ejemplo se mostrará el caso en que se requiere guardar el nombre del usuario que modificó cada registro de la tabla así como la fecha y la hora en que se realizó (estos campos de auditoría forman parte de la tabla en cuestión). Para ello se utilizará el evento 01 “Before saving the data in the database”. Una vez seleccionado el evento y escrito el nombre de la subrutina que se encargará de manejarlo, presionar ENTER y luego hacer click en el botón “Editor” ABAP-Boton-editor

ABAP-New-Entries-Overview-Added-Entries-4

5. Aparecerá un pop-up solicitando el programa donde crear la subrutina.  Alli, seleccionar algún programa propuesto o crear uno. Una vez realizada la elección, aparecerá el editor ABAP para dicho programa. Sin embargo, la subrutina no se encontrará creada aún, por lo que es necesario escribirla manualmente:

ABAP-Editor-Change-Include-LZDI_ACT_TABLAF01-5

6. Escribir el código que se encargará de manejar el evento. En él es posible aprovechar todas las variables globales del grupo de función asociado a la vista de mantenimento. A través de estas variables se puede acceder, por ejemplo, a los datos que van a ser guardados cuando el usuario elija Grabar un registro determinado.

Para tener en cuenta ...


n_Marco_Gatti Especialista ABAP y Workflow

 

 

 

 


Copyright 2012 - 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.