Autor Tema: LOOP a una tabla interna sin cabecera a traves de un Work-Area  (Leído 33484 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado molaci

  • Usuario Sr.
  • ****
  • Mensajes: 113
    • Ver Perfil
LOOP a una tabla interna sin cabecera a traves de un Work-Area
« 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

Desconectado mariano_glc

  • Novato
  • *
  • Mensajes: 7
    • Ver Perfil
Re: LOOP a una tabla interna sin cabecera a traves de un Work-Area
« Respuesta #1 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.


Desconectado nacho_jimf

  • Novato
  • *
  • Mensajes: 6
    • Ver Perfil
Re: LOOP a una tabla interna sin cabecera a traves de un Work-Area
« Respuesta #2 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.