![](/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/344.jpg)
Tablas internas. Unidad 3 - Lección 1
Una tabla interna es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura (cantidad relacionada con los límites especificados en la instalación del sistema).
- Almacenar temporalmente los datos de las bases de datos 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 sintaxis para su declaración es la siguiente:
DATA: BEGIN OF <tabla> OCCURS <n>,
<Def.Campo>,
......
END OF <tabla>.
n. Cantidad de registros que se guardarán en memoria simultáneamente, por lo general se especifica 0.
Otra forma de declarar tablas es usando LIKE STANDARD TABLE OF
DATA: ti_proveedores LIKE STANDARD TABLE OF wa_proveedores.
Para llenar 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.
SELECT: Llenamos la tabla interna con el contenido de una base de datos.
Para ordenar una tabla interna se utiliza la sentencia SORT.
SORT ti_proveedores BY dni DESCENDING.
Para recorrer una tabla interna y procesar registro a registro se utiliza la sentencia LOOP-ENDLOOP.
LOOP AT ti_proveedores INTO wa_proveedores
WHERE NOT nombre IS INITIAL.
ENDLOOP.
Para leer un registro concreto de una tabla interna sin necesidad de recorrerla se utiliza la sentencia READ TABLE.
READ TABLE ti_proveedores INTO wa_proveedores
WITH KEY nombre = 'Ariel'.
Si se desea leer los datos que se encuentran en una posición particular de la tabla se utiliza la cláusula INDEX.
Para modificar el contenido de un registro de la tabla interna se utiliza la sentencia MODIFY.
wa_proveedores-dni = '24987500'.
MODIFY ti_proveedores FROM wa_proveedores INDEX 1.
Para insertar un registro en una posición determinada de una tabla interna se utiliza la sentencia INSERT.
wa_proveedores-nombre = 'Marcelo'.
wa_proveedores-apellido = 'Rivarola'-
wa_proveedores-dni = '20857492'.
INSERT wa_proveedores INTO ti_proveedores INDEX 2.
Para borrar el contenido de un registro de una tabla interna utilizamos la sentencia DELETE.
DELETE ti_proveedores
WHERE dni = '20857492'.
Para borrar todo el contenido de una tabla interna se utiliza la sentencia REFRESH.
Para saber cuantos registros tiene una tabla interna se utiliza la sentencia DESCRIBE TABLE.
DATA: v_lineas TYPE i.
DESCRIBE TABLE ti_proveedores LINES v_lineas.
 
 
 
Sobre el autor
Publicación académica de Jose Angel Duran Fernandez, en su ámbito de estudios para la Carrera Consultor ABAP.
Jose Angel Duran Fernandez
Profesión: Administrador de Sistemas Informáticos y Redes - España - Legajo: DV77Q
✒️Autor de: 24 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP PP
- Carrera Consultor en SAP SD Nivel Inicial
- Carrera Consultor ABAP Nivel Inicial