✒️ABAP Las tablas internas
ABAP Las tablas internas
LECCIÓN – 1: Tablas internas:
Tabla Interna – Es un objeto de datos que permite guardar en memoria grandes cantidades de registros de datos con la misma estructura y la cantidad máxima depende de la instalación del sistema.
El uso típico:
1. Almacenar temporalmente los datos de la base de datos para procesamiento futuro.
2. Estructurar y formatear datos a mostrar como salida del programa.
3. Formatear datos a ser utilizados por otros servicios.
Declaración de una tabla interna Ej:
DATA: BEGIN OF ti_proveedores OCCURS 0,
nombre(30) TYPE c,
apellido(30) TYPE c,
dni(8) TYPE c,
END OF ti_proveedores.
*------------------------------------------------------------------------------------------------
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.
*------------------------------------------------------------------------------------------------
DATA: ti_vuelos LIKE STANDARD TABLE OF sfligt WITH HEADER LINE.
Llenado de una tabla interna:
Se utiliza APPEND TO, Ej:
CLEAR wa_proveedores.
wa_proveedores-nombre = ‘Valentin’.
wa_proveedores-apellido = ‘Lopez’.
wa_proveedores-dni = ‘08659517’
APPEND wa_proveedores TO ti_proveedores.
Ordenamiento de una tabla interna:
Se utiliza SORT, Ej:
SORT ti_proveedores BY dni DESCENDING. ( o ASCENDING)
Procesamiento de una tabla interna:
Se utiliza LOOP-ENDLOOP, Ej:
LOOP AT ti_proveedores INTO wa_proveedores WHERE nombre IS INITIAL.
ENDLOOP.
Nota: Si deseamos declarar una estructura o área de trabajo de una tabla interna, Ej:
DATA: BEGIN OF ti_proveedores OCCURS 0,
nombre(30) TYPE c,
apellido(30) TYPE c,
dni(8) TYPE c,
END OF ti_proveedores.
* Declaramos el área de trabajo de la misma estructura de la tabla interna ti_proveedores
DATA: wa_proveedores LIKE LINE OFF ti_proveedores.
Lectura de una tabla interna:
Se utiliza READ TABLE, Ej:
READ TABLE ti_proveedores INTO wa_proveedores WITH KEY nombre = ‘Valentín’.
*---------------------------------------------------------------------------------------------------------
* Para leer un registro en una posición en particular
READ TABLE ti_proveedores INTO wa_proveedores INDEX 3.
Nota: Si agregamos la cláusula BINARY SEARCH hace la búsqueda más eficiente.
Modificar de una tabla interna:
1. Se utiliza MODIFY, Ej:
wa_proveedores-dni = ‘08659517’.
MODIFY ti_proveedores FROM INDEX 3.
2. Para agregar en una posición en especifico se utiliza INSERT, Ej:
wa_proveedores-nombre = ‘Valentin’.
wa_proveedores-apellido = ‘Lopez’.
wa_proveedores-dni = ‘08659517’
INSERT wa_proveedores INTO ti_proveedores INDEX 2
3. Para borrar un registro utilizamos DELETE, Ej:
DELETE ti_proveedores WHERE dni = ‘08659517’.
4. Para borrar todo el contenido de una tabla interna utilizamos REFRESH, Ej:
REFRESH ti_proveedores.
5. Para borrar todo el contenido de una tabla interna utilizamos REFRESH, Ej:
REFRESH ti_proveedores.
6. Para saber cuantos registros tiene una tabla interna utilizamos DESCRIBE TABLE, Ej:
DATA: v_lineas TYPE i.
DESCRIBE TABLE ti_proveedores LINES v_lineas.
7. CLEAR ti_proveedores – Inicializa cabecera de tabla interna
8. FREE ti_proveedores – Libera el espacio ocupado en memoria.
p { margin-bottom: 0.25cm; direction: ltr; color: #000000; line-height: 115%; orphans: 2; widows: 2; background: transparent } p.western { font-family: "Liberation Serif", "Times New Roman", serif; so-language: es-ES } p.cjk { font-family: "Noto Serif CJK SC"; so-language: zh-CN } p.ctl { font-family: "Lohit Devanagari"; so-language: hi-IN } a.sdfootnotesym-western { font-size: 10pt } a.sdfootnotesym-cjk { font-size: 10pt } a.sdendnotesym-western { font-size: 10pt } a.sdendnotesym-cjk { font-size: 10pt }
 
 
 
Sobre el autor
Publicación académica de José Valentín López Montilla, en su ámbito de estudios para la Carrera Consultor ABAP.
José Valentín López Montilla
Profesión: Ingeniero de Sistemas - Venezuela - Legajo: GT35M
✒️Autor de: 134 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Ingeniero de sistemas y magister scientiarum en ingeniería de software, con más de 30 años de experiencia en el área de tecnología de información, objetivo principal consultor sap abap
Certificación Académica de José López