✒️ABAP - Tablas internas

ABAP Tablas internas

TABLAS INTERNAS

Es un objeto de datos que permite guardar en memoria grandes cantidades de registro de datos con la misma estructura.

uso tipico:

  • Almacenamiento temporal de datos para procesamiento futuro
  • Estructurar y formatear datos que se mostrarán como salida del programa
  • Formatear datos a ser usado por otros servicios

DECLARACION, hay 2 formas

DATA: BEGIN OF <nombre_tabla> OCCURS 0,

campo(x) TYPE c,

campo2(y) TYPE c,

END OF < nombre_tabla>.

*OCCURS indica la cantidad de registros que se guardarán en memoria, no limita el tamaño de la tabla, si se pone 0 es indefinido

DATA: BEGIN OF <nombre_estruc>,

campo1(x) TYPE c,

campo2(y) TYPE c,

END OF <nombre_estruc>.

DATA: <tabla_nombre> LIKE STANDARD TABLE OF <nombre_estruc>

LLENADO DE UNA TABLA INTERNA

Con la sentencia APPEND TO , añade un registro a la tabla interna en su ultima posición con los valores que se tengan en el area de trabajo

APPEND <variable tipo estructura> TO <Tabla interna>

También se puede llenar una tabla interna con el contenido de una base de datos , usando la sentencia SELECT

ORDENAMIENTO

SORT <Tabla_interna> BY campo DESCENDING.

PROCESAMIENTO

Se recorre una tabla interna con la sentencia LOOP-ENDLOOP

LOOP AT <tabla_interna> INTO <var_estruct>

WHERE NOT campo1 IS INITIAL.

ENDLOOP.

*Se puede verificar , el resultado del WHERE con SY-SUBRC, sino cumple la condición es <>0

LECTURA DE UNA TABLA

Usando la sentencia READ TABLE sin necesidad de recorrerla

READ TABLE <nombre_tabla> INTO <var_estruct>

WITH KEY <campo> = 'Juan'.

Para leer los datos en una posición particular se usa la Clausula INDEX

READ TABLE <nombre_tabla> INTO <var_estruct> INDEX <posic.>

* La cláusula BINARY SEARCH hace que la búsqueda sea mucho más eficiente

MODIFICANDO UNA TABLA INTERNA

Para modificar un registro de la tabla interna:

MODIFY <nombre_tabla> FROM <var_estruct> INDEX <posic>.

EJ: wa_clientes-nombre = 'Juan'

MODIFY ti_clientes FROM wa_clientes index 1.

Para insertar un registro en una posición determinada de una tabla interna:

INSERT <var_estruc> INTO <nombre_tabla> INDEX <posic>.

Para borrar el contenido de un registro de una tabla interna:

DELETE <nombre_tabla> WHERE campo = 'valor''.

Para borrar todo el contenido de una tabla interna o inicializarla :

REFRESH <nombre_tabla>.

OTRAS INSTRUCCIONES

CLEAR <Area de trabajo o cabecera> " para inicializar

FREE <Area de trabajo o cabecera> " para liberar el espacio ocupado por una tabla interna en memoria

REFRESH " Borrará el contenido de la tabla y no la tabla en sí


Sobre el autor

Publicación académica de Widen Boris Horacio Nogales, en su ámbito de estudios para la Carrera Programador ABAP.

SAP Senior

Widen Boris Horacio Nogales

Profesión: Ingeniero de Sistemas - Bolivia - Legajo: PQ81E

✒️Autor de: 26 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Ingeniero de sistemas con experiencia en implementación de sistemas erp, administración y soporte erps como sap bussines one, implementación soluciones bi , conocimientos de contabilidad .

Certificación Académica de Widen Horacio

 

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

El lunes 21 Junio 2021 comenzamos la 🎓Carrera Programador ABAP.
Juntos para realizar sus más grandes desafíos!

 Cargando presentación, aguarde unos instantes...

 

 

+Recursos Gratuitos en CVOSOFT:

¡Lo importante es aprender!, por eso en CVOSOFT la comunidad SAP más grande de habla hispana, ponemos a su alcance los siguientes recursos abiertos libres y gratuitos:

Buscador de Publicaciones:

 

 

Consultas y Soporte

👋Hola! ¿Podemos ayudarle con su plan de estudios?

Estamos listos para darle el soporte que su carrera merece mediante un asesoramiento especializado.

Acceda sección contacto y seleccione canal de comunicación más cómodo para usted.

🤝Aguardamos su contacto, Éxitos!