✒️ABAP Las tablas internas
ABAP Las tablas internas
Diccionario de Datos: El diccionario de datos ABAP, se utiliza principalmente para administrar las definiciones de datos, dar soporte al desarrollo del software y documentación, asegurar la integridad de la información en el sistema, entre otros.
1. Tablas internas: Son objetos de datos para almacenar grandes cantidades de registros de datos en memoria con la misma estructura.
Su uso:
- Almacenar temporalmente los datos de las BD para su posterior procesamiento.
- Estructurar y formatear datos que se mostraran como salida.
- Formatear datos que van a ser usados por otros servicios.
2. Declaración de Tablas internas: Se define una tabla interna con <n> lineas en memoria más una línea de cabecera. Por lo general <n> es cero para no limitar el tamaño.
La sintaxis es: DATA: BEGIN OF <tabla> OCCURS <n>, <Def,Campo>, END OF <tabla>
Ejemplo:
- DATA: BEGIN OF ti_proveedores OCCURS 0,
nombre(30) TYPE c,
apellido(30) TYPE c,
dni(8) TYPE c,
END OF ti_proveedores.
Otra forma de declarar es:
- DATA: BEGIN OF wa_proveedores,
nombre(30) TYPE c,
apellido(30) TYPE c,
dni(8) TYPE c,
END OF wa_proveedores.
DATA: ti_proveedores LIKE STANDARD TABLE OF wa_proveedores.
Para crear una Tabla Interna con la estructura de la cabecera de la misma tabla interna:
- DATA: ti_vuelos LIKE STANDARD TABLE OF SFFLY WHERE HEADING LINE.
3. Llenado de una Tabla interna: Se utiliza:
- APPEND TO: Se añade un registro en la tabla interna en la última posición, de acuerdo a la estructura que tenemos en el área de trabajo.
Ejemplo:
CLEAR wa_proveedores.
wa.proveedores-nombre = 'Miguel'.
wa.proveedores-apellido = 'Castro'.
wa.proveedores-dni = '8888333
APPEND wa_proveedores TO ti_proveedores.
- SELECT: También se usa para llenar una tabla interna.
4. Ordenamiento de una Tabla interna: Se utiliza:
- SORT ti_proveedores BY dni DESCENDING.
5. Procesamiento de una Tabla interna: Para recorrer y procesar una tabla interna se utiliza:
- LOOP AT ti_proveedores INTO wa_proveedores WHERE NOT nombre IS INITIAL.
6. Lectura de una Tabla interna: Se realiza un acceso directo con la sentencia READ TABLE, de la siguiente forma:
- READ TABLE ti_proveedores INTO wa_proveedores WITH KEY nombre = 'Miguel'. Cuando se encuentra el registro, la variable SY-SUBRC = 0. También podemos hacer la busqueda con el INDEX cuando tenemos el valor es éste. Se utiliza el agregado de la clausula BINARY SEARCH.
7. Modificación de una Tabla interna: Se utilizan las sentencias MODIFY, INSERT, DELETE de la siguiente forma:
- Después de asignar los valores a actualizar:
- Para Modificar: MODIFY ti_proveedores FROM wa_proveedores INDEX <n>.
- Para Insertar: INSERT wa_proveedores INTO ti_proveedores INDEX <n>.
- Para Borrar: DELETE ti_proveedores WHERE dni = '999888777'.
- Para Borrar todo: REFRESH ti_proveedores.
Nota: Para saber la cantidad de registros en una tabla, se declara la variable v_lineas de tipo i y se utiliza la sentencia DESCRIBE TABLE ti_proveedores LINES v_lineas.
Creado OK
 
 
 
Sobre el autor
Publicación académica de Miguel Angel Castro Lima, en su ámbito de estudios para la Carrera Consultor ABAP.
Miguel Angel Castro Lima
Profesión: Analista Programador de Sistemas - Venezuela - Legajo: XD60H
✒️Autor de: 28 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Avanzado
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial
Presentación:
Consultorías, análisis y programación en sistemas con más de 30 años de experiencia
Certificación Académica de Miguel Castro