Está en la página 1de 5

Consultor SAP ABAP Nivel 1

Clase: 01.07
Técnicas avanzadas con tablas internas

Técnicas avanzadas con Tablas internas

Obje vos de esta sección

 Reconozca el operador [] para referir el contenido de la tabla y


utilícelo para probar la existencia de datos en una tabla interna y
para comparar
 Contenidos de dos tablas internas para la igualdad.
 Determine el número de filas en una tabla interna usando la
instrucción describe y la variable de ambiente sy-tfill
 Copie los contenidos de una tabla interna a otra utilizando el
operador [] y usando las sentencias append lines e insert lines .
 Use las declaraciones insert y modify para cambiar el contenido
tabla interna
 Eliminar filas de una tabla interna usando las sentencias delete,
delete ... where, delete, clear it[], refresh y free.
 Llene una tabla interna usando la sentencia append y collect

Probando y modificando el contenido de tablas internas

Utilice las siguientes sentencias para probar y modificar el contenido de las


tablas internas:

Recopilado por: Juan Ríos-Villasmil Página: 1 / 5


Consultor SAP ABAP
Consultor SAP ABAP Nivel 1
Clase: 01.07
Técnicas avanzadas con tablas internas

 El operado []
 describe table
 append lines
 insert lines
 insert
 modify
 free
 delete
 clear
 refresh
 append
 collect

El cuerpo de una tabla interna está representado por la sintaxis it[], donde it
es el nombre de cualquier tabla interna. it[] significa "el cuerpo de la tabla interna".
No puede haber nada entre los corchetes; deben escribirse exactamente como se
muestra. Puede utilizar esta sintaxis para realizar operaciones de tabla eficientes
que no requieren el uso de una línea de encabezado.

Si una tabla interna no tiene una línea de encabezado, el propio nombre de


la tabla interna representa el cuerpo. Por ejemplo, si la tabla interna it no tiene una
línea de encabezado, puede usar it[] o it para representar el cuerpo; son
equivalentes.

Recopilado por: Juan Ríos-Villasmil Página: 2 / 5


Consultor SAP ABAP
Consultor SAP ABAP Nivel 1
Clase: 01.07
Técnicas avanzadas con tablas internas

Obteniendo información sobre una tabla interna

Puede obtener la siguiente información comúnmente necesaria sobre una


tabla interna:

 Si la tabla interna contiene datos.


 Cuantas filas contiene

Determinar si una tabla interna está vacía

Si el cuerpo de una tabla interna solo contiene valores iniciales (espacios en


blanco y espacios), está vacío.

Por lo tanto, para determinar si una tabla interna contiene filas, pruebe
usando la siguiente declaración:

if it[] is ini al.

Si la prueba resulta verdadera (true), la tabla interna está vacía. Cuando es falso
(false), contiene al menos una fila.

Determinando el número de filas en una tabla interna

Para determinar el número de filas en una tabla interna, use la variable sy-tfill. Se
establece mediante la declaración "describe table".

Recopilado por: Juan Ríos-Villasmil Página: 3 / 5


Consultor SAP ABAP
Consultor SAP ABAP Nivel 1
Clase: 01.07
Técnicas avanzadas con tablas internas

Sintaxis para la sentencia describe table

La siguiente es la sentencia para describe table

describe table it [lines i] [occurs j].

Donde:

 It es el nombre de la table interna


 I y j son variables numéricos

Esta declaración llena las tres variables del sistema que se muestran en la
siguiente tabla:

Variable Valor

sy- ill Numero de filas

sy-tleng Tamaño de una fila en bytes

sy-toccu Valor actual de la cláusula "occurs"

Los siguientes son los puntos:

 Si la adición lines i se especifica, el número de filas es colocado en


ambas variables sy-tfill y i.
 Si la adicción occurs j se especifica, el tamaño de la cláusula
occurs es colocado en las variables sy-toccu y j

Recopilado por: Juan Ríos-Villasmil Página: 4 / 5


Consultor SAP ABAP
Consultor SAP ABAP Nivel 1
Clase: 01.07
Técnicas avanzadas con tablas internas

Listado 1.7.1: Programa de ejemplo que obtiene información sobre una tabla interna

1 report ztx010701.
2 data: begin of it occurs 3,
3 f1 value 'X',
4 end of it,
5 n type i.
6
7 if it[] is ini al.
8 write: / 'Esta vacio'.
9 endif.
10
11 append: it, it, it. "Usando los : 'append it' 3 tres veces.
12
13 if not it[] is ini al.
14 write: / 'No esta vacío'.
15 endif.
16
17 write: / 'Numero de filas desde: sy-tabix:', sy-tabix.
18 describe table it lines n.
19 write: / 'Numero de filas desde: sy- ill:', sy- ill,
20 / 'tamaño de las fila desde: sy-tleng:', sy-tleng,
21 / 'occurs value from sy-toccu:', sy-toccu.

Recopilado por: Juan Ríos-Villasmil Página: 5 / 5


Consultor SAP ABAP

También podría gustarte