MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Tabla interna con campo tipo tabla (foro/showthread.php?t=66226)

sponsor 20/02/13 09:21:12

Tabla interna con campo tipo tabla
 
Buenas compañeros, tengo declarado un tipo para una tabla interna en la que uno de los campos de ese tipo es una tabla.

Ejemplo declaracion tipo:

TYPES: BEGIN OF t_alv_log,

icon LIKE icon-id,
bukrs LIKE bsik-bukrs, "Socientat
gjahr LIKE bsik-gjahr, "Exercici
belnr LIKE bsik-belnr, "Número de document
msg TYPE char100,

END OF t_alv_log.

* Tabla con campo tipo tabla
TYPES: BEGIN OF t_rec2,

tabla type t_alv_log OCCURS 0,
usu_p LIKE zfit_044-usu_p,
usu_r LIKE zfit_044-usu_p,
bukrs_f TYPE zfit_044-bukrs,
gjahr_f LIKE zfit_044-gjahr,
belnr_f LIKE zfit_044-belnr,
bukrs_manament LIKE bkpf-bukrs,
lotkz_manament LIKE bkpf-lotkz,
buzei_manament LIKE bseg-buzei,
estat(2),
canvi_territori,

END OF t_rec2.

Bueno pues esto compila y funciona, el problema está cuando le quiero asignar un valo a uno de los campos del campo tipo tabla.

Por ejemplo:
i_tabla-tabla-icon , esto no me funciona. Como es la sintaxis para acceder al campo icon?

Espero haberme explicado bien.

Gracias.

Melandry 20/02/13 11:23:53

Hola:
Tendrás q hacer algo similar a esto:
DATA: wa_tabla type t_alv_log.
LOOP AT i_tabla.
LOOP AT i_tabla-tabla INTO wa_tabla.
wa_tabla-icon = 'valor'.
MODIFY i_tabla-tabla FROM wa_tabla.
ENDLOOP.
MODIFY i_tabla.
ENDLOOP.

o con:

FIELD-SYMBOLS: <fs_tabla> TYPE t_alv_log.
LOOP AT i_tabla.
LOOP AT i_tabla-tabla ASSIGNING <fs_tabla>.
<fs_tabla>-icon = 'valor'.
ENDLOOP.
MODIFY i_tabla.
ENDLOOP.

Espero te sirva.


Husos Horarios son GMT. La hora en este momento es 11:00:11.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web