PDA

Ver la Versión Completa : Field Symbols?


Bmamba
22/12/08, 11:30:35
Hola,

Acabo de terminar un programa, hay una parte que sé que se puede implementar mejor, pero no sé cómo:
loop at it_alv into wa_alv.
...
case l_num_cir.
when 0.
wa_alv_v-campoa0= wa_alv-campoa.
wa_alv_v-campob0 = wa_alv-campob.
wa_alv_v-campoc0 = wa_alv-campoc.
when 1.
...
when 10.

wa_alv_v-campoa10= wa_alv-campoa.
wa_alv_v-campob10 = wa_alv-campob.
wa_alv_v-campoc10 = wa_alv-campoc.
endcase.
endloop.

Me suena que utilizando fieldsymbols se puede llegar a una solución más elegante y no tan chapucera como ésta. ¿Alguien sabe cómo?

Gracias por anticipado

DavidXD_XD
22/12/08, 14:15:50
Aver de esta manera

FIELD-SYMBOLS: <fs>.
DATA: num TYPE string,
cadena(17).

LOOP AT it_alv into wa_alv.
num = l_num_cir.
* Campo a
CONCATENATE 'wa_alv_v-campo' 'a' num INTO cadena.
ASSIGN (cadena) TO <fs>.
<fs> = wa_alv-campoa.
* Campo b
CONCATENATE 'wa_alv_v-campo' 'b' num INTO cadena.
ASSIGN (cadena) TO <fs>.
<fs> = wa_alv-campob.
* Campo c
CONCATENATE 'wa_alv_v-campo' 'c' num INTO cadena.
ASSIGN (cadena) TO <fs>.
<fs> = wa_alv-campoc.
MODIFY it_alv FROM wa_alv.
ENDLOOP.

Estoy 99% seguro q esa es la forma dinamica de asignar valores ... no tengo SAP, si me ekivici por favor corregirme, espero te pueda servir :D

Bmamba
23/12/08, 11:04:41
muchas gracias! tiene una pinta fenomenal.

Saludos:)