✒️ABAP Tablas internas

Publicación Académica por Silvia Marina Carrizo

Publicación Académica creada y compartida por Silvia Carrizo para el tema Tablas internas.

Dentro del ámbito de estudios: Carrera Programador ABAP / Unidad 3: Diccionario de datos.

¿Buscás una carrera con Futuro?

ABAP Tablas internas por Silvia Carrizo

Tablas internas

Para guardar una coleccion de registros de datos de la misma estructura en memoria, sin necesidad de acceder a la base de datos y poder realizar diversas operaciones.

El limite de cantidad de registros está relacionada con lo limites especificados en la instalación del sistema.

Para

a. Almacenar temporalmente los datos para un procesamiento futuro.

b. Estructurar y formatear datos que se mostraran como salida de programa.

c. Formatear datos para ser utilizados por otros servicios.

2. Como se declara una tabla interna?

data: Begin of <tabla> Occrus <n>

<Def.Campo>

end of <Tabla>

La Cantidad de lineas que se especifican en occurs no limitan el tamaño de la tabla sino la cantidad de registros que se guardaran en memoria simultaneamente.

Occurs = 0 permite trabajar con tablas de gran cantidad de registros.

Otra forma de declarar la tabla sería

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.

Otra forma sin especificar area de trabajo o cabecera

Data: t_vuelos like Standard table of s_flight with header line.

3. llenado de una tabla interna

a. APPEND TO: añade un registro a la tabla interna en la ultima posicion con los valores que tengamos en el area de trabajo.

Clear wa_proveedores.

wa_proveedores-nombre = 'Ernesto'.

wa_proveedores-apellido = 'Villanueva'.

Append wa_proveedores to ti_proveedores.

b. Select llenamos la tabla interna con el contenido de la base de datos.

4. Ordenamiento de una tabla interna.

Sentencia Sort.

sort ti_proveedores by dni descending. // ascending e menor a mayor.

5. Procesamiento de una tabla interna

Para recorrer una tabla interna Loop-endloop.

loop at ti_proveedores into wa_proveedores

where not nombre is initial.

end loop.

si queremos declarar una tabla interna igual a otra

data: wa_proveedores like line of ti_proveedores.

6. Lectura de una tabla interna

Para leer un registro concreto Read Table

READ TABLE ti_proveedores INTO wa_proveedores

WITH KEY nombre = 'Ariel'.

Para leer los datos que se encuentran en una posicion particular se utilizará INDEX

READ TABLE ti_proveedores INTO wa_proveedores INDEX 1.

BINARY SEARCH en la sentencia READ TABLE hace que sea mas eficiente la busqueda.

Modificar un valor de la tabla interna

a. asignar al resto de los campos los mismos valores que posee y modificar el que deseamos.

b. Utilizar transporting

Modify ti_usuarios index idx from wa_usuarios

Transporting DNI.

7. Modificando una tabla interna

Sentencia Modify

wa_proveedores-dni = '24987500'

Modify ti_proveedores From wa_proveedores INDEX 1.

Insert

Para insertar un registro en una posicion determinada.

wa_proveedores-nombre = 'Marcelo'.

Insert wa_proveedores into ti_proveedores index 2.

Delete

para borrar el contenido de un registro.

DELETE ti_proveedores

where dni = '20857492'.

Refresh

para borrar todo el contenido de una tabla interna, pero no la tabla en si.

Refresh ti_proveedores.

DESCRIBE TABLE

Para saber cuantos registros tiene una tabla interna.

Data : v_lineas type i.

describe table ti_proveedores Lines v_lineas.

Clear ti_proveedores

para inicializar la cabecera de trabajo de la tabla interna

free ti_proveedores

Para liberar memoria que utilizo la tabla interna.

 

:: Al igual que Silvia ¿Usted está dispuesto a aprender ABAP?

El lunes 22 Julio 2019 comenzamos la 🎓Carrera Programador ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

✒️Más Publicaciones Académicas sobre Tecnología SAP

Buscador de Publicaciones:


 

Recursos Free:

Los mejores recursos Libres y Gratuitos compartidos con la comunidad: