PDA

Ver la Versión Completa : ALV fieldcat


X200
03/12/10, 16:40:41
Hola, les cuento la siguiente duda que tengo acerca de un error que pasa con las workarea y la tabla del fieldcat. Al intentar activarlo me dice que le falta el header y que no hay ningun componente llamado fieldname y tabname. ¿Por que sucede esto? No logro ver el error.

Les pongo un ejemplo del codigo que he creado.

TYPES-POOLS slis.

*Defino el fieldcat y la work area.

DATA: gt_fieldcat TYPE slis_t_fieldcat,
wa_m TYPE slis_t_fieldcat.

...

START-OF-SELECTION.

...
perform init_fieldcat.


END-OF-SELECTION.


FORM init_fieldcat.

*Asigno los valores al workarea y luego hago el append.

wa_m-fieldname = 'CAMPO1'.
wa_m-ref_tabname = 'TABLA1'.
APPEND wa_m TO gt_fieldcat.
wa_m-fieldname = 'DOMC'.
wa_m-ref_tabname = 'TABLA1'.
APPEND wa_m TO gt_fieldcat.
CLEAR gt_fieldcat.

ENFORM.

PabloLiasco
03/12/10, 17:19:23
La work area la tenes que declarar asi:

DATA: wa_fieldcat type slis_fieldcat_alv.

De la manera en que la estas declarando es como un tipo tabla, asi es una estructura.

X200
03/12/10, 17:24:33
Ah ya entendi, el nombre tambien lo indica por eso esta la "t" y se llama fieldcat_t_alv. Gracias por tu respuesta.

Saludos

mysmb2
03/12/10, 17:26:38
slis_t_fieldcat es un tipo tabla, no podes definir un WA con este tipo. Si no recuerdo mal es slis_fieldcat. quedaria algo asi

DATA: gt_fieldcat TYPE slis_t_fieldcat,
wa_m TYPE slis_fieldcat.

Saludos.