✒️ABAP Las tablas internas
ABAP Las tablas internas
Las tablas internas son un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura. Una tabla interna puede almacenar entre 0 a n registros de datos. Se utilizan si queremos guardar una colecciòn de registros de datos de la misma estructura en memoria, sin necesidad de acceder a las tablas de bases de datos y poder realizar diversas operaciones con esa informaciòn.
Existe en memoria ùnicamente mientras se ejecuta un programa ABAP.
Usos tìpicos de una tabla interna
1 Almacenar temporalmente los datos de las tablas de bases de datos para un procesamiento futuro
2 Para estructurar y formatear datos que se mostraràn como salida del programa
3 Para formatear datos para ser utilizados por otros servicios
Como se declara una tabla interna?
Para poder trabajar con una tabla interna necesitaremos contar con una estructura tambièn llamada àrea de trabajo. Y solo podrà almacenar 1 registro de datos.
Nos va a permitir:
1 Leer el contenido de un registro de la tabla interna
2 Recorrer cada registro de la tabla interna
3 Agregar registros a una tabla interna
4 Modificar el contenido de un registro de la tabla interna
Como llenar el contenido de una tabla interna?
Hay varias formas de agregar registros o llenar una tabla interna.
1 Realizar un SELECT a una tabla de base de datos SAP y almacenar en la tabla interna el resultado de la selecciòn.
2 Insertar registros en la tabla interna mediante la sentencia INSERT.
Los registros que añadimos con APPEND TO se agregan al final de la tabla interna.Si la tabla interna se encuentra vacìa y realizamos un APPEND TO entonces se generarà el primer registro de la tabla interna.
Ordenamiento de una tabla interna
Para ordenar una tabla interna usamos la sentencia SORT.
Tenemos dos opciones disponibles para ordenar:
1 Ascendente
2 Descendente
Para ordenar de forma ascendente:
SORT ti_proveedores BY dni ASCENDING.
En forma descendente:
SORT ti_proveedores BY dni DESCENDING.
Si no especificamos, el ordenamiento se hace en forma ascendente.
Como recorrer una tabla interna?
Para recorrer una tabla interna y procesar registro a registro su contenido usamos la sentencia LOOP^-ENDLOOP.
LOOP AT ti_proveedores INTO wa_proveedores.
WRITE :/ wa_proveedores-dni,
wa_proveedores-nombre,
wa_proveedores-apellido.
ENDLOOP.
Lectura de una tabla interna
Para leer un registro en particular de una tabla interna usamos la sentencia READ TABLE.
Busqueda binaria: Algoritmo de bùsqueda que encuentra la posiciòn de un valor en una tabla interna ordenada, dividiendo el espacio de bùsqueda en dos y comparando el valor buscado con el elemento en el medio de la tabla interna. Debemos ordenar la tabla interna por el campo que deseamos buscar, utilizando la sentencia SORT y luego vamos a realizar la lectura usando la clàusula BINARY SEARCH. Si deseamo leer los datos que estàn en una posiciòn particular de la tabla usaremos la clàusula INDEX.
Modificando una tabla interna
1 Para modificar el contenido de un registro existente en la tabla interna usaremos la sentencia MODIFY.
2 Para insertar un registro en una posiciòn determinada de la tabla interna usamos la sentencia INSERT:
3 Para borrar el contenido de un registro de la tabla interna, usamos DELETE.
4 Para borrar todo el contenido de una tabla interna usamos REFRESH.
5 Si deseamos saber cuàntos registros tiene una tabla interna usamos la sentencia DESCRIBE TABLE.
 
 
 
Sobre el autor
Publicación académica de Ariel Martucci, en su ámbito de estudios para la Carrera Consultor ABAP.
Ariel Martucci
Profesión: Contador Publico - Argentina - Legajo: PJ45S
✒️Autor de: 78 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Un contador público de mediana edad con ganas de seguir aprendiendo carreras nuevas. estudiante avanzado de inglés, preparando mi first certificate, y al mismo tiempo involucrándome en programación.
Certificación Académica de Ariel Martucci