PDA

Ver la Versión Completa : Loop. Endloop.


lolita
07/05/09, 14:34:40
Hola a todos,
me acabo de encontrar con esta iteración en un código estandar:
LOOP.
{INSTRUCCIONES}
ENDLOOP.

¿Alguien sabe como se ejecuta este tipo de loops :confused: ?.

Saludos.

Mike
07/05/09, 14:41:27
Ese tipo de Loop es para procesar conjunto de datos generados por Extractos.
Revisa la documentacion de Loop y alli encontraras informacion, tambien revisa la documentacion de EXTRACT.

Saludos

lolita
07/05/09, 14:45:19
Hola Mike.
Gracias por contestar, lo que pasa que ya he mirado la ayuda que aparece sobre esto y no me ha quedado claro, por si alguien me lo pudiera explicar un poco mejor.

stormshadow
07/05/09, 14:59:56
Pues mira,por ejemplo al loopear una tabla interna lo que estas haciendo es ir recorriendo todos los registros que tienes dentro de susodicha, ya depende de que es lo que quieras hacer, por ejemplo buscar un registro, sumar etc.
Espero no haberte dejado peor :o

DavidXD_XD
07/05/09, 16:55:50
Hola lolita, si deseas obtener mejor informacion y ejemplos muy sencillos para poderlos entender entra a la transaccion ABAPDOCU y anda a la siguiente ruta:

Documentacion ABAP y ejemplos->BC - Programacion ABAP ->Lenguaje de Programacion ABAP -> Tratamiento de sets de datos extensos -> Extractos

Espero te pueda ayudar :D

abaper_biz
07/05/09, 16:56:34
Hola. la sentencia Loop permite leer registros de una tabla interna. ejemplo

tengo la tabla interna: gtd_datos
data: begin of gtd_datos occurs 0,
nombre (20) type c,
apellido(20) type c,
direccion(40)type c,
end of gtd_datos.

data: v_salida(80) type c.

*llenar la tabla con estos registros
*nombre | apellido |direccion
*-------------------------
*abcde | apellido1 |direccion1
*fghijkl | apellido2 |direccion2
*mnop | apellido3 |direccion3

*entonces leemos:

loop at gtd_datos.
concatenate gtd_datos-nombre gtd_datos-apellido gtd_datosdireccion into v_salida separated by space.
write:/ v_salida.
endloop.

este es un ejemplo sencillo. para ver mejor la funcionalidad de las sentencias abap... puedes debuggear el programa con (/H).

Espero te ayude.

DavidXD_XD
07/05/09, 16:59:34
Hola d nuevo, por fa leer bien el problema de nuestra amiga, si ven el problema es entender el funcionamiento de un extracto de datos

LOOP.
...
ENDLOOP.

Dejo recalcado el ejemplo que puede ayudar: Transaccion ABAPDOCU

Documentacion ABAP y ejemplos->BC - Programacion ABAP ->Lenguaje de Programacion ABAP -> Tratamiento de sets de datos extensos -> Extractos

Hola. la sentencia Loop permite leer registros de una tabla interna. ejemplo

tengo la tabla interna: gtd_datos
data: begin of gtd_datos occurs 0,
nombre (20) type c,
apellido(20) type c,
direccion(40)type c,
end of gtd_datos.

data: v_salida(80) type c.

*llenar la tabla con estos registros
*nombre | apellido |direccion
*-------------------------
*abcde | apellido1 |direccion1
*fghijkl | apellido2 |direccion2
*mnop | apellido3 |direccion3

*entonces leemos:

loop at gtd_datos.
concatenate gtd_datos-nombre gtd_datos-apellido gtd_datosdireccion into v_salida separated by space.
write:/ v_salida.
endloop.

este es un ejemplo sencillo. para ver mejor la funcionalidad de las sentencias abap... puedes debuggear el programa con (/H).

Espero te ayude.

abaper_biz
07/05/09, 17:37:21
Hola d nuevo, por fa leer bien el problema de nuestra amiga, si ven el problema es entender el funcionamiento de un extracto de datos

LOOP.
...
ENDLOOP.

Dejo recalcado el ejemplo que puede ayudar: Transaccion ABAPDOCU

Documentacion ABAP y ejemplos->BC - Programacion ABAP ->Lenguaje de Programacion ABAP -> Tratamiento de sets de datos extensos -> Extractos

David tiene razon, disculpen por la confusión, pues se trata de un extracto de datos. no de una simple ejecucion de loop a tabla interna.:eek:

Michel1069
01/02/16, 20:54:17
Crear una tabla interna con los campos de ambas tablas que necesitas mostrar. Luego haces loops por cada tabla, poblando tu tabla interna y finalmente esta tabla interna se la pasas al ALV.

sirve para llenar un alv con datos de varias tablas,,,,m pueden dar un ejemplito sencillo de esto