GTT -Tablas temporales globales

GTT -Tablas temporales globales

Contenido

1.     GTT (Global Temporary Tables) Tablas temporales globales

1.  GTT (Global Temporary Tables) Tablas temporales globales

En el Diccionario de datos ABAP, contamos con una nueva funcionalidad que nos permite crear tablas temporales globales que se pueden utilizar en el contexto de la aplicación en la misma unidad lógica de trabajo.

Las tablas temporales globales (GTT) son tablas transparentes especiales que se utilizan como repositorios de datos temporales.

Es decir, las GTT se utilizan para guardar datos temporales y, por lo tanto, dividir procesos de base de datos complicados en varios pasos, están diseñados solo para este propósito y, por lo tanto, incurren en costos de administración mucho más bajos que las tablas transparentes regulares.

Una tabla global temporal siempre está vacía al comienzo de una LUW (Logical Unit Work) de base de datos, es decir, siempre deben borrarse al final de cada LUW.

Anteriormente, cuando manejábamos la lógica para filtrar tablas, usábamos la instrucción “FOR ALL ENTRIES“, pero con esta, no podíamos utilizar Open SQL. Las GTT, pueden ser una alternativa al procesamiento en las tablas internas mediante “FOR ALL ENTRIES”, las tablas temporales aceptan “INNER JOIN”.

En el diccionario de datos creamos una tabla temporal global llamada “ZEMPLOYEE_LOGALI”.

01
GTT -Tablas temporales globales 14
02
GTT -Tablas temporales globales 15

Cambiamos la propiedad de “tableCategory” por el de una tabla temporal.

03
GTT -Tablas temporales globales 16

Duplicamos la tabla creada anteriormente, pero con un “tableCategory” de tabla transparente, esta tabla la nombramos “ZTB_EMP_LOGALI”.

04
GTT -Tablas temporales globales 17

Creamos un programa ejecutable llamado “ZGTT_LOGALI”, insertamos el mismo registro en ambas tablas y realizamos la unión entre las tablas y posteriormente realizamos la impresión de los datos resultantes.

05
GTT -Tablas temporales globales 18

Al ejecutar observamos que nos da un DUMP.

06
GTT -Tablas temporales globales 19

Esto se debe a que debemos realizar la eliminación explícita de la tabla temporal antes de que termine el LUW.

07
GTT -Tablas temporales globales 20

Al ejecutar nuevamente el programa, observamos que los datos se devuelven correctamente.

08
GTT -Tablas temporales globales 21

Otra forma de que se realice el borrado automático de la tabla temporal es terminando explícitamente el LUW con las instrucciones “COMMIT WORK” o “ROLLBACK WORK“.

09
GTT -Tablas temporales globales 22

Ejecutamos el programa y observamos que funciona correctamente.

10 1
GTT -Tablas temporales globales 23

Consultamos los registros de la tabla temporal.

11 1
GTT -Tablas temporales globales 24

La instrucción “ROLLBACK WORK” tiene el mismo efecto sobre la tabla temporal.

12 1
GTT -Tablas temporales globales 25

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Suscríbete al blog
Recibe las últimas actualizaciones y contenidos exclusivos directamente en tú correo electrónico.
Inscribime
close-link