Conceptos y manejo de tablas internas
- Se explican las tablas internas como objetos de datos útiles para almacenar información temporal, como una colección de fotos de vacaciones, sin necesidad de acceder directamente a los archivos originales.
- Se menciona que las tablas internas permiten manejar diferentes opciones y almacenar información en memoria.
- La cantidad de líneas asignada en su parámetro "minus" no limita la cantidad de líneas que puede tener realmente la tabla, solo el espacio reservado inicialmente.
- Es común establecer "minus = 0" para permitir el manejo de grandes cantidades de información en memoria sin restricciones.
- Se describen distintas formas de definir y crear una tabla interna, incluso utilizando condicionales, y ejemplos de uso básico con referencias a la sentencia "with id online".
Recorrido y operaciones sobre las tablas internas
- Para recorrer una tabla interna se utiliza mayormente la sentencia "show".
- Existen diferentes comandos para recorrer registros específicos, columnas o toda la tabla.
- Ejemplos prácticos incluyen cómo borrar ("delete table"), inicializar y refrescar el contenido de la tabla interna.
- Para insertar un registro se utiliza el comando "insert".
- Para contar los registros de la tabla interna se emplea la sentencia "display table", usando variables tipo int para almacenar el conteo.
Convenciones y estándares de programación
Los nombres de tablas internas comienzan con TI_ (Tabla Interna) y los de áreas de trabajo/estructuras con WA_ (Work Area).
Estas reglas forman parte de las convenciones de nombres en los estándares de programación, tema que se desarrollará más adelante en el curso.
Tipos y declaración de tablas internas
Existen cinco tipos de tablas internas en ABAP: any table, index table, standard table, sorted table y hashed table.
Habitualmente se usan las standard table, y el resto sólo en casos muy específicos.
Declaración de tipos y tablas: se utiliza la sentencia TYPES para definir la estructura con los campos DNI, nombre y apellido.
Ejemplo de declaración: una tabla interna TI_proveedores basada en la estructura TY_proveedores.
Declaración de áreas de trabajo/estructuras (WA_proveedores) como línea de la tabla interna.
Manipulación de datos en tablas internas
Añadir registros: Se cargan datos en la tabla y se visualizan en debugging.
Ordenar registros: Se utiliza una sentencia para ordenar por DNI de forma descendente.
Recorrer registros: Con LOOP y condiciones WHERE se pueden filtrar los registros recorridos.
Leer registros: La sentencia READ TABLE permite buscar por clave (ej: nombre) o por posición.
Modificar registros: Se actualiza el contenido de un registro especificando posición e introduciendo nuevos datos mediante la estructura WA y la sentencia MODIFY.
Insertar registros: La sentencia INSERT permite añadir un registro en una posición específica y desplaza los demás.
Borrar registros: Con DELETE y condiciones, se pueden eliminar uno o varios registros.
Contar registros: DESCRIBE TABLE devuelve el número de registros almacenados.
Vaciar la tabla: REFRESH borra el contenido de la tabla interna, pero no la elimina.
Sentencias útiles de gestión de memoria y limpieza
CLEAR inicializa el área de trabajo/cabecera.
FREE libera el espacio utilizado por la tabla interna en memoria.
REFRESH borra el contenido, pero conserva la tabla interna propia.
Observaciones didácticas y recomendaciones
En el ejemplo práctico se muestra la utilización paso a paso de cada instrucción sobre tablas internas.
Destacan la importancia de la práctica y experimentación en debugging para comprender los cambios en los datos.