PDA

Ver la Versión Completa : Nombre Columnas Alv


MADSAP
03/06/08, 13:09:32
Hola, tengo una duda acerca de la programación en ALV.

Tengo un report al cual le he colocado un ALV, pero no se como cambiar el nombre de las columnas de report. Me aparece el nombre (descripción) de los campos/tablas declaradas en mi report.

¿Cómo puedo cambiar el nombre de las columnas de mi report?

Espero haberme explicado bien.

Gracias de antemano.

paraujo
03/06/08, 13:36:27
En la rutina donde se definen los campos para el ALV con la instrucción COLTEXT, por ejemplo:

ls_fcat-fieldname = 'CARRID' .
ls_fcat-inttype = 'C' .
ls_fcat-outputlen = '3' .
ls_fcat-coltext = 'Carrier ID' .
ls_fcat-seltext = 'Carrier ID' .
APPEND ls_fcat to pt_fieldcat .

Espero te ayude.
Sds. :o

MADSAP
03/06/08, 14:55:06
La verdad es que no me sale. El código que me has puesto es uno de los paramétros que le debo pasar a la función???

Gracias

azua14
03/06/08, 15:41:16
Bueno...debes pasarle el fieldcat..ya sea que uses un list_display o un grid _display

CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = g_repid
i_callback_pf_status_set = g_status
i_callback_user_command = g_user_command
it_fieldcat = gt_fieldcat[]
TABLES
t_outtab = gt_outtab.

A mi como me da lata definir el catalogo campo por campo uso esta funcion..

CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = g_repid
i_internal_tabname = g_tabname
i_structure_name = 'ZMERMXMOV'
i_client_never_display = 'X'
CHANGING
ct_fieldcat = rt_fieldcat.

y de ahi modifico lo que deseo modificar..por ejemplo...


LOOP AT rt_fieldcat INTO ls_fieldcat.

CASE ls_fieldcat-fieldname.

WHEN 'TIPOCTA'.
ls_fieldcat-reptext_ddic = 'CUENTA'.
ls_fieldcat-seltext_s = ls_fieldcat-reptext_ddic.
ls_fieldcat-seltext_m = ls_fieldcat-reptext_ddic.
ls_fieldcat-seltext_l = ls_fieldcat-reptext_ddic.
MODIFY rt_fieldcat FROM ls_fieldcat.
...
...
...
WHEN 'CLAVE'.
ls_fieldcat-no_out = 'X'.
MODIFY rt_fieldcat FROM ls_fieldcat.


ENDCASE.
ENDLOOP.