✒️ABAP Las tablas internas
ABAP Las tablas internas
TABLAS INTERNAS
Es un objeto de datos que permite guardar en memoria grandes cantidades de registro de datos con la misma estructura.
uso tipico:
- Almacenamiento temporal de datos para procesamiento futuro
- Estructurar y formatear datos que se mostrarán como salida del programa
- Formatear datos a ser usado por otros servicios
DECLARACION, hay 2 formas
DATA: BEGIN OF <nombre_tabla> OCCURS 0,
campo(x) TYPE c,
campo2(y) TYPE c,
END OF < nombre_tabla>.
*OCCURS indica la cantidad de registros que se guardarán en memoria, no limita el tamaño de la tabla, si se pone 0 es indefinido
DATA: BEGIN OF <nombre_estruc>,
campo1(x) TYPE c,
campo2(y) TYPE c,
END OF <nombre_estruc>.
DATA: <tabla_nombre> LIKE STANDARD TABLE OF <nombre_estruc>
LLENADO DE UNA TABLA INTERNA
Con la sentencia APPEND TO , añade un registro a la tabla interna en su ultima posición con los valores que se tengan en el area de trabajo
APPEND <variable tipo estructura> TO <Tabla interna>
También se puede llenar una tabla interna con el contenido de una base de datos , usando la sentencia SELECT
ORDENAMIENTO
SORT <Tabla_interna> BY campo DESCENDING.
PROCESAMIENTO
Se recorre una tabla interna con la sentencia LOOP-ENDLOOP
LOOP AT <tabla_interna> INTO <var_estruct>
WHERE NOT campo1 IS INITIAL.
ENDLOOP.
*Se puede verificar , el resultado del WHERE con SY-SUBRC, sino cumple la condición es <>0
LECTURA DE UNA TABLA
Usando la sentencia READ TABLE sin necesidad de recorrerla
READ TABLE <nombre_tabla> INTO <var_estruct>
WITH KEY <campo> = 'Juan'.
Para leer los datos en una posición particular se usa la Clausula INDEX
READ TABLE <nombre_tabla> INTO <var_estruct> INDEX <posic.>
* La cláusula BINARY SEARCH hace que la búsqueda sea mucho más eficiente
MODIFICANDO UNA TABLA INTERNA
Para modificar un registro de la tabla interna:
MODIFY <nombre_tabla> FROM <var_estruct> INDEX <posic>.
EJ: wa_clientes-nombre = 'Juan'
MODIFY ti_clientes FROM wa_clientes index 1.
Para insertar un registro en una posición determinada de una tabla interna:
INSERT <var_estruc> INTO <nombre_tabla> INDEX <posic>.
Para borrar el contenido de un registro de una tabla interna:
DELETE <nombre_tabla> WHERE campo = 'valor''.
Para borrar todo el contenido de una tabla interna o inicializarla :
REFRESH <nombre_tabla>.
OTRAS INSTRUCCIONES
CLEAR <Area de trabajo o cabecera> " para inicializar
FREE <Area de trabajo o cabecera> " para liberar el espacio ocupado por una tabla interna en memoria
REFRESH " Borrará el contenido de la tabla y no la tabla en sí
 
 
 
Sobre el autor
Publicación académica de Widen Boris Horacio Nogales, en su ámbito de estudios para la Carrera Consultor ABAP.
Widen Boris Horacio Nogales
Profesión: Ingeniero de Sistemas - Bolivia - Legajo: PQ81E
✒️Autor de: 26 Publicaciones Académicas
🎓Egresado del módulo:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas con experiencia en implementación de sistemas erp, administración y soporte erps como sap bussines one, implementación soluciones bi , conocimientos de contabilidad .
Certificación Académica de Widen Horacio