![](/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/497.jpg)
Tabla interna:
Es un objeto de datos q dentro del programa nos permite guardar una cantidad de datos especifica temporalmente con una estructura definida.
*La WA-Work Area es una estructura intermedia para el procesamiento de un registro antes de ser almacenado en la tabla.
La cantidad de lineas especificados en OCCURS es limite de la cant de registros con los que se pueden registrar en linea. Lo q comunmente se hace es dejarlo en `0` lo q permite trabajar con una gran cantidad de registros (especificado en la instalacion del Sistema).
*WITH HEADER LINE: Esta funcion nos permite declarar que el WA es la misma tabla interna haciendo innecesario especificar la estructura de la WA o area de trabajo.
Ordenamiento de los datos de una tabla interna:
Se utiliza la sentencia SORT acompaniada por la Clausula ASCENDING o DESCENDING.
Procesamiento de una tabla interna:
Para recorrer la tabla registro a registro se usa la sentencia LOOP - ENDLOOP acompaniada por una clausula WHERE donde el SY-SUBRC sera `0` o distinto de cero segun el caso.
*Se puede definir la estructura de una WA usando la sentencia LIKE LINE OF haciendo referencia al nombre de la tabla interna a la que le corresponde.
Lectura de una tabla interna:
Para leer un registro especifico de una TI sin necesidad de recorrerla registro por registro se usa la sentencia READ TABLE acompaniada de la clausula WITH KEY, donde el SY-SUBRC sera `0` o distinto de cero segun el caso.
Si se desea ir a una posicion particular de la tabla se acompania la sentencia anterior con la clausula INDEX en vez de WHERE.
*El agregado de la clausula BINARY SEARCH acompaniando a la sentencia READ TABLE hace la busqueda mas eficiente.
Modificacion Tabla Interna:
Para MODIFICAR el contenido de un registro de la TI se usa la sentencia MODIFY utilizando alguna de las clausulas de lectura (WHERE, INDEX...).
Para INSERTAR un registro en un registro especifico se usa la sentencia INSERT indicando el numero de la posicion de la tabla.
Para BORRAR el contenido de un registro de la TI se usa la sentencia DELETE utilizando alguna de las clausulas de lectura (WHERE, INDEX...).
*Para BORRAR TODO eL CONTENIDO de la tabla se usa la sentencia REFRESH.
Informacion de la Tabla:
Para saber cuantos registros contiene la TI se usa la sentencia DESCRIBE TABLE y se acompania por la sentecia LINES. Tambien se debe destacar q es necesario definir una variable para contener este valor.
*Inicializacion del WA se usa la sentencia CLEAR. Para desocupar el espacio en memoria usado por la TI se utiliza la sentencia FREE.
 
 
 
Sobre el autor
Publicación académica de Juan Carlos Sanchez Cardenas, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Carlos Sanchez Cardenas
Mexico - Legajo: DV39B
✒️Autor de: 21 Publicaciones Académicas
🎓Cursando Actualmente: Master S/4HANA FINANCE Accounting
🎓Egresado del módulo:
Certificación Académica de Juan Sanchez