✒️ABAP Las tablas internas
ABAP Las tablas internas
QUE SON TABLAS INTERNAS
Es un Objeto de Datos , Sirve cuando queremos guardar una colección de registros en memoria para no tener que acceder a la base de datos continuamente .
Almacena datos de la base de datos temporalmente .
para estructurar y formatear datos que se mostraran como salida del programa.
Para formatear datos para ser usados por otros servicios.
COMO SE DECLARA UNA TABLA INTERNA
DATA: BEGIN OF <TABLA> OCCURS <N>, <DEF. CAMPO>,
---
END OF <TABLA>
N - NUMERO DE REGISTROS 1 LINEA DE CABECERA, Si se le pone 0 permitirá trabajar con gran cantidad de registros y esto es lo usualmente usado.
OTRA FORMA DE DECLARAR(WITH HIDER LIKE) sin especificar una cabeceraa o area de trabajo, donde la cabecera o area de trabajo es la misma tabla interna
data: ti_vuelos like standard table of sfligh with hider fligh.
LLENADO DE UNA TABLA INTERNA
APPEND TO - Sirve para añadir registros a la tabla interna en la ultima posición.
ejemplo:
CLEAR WA_PROVEEDORES.
WA_PROVEEDORES-NOMBRE ='ERNESTO'.
WA_PROVEEDORES-APELLIDO='VILLANUEVA'.
APPEND WA_PROVEEDORES TO TI_PROVEEDORES.
SELECT - Sirve para llenar una tabla interna con el contenido de una base de datos
OERDENAMIENTO DE UNA TABLA INTERNA
SORT - Es una sentencia que sirve para ordenar una tabla interna.
SORT ti_proveedores by dni DESCENDING. "para ordenar de menor a mayor usamos ASCENDING
PROCESAMIENTO DE UNA TABLA INTERNA
LOOP - ENDLOOP - Para recorrer una tabla interna y procesar registro a registro.
LOOP AT ti_proveedores INTO wa_proveedores WHERE NOT nombre IS INITIAL.
ENDLOOP
Otra forma de declarar una estructura o area de trabajo de una tabla interna con LIKE LINE OF
Data: wa_proveedores like line of ti_proveedores.
Se crea una estructura cuyo formato es identico a un registro cualquiera de la tabla interna ti_proveedores
LECTURA DE UNA TABLA INTERNA
RED TABLE - Lee un registro concreto de una tabla interna sin necesidad de recorrerla.
Para leer datos de un registro de una posicion particular se usa la clausula INDEX n
READ TABLE TI_PROVEEDORES INTO WA_PROVEEDORES INDEX 1.
BINARY SEARCH - Es una clausula que se le agrega al READ TABLE y permite una busqueda mas eficiente
READ TABLE ti_proveedores INTO wa_proveedores with key nombre ='Ariel'.
MODIFICACIÓN DE UNA TABLA INTERNA
MODIFY - Modifica el contenido de un registro de una tabla interna.
Wa_proveedores-dni= '24987500'.
MODIFY ti_proveedores from wa_proveedores INDEX 1.
INSERT - Inserta registros en una posicion determinada en una Tabla Interna
wa_proveedores-nombre = 'Marcelo'.
wa_proveedores-apellido = 'Rivarola'.
wa_proveedores-dni='20657492''.
INSERT wa_proveedores into ti_proveedores index 2.
DELETE - Borra un registro de la tabla interna.
DELETE wa_proveedores where dni = '20857492'.
REFRESH - Borra todo el contenido de la tabla interna.
REFRESH ti_proveedores.
DESCRIBE TABLE - Para saber cuantos regiestros tiene una tabla interna.
DATA: v_lineas type i.
DESCRIBE TABLE ti_proveedores LINES v_lineas.
CLEAR AREA DE TRABAO O CABECERA - Inicializar el area de trabajo o cabecera de la tabla interna
FREE Nombre de la tabla Interna - Libera espacio ocupado por una tabla interna en memoria.
REFRESH - Borra el contenido de la tabla interna pero no la tabla
 
 
 
Sobre el autor
Publicación académica de Victor Rodríguez Azcárate, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Rodríguez Azcárate
Profesión: Ingeniero de Sistemas - Peru - Legajo: AK14S
✒️Autor de: 63 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Victor Rodríguez