Hola Venu,
tipos: BEGIN OF ty,
NOMBRE(20),
VENTAS TIPO I,
END OF ty.
data : itab tipo tabla estándar de ty,
itab1 tipo tabla estándar de ty,
wa tipo ty,
wa1 tipo ty.
wa-NOMBRE = 'Pato'. wa-VENTAS = 10.
añadir wa a itab.
wa-NOMBRE = 'Tigre'. wa-VENTAS = 20.
añadir wa a itab.
wa-NOMBRE = 'Pato'. wa-VENTAS = 30.
añadir wa a itab.
loop en itab en wa.
wa1 = wa.
recoger wa1 en itab1.
endloop.
loop en itab1 en wa1.
escribir : / wa1-nombre , wa1-ventas.
endloop.
COLLECT se utiliza para crear conjuntos de datos únicos o comprimidos. Los campos clave son los campos clave predeterminados de la tabla interna itab.
Si solo utilizas COLLECT para llenar una tabla interna, COLLECT se asegura de que la tabla interna no contenga dos entradas con los mismos campos clave predeterminados.
<b>Si, además de sus campos clave predeterminados, la tabla interna contiene campos numéricos (ver también tipos de números ABAP/4), el contenido de estos campos numéricos se suma si la tabla interna ya contiene una entrada con los mismos campos clave.</b>
Si la clave predeterminada de una tabla interna procesada con COLLECT está en blanco, todos los valores se suman en la primera línea de la tabla.
En el programa que mencionaste ayer, no puedo entender la lógica ya que muchas líneas están comentadas.