Foro de programación ABAP

SAP / ABAP => Programación ABAP => Mensaje iniciado por: abapito en 05 de Marzo de 2009, 06:47:07 pm

Título: Hacer un LOOP a la inversa
Publicado por: abapito en 05 de Marzo de 2009, 06:47:07 pm
Hola, tengo una tabla interna a la que quiero hacer un LOOP al revés.

Me explico un poco mas...

Imaginar que tengo la siguiente tabla:
Código: [Seleccionar]
hola
que
tal
estas

Y yo quiero leer la tabla justo a la inversa.... pero sin tener que añadir ningún campo a esta tabla interna. No puedo hacer un SORT porque me la descolocaría...
Código: [Seleccionar]
estas
tal
que
hola

Existe alguna instrucción en el LOOP para que se pueda hacer esto?

Muchas Gracias...


Título: Re: Hacer un LOOP a la inversa
Publicado por: bisonye en 06 de Marzo de 2009, 10:01:16 am
Pues yo creo que con un loop es imposible....

Lo que puedes hacer es crear tu propio loop. Tienes que conseguir el número de registros de la tabla y hacer lecturas consecutivas desde el último hasta el primero. Algo así:

Código: [Seleccionar]
describe table tu_tabla lines d_lineas.
while d_lineas > 0.
read table tu_tabla index d_lineas.
[i]proceso[/i]
d_lineas = d_lineas - 1.
endwhile.

Saludos
Título: Re: Hacer un LOOP a la inversa
Publicado por: abapito en 06 de Marzo de 2009, 10:28:53 am
 :D Muchas gracias, una idea muy buena.