miércoles, 24 de agosto de 2016

Cómo implementar eventos en la actualización de una tabla

Implementar eventos en la actualización de una tabla es muy útil mientras creamos nuevas entradas en una tabla. Se pueden ejecutar muchas validaciones y checks mientras creamos o guardamos entradas en una tabla.

Contenido de la tabla:

Consideremos un escenario, donde una tabla de customizing se tiene que actualizar con la fecha y hora de creación / modificación.

Paso 1: Crear una tabla ZTAB con los siguientes campos:


Campo Tipo Descripción
MANDT MANDT Cliente
PAIS LAND1 Clave del país
CREATEDATE CREATEDATE Fecha creación / modificación
CREATETIME CREATETIME Hora creación / modificación

Paso 2: Generar imagen de actualización para la tabla:

Utilidades> Generador actualiz. tab.

Grupo de autorización: &NC&
Grupo de funciones: ZTAB (o cualquiera disponible)
Tipo de actualización: 2 niveles
Nº Imagen actualiz : pantalla general 8005 
                                  pantalla simple 8006

Crear.

Paso 3: Crear evento en la actualización:

Entorno> Modificación> Eventos> Entradas nuevas.
Lista de eventos disponibles:


Selecciona 05 para el evento al "Al crear una nueva entrada".
Este evento saltará al crear una nueva entrada en la SM30 o usando TCODE.
Nombre del FORM: AT_NEWENTRY
Doble click en el editor.

FORM at_newentry.
    ztab-pais = ‘India’.
    ztab-createdate = sy-datum.
    ztab-createtime = sy-uzeit.
ENDFORM.

Crear otro evento: 02 "Tras grabar lo datos en la base de datos".

FORM after_save.
  ztab-mandt = extract+0(3).
  ztab-ZCOUNTRY = extract+3(3)..
  ztab-ZCREATEDATE = sy-datum.
  ztab-ZCREATETIME = sy-uzeit.

  MODIFY ztab.
ENDFORM. 

Paso 4: Crear código de transacción

Ir a la tx. SE93
Código de transacción: ZTAB
Texto: Evento actualización de tabla test
Transacción: SM30, saltar primera screen
Valores por defecto:
VIEWNAME: ZTAB
UPDATE: X

Después de esto cuando ejecutes la transacción ZTAB, y crees una nueva entrada, actualizará la fecha y la hora del sistema en la tabla ZTAB.
Por otra parte si alguna de las entradas se modifican, se actualizará con las nuevas entradas.

SDN Contribution

2 comentarios: