✒️ABAP Las tablas internas
ABAP Las tablas internas
TABLAS INTERNAS: (es un objeto de datos que guarda datos en memoria con la misma estructura). la cantidad de registros está relacionada con los límites especificados en la instalación del sistema.
colección de registros de datos de la misma estructura en memoria, sin necesidad de acceder continuamente a la base de datos.
USO TÍPICO DE LAS TABLAS:
almacenar temporalmente los datos.
estructurar y formatear datos. (para salida de reportes o para ser usados en otros servicios).
DECLARACIÓN DE TABLAS INTERNAS:
DATA: BEGIN OF <tabla> OCCURS <n>, <Def.Campo>, ....
END OF <tabla>.
las tablas internas además de las líneas de memoria requiere de una línea de cabecera ó área de trabajo.
el parámetro OCCURS se especifica la cantidad de registros a guardar en memoria de forma simultanea.
Por lo general se especifica la cantidad 0 y esto permite trabajar con tablas de gran cantidad de registros, es decir no se limita.
DATA: BEGIN OF ti_proveedores OCCURS 0,
nombre (30) TYPR c,
apellido (30) TYPEc,
END OF ti_proveedores.
APPEND TO (añade un registro a la tabla interna en la última posición.
CLEAR wa_proveedores.
wa_proveedores-nombre = 'Alberto'.
wa_proveedores-apellido = 'Lara'.
APPEND wa_proveedores TO ti_proveedores.
APPEND wa_proveedores TO ti_proveedores.
SELECT: (se utiliza para acceder ala base de datos de SAP).
SORT: (ordena la información de una tabla).
SORT ti_proveedores BY dni DESCENDING.
(ASCENDING)
LOOP-ENDLOOP: sirve para recorrer una tabla interna y procesar registro a registro.
PROCESAMIENTO DE UNA TABLA INTERNA:
LOOP AT ti_proveedores INTO wa_proveedores
WHERE NOT nombre IS INITIAL.
ENDLOOP.
LECTURA DE UNA TABLA INTERNA:
Para solo leer un registro sin necesidad de recorrer toda la tabla:
READ TABLE ti_proveedores INTO wa_proveedores
WITH KEY nombre= 'ariel'.
la consulta la regresará a la variable SY-SUBRC. en caso de encontrar el registro regresará cero.
Para leer los datos del registro encontrado (en caso de SY-SUBRC =0):
READ TABLE ti_proveedores INTO wa_proveedores INDEX 1.
BINARY SEARCH (hace una búsqueda más eficiente)
MODIFICACIÓN DE UNA TABLA:
MODIFY ti_proveedores FROM wa_proveedores INDEX 1.
INSERTAR EN UNA TABLA:
INSERT wa_proveedores INTO ti_proveedores INDEX 2.
BORRAR UN REGISTRO DE UNA TABLA:
DELETE ti_proveedores
WHERE dni =' 3444'.
BORRAR TODO EL CONTENIDO DE UNA TABLA:
REFRESH ti_proveedores.
CUANTOS REGISTROS TIENE UNA TABLA:
DATA: v_lineas TYPE i.
DESCRIBE TABLE ti_proveedores LINES v_lineas.
DECLARACIÓN DE UNA ESTRUCTURA EN UNA TABLA INTERNA:
LIKE LINE OFF
FREE nombre_tabla(libera espacio en memoria)
REFRESH (borra el contenido de la tabla interna más no la tabla).
 
 
 
Sobre el autor
Publicación académica de Gerardo De La Rosa Rivera, en su ámbito de estudios para la Carrera Consultor ABAP.
Gerardo De La Rosa Rivera
Profesión: Ingeniero en Sistemas Computacionales - Mexico - Legajo: OO30U
✒️Autor de: 39 Publicaciones Académicas
🎓Cursando Actualmente: Consultor ABAP Nivel Inicial
Certificación Académica de Gerardo De