✒️ABAP Las tablas internas
ABAP Las tablas internas
TABLAS INTERNAS
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.
Uso de la tabla interna:
-Almacenar temporalmente los datos de las bases de datos para un procesamiento futuro
-Estructurar y formatear datos que se mostraran como salida del programa
-Formatear datos para ser utilizados por otros servicios
Sintaxis de una tabla interna
-------------------------------------------
DATA: BEGIN OF <tabla>OCCURS<N>,
<Def.Campo>,
.....
END OF<tabla>.
----------------------------------------------
Linea de cabecera o area de trabajo. cabecera de una tabla interna que tiene el contenido del registro de la tabla interna que se esta procesando.
OCCURS.Clausula ABAP que se utiliza para especificar la cantidad de registro de una tabla interna,por lo general se especifica la cantidad ) que permite trabajar con tablas de gran cantidad de registros. ( no limitan el tamano de la tabla si no la cantidad de registros)
Por lo general, en el parametro OCCURS se especifica la cantidad 0 lo que permite trabajar con tablas de gran cantidad de regtistros.
WITH HEADER LINE otra forma de declarar tablas internas sin tener que especificar aparte un area de trabajo o cabecera ,EJEMPLO. DATA : ti_vuelos LIKE STANDARD TABLe OF SFLIGHT WITH HEADER LINE. tabla interna donde la cabecera es la misma tabla interna.(ejemplo que crea una tabla interna como la tabla standar de vuelos SFLIGHT.
Llenado de datos de la tabla interna.
APPEND TO. se anade un registro a la tabla interna en la ultima posicion con los valores que tengamos en el area de trabajo.
Llenamos la tabla interna con el contenido de la base de datos. Esto lo haremos con la sentencia SELECT(sentencia ABAP que se utiliza para acceder a alas bases de datos de SAP)
ORDENAMIENTO DE UNA TABLA INTERNA
Para ordenar una tabla interna utilizamos la sentencia SORT(sentecia ABAP que se utiliza para ordenar una tabla interna).
Clausula ASCENDING(se utiliza para ordenar una tabla de manera ascendente , de menor a mayor.
PROCESAMIENTO DE UNA TABLA INTERNA
Para recorrer una tabla interna y procesar registro a registro utilizaremos la sentencia LOOP-ENDLOOP(palabra reservada del sistema para la representacion de bucles)
Existe otra forma de declarar un estructura o area de trabajo de una tabla interna LIKE LINE OF,crear estructura cuyo formato es identico a cualquiera de una tabla interna especificada.
Para leer un registro concreto de una tabla interna sin necesidad de recorrerla utilizamos la sentencia READ TABLE.
Si se desea leer los datos que se encuentran en una posicion particular de la tabla se utilizara la clausula INDEX(clausula ABAP que es utilizada en muchas sentencias para especificar un registro en particular dentro de una tabla interna.)
El agregado de la clausula BINARY SEARCH en la sentencia READ TABLE hace que la busqueda sea ampliamente mas eficiente.
MODIFICANDO UNA TABLA.
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 registro de una tabla interna utilizamos la sentencia DELETE.
Para borrar todo el contenido de una tabla interna utilizamos la sentencia REFRESH.
Para saber cuanto registros tiene una tabla interna utilizamos la sentencia DESCRIBE TABLE
 
 
 
3 Agradecimientos:
Han agradecido este aporte: Walter Montoya García, David Restrepo Cañas, Carolina Sanchez
Sobre el autor
Publicación académica de Marco Antonio Vazquez Gonzalez, en su ámbito de estudios para la Carrera Consultor ABAP.
Marco Antonio Vazquez Gonzalez
Mexico - Legajo: RB98L
✒️Autor de: 60 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Marco Vazquez