Foro de programación ABAP

Código abierto => Varios => Mensaje iniciado por: molaci en 20 de Diciembre de 2007, 01:25:37 pm

Título: LOOP a una tabla interna sin cabecera a traves de un Work-Area
Publicado por: molaci en 20 de Diciembre de 2007, 01:25:37 pm
Seguro que a alguno que se esta iniciando el abap como yo le viene bien saber esto.

Como siempre pasa, una vez que se sabe es muy sencillo, pero hasta que no me lo dijo un compañero me volvía loco para ver como podía hacer un LOOP a una tabla interna sin cabecera.

* Tienes que crearte un work area con la misma estructura que la tabla sin cabecera.
Código: [Seleccionar]
DATA: wa_xxxxx LIKE tabla_sin_cabecera WITH HEADER LINE.      

* Luego al hacer el Loop lo haces de esta forma
Código: [Seleccionar]
LOOP AT tabla_sin_cabecera INTO wa_xxxxx.
*** Dentro mueves los datos del wa_xxxxx a donde quieras.
ENDLOOP.

 :P
Título: Re: LOOP a una tabla interna sin cabecera a traves de un Work-Area
Publicado por: mariano_glc en 18 de Enero de 2008, 01:32:02 pm
Hola, Esta bien... peron no es necesario el With header line en la wa_xxxxxx

solo DATA: wa_xxxx like tipo.

Título: Re: LOOP a una tabla interna sin cabecera a traves de un Work-Area
Publicado por: nacho_jimf en 14 de Marzo de 2008, 02:38:43 pm
Buenas tardes,

Si quieres tambien cuidar el rendimiento de tu report te puedes declarar un field-symbol del tipo de la tabla y en el loop hacer una asignacion.

data:
t_data type standard table of sfly.

field-symbols:
 <fs> type t_data.

loop at t_data assigning <fs>.
  ...
endloop.

Con esto lo que hacemos al modificar el <fs> es modificar el contenido de la tabla, y asi no tendremos que hacer modify o append o la funcion que necesiteis.

Un saludo.