✒️ABAP Las tablas internas
ABAP Las tablas internas
TABLAS INTERNAS.
1.- Que son tablas internas?
Si queremos guardar una coleccion de registros de datos de la misma estructura en memoria, sin necesidad de acceder continuamente a las bases de datos y poder realizar diversas operaciones con este conjunto de informacion, entonces utilizaremos tablas internas.
*Tabla interna: es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura.
La cantidad de registros maxima esta relacionada con los limites especificados en la instalacion del sistema.
El uso tipico que se le da a una tabla interna es:
*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.
2.-¿Como se declara una tabla interna?
DATA:BEGIN OF<tabla>OCCURS<n>,
<Def.Campo>,
END OF <tabla>.
DE esta manera definiremos una tabla interna con n lineas en memoria mas de una linea de cabecera o area de trabajo. La cantidad de lineas que se especifican en OCCURS no limitan el tamaño de la tabla sino la cantidad de registros que se guardaran en memoria simultaneamente.
Por lo general, en el parametro OCCURS se especifica la cantidad 0 lo que permite trabajar con tablas de gran cantidad de registros.
3.- Llenado de una tabla interna.
Para llenar con datos una tabla interna interna utilizamos:
* APPEND TO: se añade un registro a la tabla interna en la ultima posicion con los valores que tengamos en el area de trabajo.
4.- Ordenamiento de una tabla interna:
Para ordenar una tabla interna utilizamos la sentencia SORT.
Para ordenar de menor a mayor hay que utilizar la clausula ASCENDING.
5.- Procesamiento de una tabla interna.
Para recorrer una tabla interna y procesar registro a registro utilizaremos la sentencia LOOP-ENDLOOP.
Si no existe ningun registro que cumpla la condicion especificada en la clausula WHERE, el SY.SURBC sera distinto de cero.
6.- Lectura de una tabla interna.
Para leer un registro concreto de una tabla interna sin necesidad de recorrerla utilizaremos la sentencia READ TABLE.
El agregado de la clausula BINARY SEARCH en la sentencia READ TABLE hace que la busqueda sea ampliamente mas eficiente
7.- Modificando una tabla interna.
Para modificar el contenido de un registro de una tabla interna utilizamos la sentencia MODIFY.
Si intentamos modificar un registro de una tabla interna y el mismo no existe entonces el SY-SUBRC sera distinto de cero.
Para insertar un registro en una posicion 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 area de trabajo o cabecera de la tabla interna utilizaremos la sentencia CLEAR seguida del area de trabajo o cabecera.
Para liberar el espacio ocupado por una tabla interna de memoria utilizaremos la sentencia FREE seguida del nombre de la tabla interna.
La sentencia REFRESH borrara el contenido de la tabla interna y no el contenido en si.
 
 
 
Sobre el autor
Publicación académica de Miguel Ochoa, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Ochoa
Profesión: Estudiante de Ing. Industrial - Chile - Legajo: TB61K
✒️Autor de: 47 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Soy estudiante universitario con ganas de desarrollarme en el mundo de sap abap no tengo experiencia laboral, mis expectativas es poder comprender la filosofía de sap que me permita desarrollar
Certificación Académica de Miguel Ochoa