✒️ABAP Las tablas internas
ABAP Las tablas internas
TABLA INTERNA: Es un objeto de datos que permite guardar grandes cantidades de registro de datos con la misma estructura. El uso que se le da a una tabla interna es para:
- Almacenar temporalmente los datos de las bases de datos para un futuro.
- Estructurar y formatear datos que se mostraran como salida del programa.
- Formatear datos para ser utilizados por otros servicios.
DECLARACION DE UNA TABLA INTERNA: La sintanxis es la siguiente:
DATA: BEGIN OF <tabla> OCURRS <n>,
<def_campo>
END OF.
Asi se defina una tabla interna con n líneas mas una cabecera o area de trabajo.
OCURRS no limita el tamaño de la tabla sino la cantidad de registros que se guardan en memoria simultaneamente. Generalmente se especifica con la cantidad 0 que permite trabajar con tablas de gran cantidad de registros.
Podemos declarar una tabla de dos formas:
1.- DATA: BEGIN OF ti_proveedores OCURRS 0,
nombre(30) TYPE c,
apellido(30) TYPE c,
dni(8) TYPE c,
END OF ti_proveedores.
2.- DATA: BEGIN OF wa_proveedores,
nombre(30) TYPE c,
apellido(30) TYPE c,
dni(8) TYPE c,
END OF wa_proveedores.
DATA: ti_proveedores LIKE STANDARD TABLE OF wa_proveedores.
LLENADO DE UNA TABLA INTERNA: Utilizamos la sentencia APPEND TO.
- APPEND TO: añade un registro o tabla interna en la última posición con los registros que tenemos en el area de trabajo.
Ej: CLEAR wa_proveedores
wa_proveedores-nombre = 'Ernesto'.
wa_proveedores-apellido = 'Villanueva'.
wa_proveedores-dni = '14587963'.
ORDENAMIENTO DE UNA TABLA INTERNA: Usamos la sentencia SORT.
EJ: SORT ti_proveedores BY dni DESCENDIG.
DESCENDING ordena de mayor a menor y ASCENDING de menor a mayor.
PROCESAMIENTO DE UNA TABLA INTERNA: Usamos la sentencia LOOP-ENDLOOP.
EJ: LOOP AT ti_proveedores INTO wa_proveedores.
WHERE NOT nombre IS INITIAL.
ENDLOOP.
LECTURA DE UNA TABLA INTERNA:
- READ TABLE: se usa para leer un registro de una tabla sin tener que recorrerla.
EJ: READ TABLE ti_proveedores INTO wa_proveedores
WITH KEY nombre = 'Ariel'.
- INDEX: se utiliza para leer datos que se encuentran en una posicion particular de la tabla.
EJ: READ TABLE ti_proveedores INTO wa_proveedores INDEX 1.
- BINARY SEARCH: agregada a la sentencia READ TABLE hace que la busqueda sea mas eficiente.
MODIFICANDO UNA TABLA INTERNA:
- MODIFY: sentencia utilizada para modificar el registro de una tabla interna.
- INSERT: inserta un registro en una posicion determinada de una tabla interna.
- REFRESH: borra todo el contenido de una tabla interna.
- DESCRIBE TABLE: se usa para saber cuantos registros tiene una tabla interna.
 
 
 
Sobre el autor
Publicación académica de Gema Moreno Ferreiro, en su ámbito de estudios para la Carrera Consultor ABAP.
Gema Moreno Ferreiro
Profesión: Operario Especializado - España - Legajo: QO11N
✒️Autor de: 41 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Gema Moreno