![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️ABAP Las tablas internas
ABAP Las tablas internas
![ABAP Las tablas internas ABAP Las tablas internas](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/351.jpg)
¿Que 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 base de datos y poder realizar diversas operaciones con este conjunto de información, entonces utilizaremos tablas internas.
Uso típico de una tabla interna:
- Para almacenar temporalmente los datos de las bases de datos para un procesamiento futuro.
- Para estructurar y formatear datos que se mostraran como salida del programa.
- Para formatear datos para ser utilizados por otros servicios.
¿Como se declara una tabla interna?
La sintaxis para crear una tabla internas es:
DATA: BEGIN OF <tabla> OCCURS <n>,
<Def.Campo>,
...
END OF <tabla>.
De esta forma se define una tabla interna con n lineas en memoria más una línea de cabecera o área de trabajo. La cantidad de líneas que se especifican en OCCURS no limitan el tamaño de la tabla sino la cantidad de registros que se guardarán en memoria simultáneamente. por lo general el párametro OCCURS se especifica la cantidad 0, lo que permite trabajar con tablas de gran cantidad de registros.
Existe otra forma para declarar tablas internas sin tener que especificar a parte un área de trabajo o cabecera y se utiliza mediante la palabra reservada WITH HEADERS LINE.
Llenado de una tabla interna.
Utilizamos la siguiente palabra:
- 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.
Ordenamiento de una tabla interna.
Utilizamos la sentencia SORT
Procesamiento de una tabla interna.
Para recorrer una tabla interna y procesar registro a registro utilizaremos la sentencian LOOP ENDLOOP.
Existe otra forma de declarar una estructura o área de trabajo de una tabla interna y se realiza utilizando la sentencia LIKE LINE OF.
Lectura de una tabla interna.
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á cero. Si se desea leer los datos que se encuentran en una posición particular de la tabla se utilizará la cláusula INDEX.
La cláusula BINARY SEARCH en la sentencia READ TABLE hace que la búsqueda sea ampliamente más eficiente.
Modificando una tabla interna.
Para modificar el contenido de un registro de una tabla interna utilizamos la sentencia MODIFY.
Para insertar un registro en una posición determinada de una tabla interna utilizamos la sentencia 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 la sentencia REFRESH.
Para saber cuantos registros tiene una tabla interna utilizamos la sentencia DESCRIBE TABLE.
Para inicializar el área de trabajo o cabecera utilizamos la sentencia CLEAR.
Para liberar el espacio ocupado por una tabla ocupada en memoria utilizaremos la sentencia FREE. Seguido del nombre de la tabla.
 
 
 
Sobre el autor
Publicación académica de Jorge Luis Leal Marquez, en su ámbito de estudios para la Carrera Consultor ABAP.
Jorge Luis Leal Marquez
Profesión: Analista de Sistemas - Venezuela - Legajo: CD46R
✒️Autor de: 113 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP BI / BW BO Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Disponibilidad Laboral: PartTime
Presentación:
Profesional del área de tecnológica, enfocado a garantizar la continuidad de las operaciones. consultor abap.
Certificación Académica de Jorge Leal