![](/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/306.jpg)
Tablas Internas: Es un objeto de datos que permite guardar en memoria grandes cantidades de datos con la misma estructura, generalmente es utilizada para almacenar datos previamente leidos de una Tabla de Base de datos, esto facilita la lectura, ya que no es necesario que se accese continuamente a la base de datos.
Uso:
- Para almacenar temporalmente los datos de las base 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.
Declaracion de Tablas Internas:
DATA: BEGIN OF t_tabla OCCURS 0.
Se difinen aqui los campos que tendra la tabla interna
END OF t_tabla.
OCCURS n limita la cantidad de registros que se guardaran en memoria simultaneamente. Por lo general se especifica con el valor 0, la cual permite trabajar con tablas de gran cantidad de registros.
Para llenar una Tabla Interna:
- 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.
- con un SELECT: utilizando esta sentencia. Por ej: SELECT * FROM tabla_bd INTO TABLE ti_tabla.
Para Ordenar una Tabla Interna, se utiliza la sentencia SORT. Ej: SORT ti_tabla BY dni DESCENDING.
Procesamiento de una Tabla Interna:
- LOOP-ENDLOOP: Recorriendo la Tabla Interna. Ej: LOOP AT ti_tabla INTO wa_tabla WHERE NOT nombre IS INITIAL. ENDLOOP.
- Para leer un registro de una Tabla Interna se utiliza la sentencia READ TABLE ti_tabla INTO wa_tabla WITH KEY nombre = 'Jess'. Si se desea leer datos de una posicion en particular se le agrega la palabra INDEX y el numero de la linea.
Con el agregado del BINARY SEARCH hace que la busqueda sea mas eficiente.
Para Modificar una Tabla Interna se utiliza la sentencia MODIFY. Ej:
MODIFY ti_proveedores FROM wa_proveedores INDEX 1.
Para borrar una Tabla Interna se utiliza la sentencia DELETE. Ej:
DELETE ti_proveedores WHERE dni = '3482316'.
Para borrar todo el contenidos de una Tabla Interna utilizamos la sentencia REFRESH.
Para saber cuantos registros tiene una Tabla Interna se utiliza la sentencia DESCRIBE TABLE. Ej:
DESCRIBE TABLE ti_tabla LINES v_cant_lineas.
Para limpiar una Tabla Interna: CLEAR.
Para liberar el espacio ocupado por una Tabla Interna de memoria utilizamos la Palabra FREE.
 
 
 
Sobre el autor
Publicación académica de Jessica Daiana Garcete Paez, en su ámbito de estudios para la Carrera Consultor ABAP.
Jessica Daiana Garcete Paez
Profesión: Residente Sap - Paraguay - Legajo: ER32H
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: PartTime
Presentación:
Licenciada en análisis de sistemas de la universidad nacional del este, con experiencia en desarrollo de software, actualmente especializándome en programación abap.
Certificación Académica de Jessica Garcete