✒️ABAP Las tablas internas
ABAP Las tablas internas
¿Qué son las tablas internas?
Si queremos guardar una colección de registros de datos de la misma estructura en memoria sin necesidad de acceder continuamente a las BD y poder realizar diversas operaciones con este conjunto de info. entonces utilizaremos tablas internas.
Una tabla interna es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura. La cant. de registros máxima está relacionada con los límites establecidos en la instalación del sistema.
El uso típico es:
-Almacenar temporalmente los datos de las BD para un procesamiento futuro.
-Estructurar y formatear datos que se mostrarán como salida del programa.
-Formatear datos para ser utilizados por otros servicios.
La cantidad de líneas que se especifican en OCCURS no limitan el tamaño de la tabla sino la capacidad de registros que se guardarán en memoria simultáneamente. Por lo general en el parámetro OCCURS se especifica la cantidad 0 lo que permite trabajar con tablas de gran cantidad de registros.
Para llenar con datos una tabla interna utilizamos:
APPEND TO: se añade un registro a la tabla interna en la última posición con los valores que tengamos en el área de trabajo
Otra forma es llenándola con la BD.
Para ordenar una tabla interna utilizamos la sentencia SORT.
Procesamiento de una tabla interna.
Para recorrer una tabla interna y procesar registro a registro utilizaremos la sentencia LOOP-ENDLOOP.
Para leer un registro concreto de una tabla interna sin necesidad de recorrerla utilizamos la sentencia READ TABLE, si se encuentra el registro el SY-SUBRC será 0, de lo contrario, será distinto a 0. Para leer los datos de una posición en particular de la tabla se utiliza la clausula INDEX. El agregado de la clausula BINATY SEARCH en la sentencia READ TABLE hace que la búsqueda sea ampliamente más eficiente.
Para modificar el contenido de un registro de una tabla interna utilizamos la sentencia MODIFY. Si se intenta modificar un registro que no exista, el SY-SUBRC será distinto de 0.
Para instertar un registro en una posición determinada de una tabla interna utilizamos INSERT.
Para borrar el contenido de un registro de una tabla interna utilizamos la sentencia DELETE.
Para borrar todo el contenido de una tabla interna utilizamos REFRESH.
Para saber cuantos registros tiene una tabla interna utilizamos DESCRIBE TABLE.
 
 
 
Sobre el autor
Publicación académica de Victor Manuel Gomez Escalona, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Manuel Gomez Escalona
Profesión: Ingeniero en Informática - Chile - Legajo: LE81P
✒️Autor de: 32 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Gomez