MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   ALV: Cambiar nombres de cabeceras (foro/showthread.php?t=10386)

yerotos 21/01/08 12:21:15

ALV: Cambiar nombres de cabeceras
 
Alguien sabe como cambiar los nombres de las cabeceras de ALV?

Muchisisimas gracias.

Un saludo

:o

ibecerra 21/01/08 12:41:15

Fijate en este codigo
add 1 to ncol.
CLEAR gt_fieldcat.
gt_fieldcat-row_pos = nrow.
gt_fieldcat-col_pos = ncol.
gt_fieldcat-tabname = CABECERA.
gt_fieldcat-fieldname = 'AUFNR'.
gt_fieldcat-seltext_l = text-T01. ---> aqui se cambia la cabecera
gt_fieldcat-seltext_m = text-T01. ---> o
gt_fieldcat-seltext_s = text-T01.
gt_fieldcat-outputlen = 12.
APPEND gt_fieldcat.

yerotos 21/01/08 12:51:53


Muchas gracias, pero no todavia estoy muy verde en esto. Podrías extenderte un poco mas.

Yo tengo esta tabla:

it_tabla

y cuando la mando al ALV, en el campo EDAD que es int2, me pone en la cabecera de esa columna INT2. Como y donde hago el cambio de "INT2" a "EDAD NIE"

Muchisimas gracias

ibecerra 21/01/08 12:55:15

puedes poner tu codigo abap para darle una revisado e indicarte exactamente lo q tienes q hacer...
Saludos

yerotos 21/01/08 13:11:42


Te pongo un "resumen" de mi código:


DATA it_zt7ehs00_cardio TYPE STANDARD TABLE OF zt7ehs00_cardio.

START-OF-SELECTION.

SELECT * FROM zt7ehs00_cardio INTO TABLE it_zt7ehs00_cardio.

LOOP AT it_zt7ehs00_cardio INTO wa_zt7ehs00_cardio.

"-- Buscamos los puntos según la edad
SELECT SINGLE points FROM zt7ehs_ries_edad
INTO wa_zt7ehs00_cardio-puntos_edad
WHERE limit_low <= wa_zt7ehs00_cardio-edad
AND limit_high > wa_zt7ehs00_cardio-edad.

MODIFY zt7ehs00_cardio FROM wa_zt7ehs00_cardio.

PERFORM load_data_into_grid.

SET SCREEN 100.
endloop
END-OF-SELECTION.



FORM load_data_into_grid .
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = contenedor.

CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
i_structure_name = 'ZT7EHS00_CARDIO'(002)
CHANGING
it_outtab = it_zt7ehs00_cardio.
"it_fieldcatalog = P_prue_fieldcat.
ENDFORM. " load_data_into_grid




GRACIAS

ibecerra 21/01/08 13:22:43

OK.. Mira te falta esto

* Inicializar el Layout
******************************************
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'TI_ZTFACTRET'
is_layout = gs_layout
is_variant = gs_variant
i_save = ''
i_default = 'X'
it_toolbar_excluding = lt_toolbar_excluding
CHANGING
it_outtab = TI_ZTFACTRET[]
it_fieldcatalog = gt_fieldcat
************************************************
donde:
CHANGING
it_outtab = TI_ZTFACTRET[]
it_fieldcatalog = gt_fieldcat. ---> aqui es la estructura donde pones la cabecera

y asi es como llenas los datos de la cabecera
la declaracion es la siguiente
data: gt_fieldcat type lvc_t_fcat.
data: gs_fieldcat type lvc_s_fcat.

FORM fill_catalog.
DATA: l_tabname LIKE gs_fieldcat-tabname.
l_tabname = 'TI_ZTFACTRET'.
data ncol type i.
*-Presentacion de Detalle de la Compra
CLEAR gt_fieldcat. REFRESH gt_fieldcat.

CLEAR gt_fieldcat.
gs_fieldcat-row_pos = nrow.
gs_fieldcat-col_pos = ncol.
gs_fieldcat-tabname = CABECERA.
gs_fieldcat-fieldname = 'AUFNR'.
gs_fieldcat-seltext_l = 'xxxxxx' ---> aqui se cambia la cabecera
gs_fieldcat-seltext_m = 'xxxxxx' ---> o
gs_fieldcat-seltext_s = 'xxxxxx'.
gs_fieldcat-outputlen = 12.


APPEND gs_fieldcat TO gt_fieldcat.

CLEAR gs_fieldcat.
add 1 to ncol.
gs_fieldcat-fieldname = 'ICON'.
gs_fieldcat-tabname = l_tabname.
gs_fieldcat-coltext = 'Estado.'.
gs_fieldcat-col_pos = ncol.
gs_fieldcat-fix_column = 'X'.
gs_fieldcat-icon = 'X'.
APPEND gs_fieldcat TO gt_fieldcat.
CLEAR gs_fieldcat.
add 1 to ncol.
gs_fieldcat-tabname = l_tabname.
gs_fieldcat-col_pos = ncol.
gs_fieldcat-fix_column = 'X'.
gs_fieldcat-fieldname = 'GJAHR'.
gs_fieldcat-coltext = text-T02.
gs_fieldcat-ref_table = 'ZTFCONSTDET'.
APPEND gs_fieldcat TO gt_fieldcat.


yerotos 21/01/08 13:37:37



Sería mucho pedir que me lo adaptaras a mi codigo? Siento ser tan pesado pero es que no consigo que me lo haga bien.

El tema es que kiero q el campo edad de mi tabla IT_zt7ehs00_cardio en lugar de poner en la cabecera del alv INT2 (q es el tipo de datos de mi campo) ponga "EDAD"

Si no puedes, te agradezco mucho de todas formas tu atención.

Un saludo.

danny 21/01/08 16:33:58

DATA: it_zt7ehs00_cardio TYPE STANDARD TABLE OF zt7ehs00_cardio.


START-OF-SELECTION.

SELECT * FROM zt7ehs00_cardio INTO TABLE it_zt7ehs00_cardio.

LOOP AT it_zt7ehs00_cardio INTO wa_zt7ehs00_cardio.

"-- Buscamos los puntos según la edad
SELECT SINGLE points FROM zt7ehs_ries_edad
INTO wa_zt7ehs00_cardio-puntos_edad
WHERE limit_low <= wa_zt7ehs00_cardio-edad
AND limit_high > wa_zt7ehs00_cardio-edad.

MODIFY zt7ehs00_cardio FROM wa_zt7ehs00_cardio.

PERFORM CARGA_ALV----CARGA TU ESTRUCTURA `PARA EL ALV
PERFORM load_data_into_grid.

SET SCREEN 100.
endloop
END-OF-SELECTION.



FORM load_data_into_grid .
CREATE OBJECT gr_alvgrid
EXPORTING
i_parent = contenedor.

CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
i_default = 'X'
CHANGING
it_outtab = it_zt7ehs00_cardio.
it_fieldcatalog = P_prue_fieldcat.
ENDFORM. " load_data_into_grid

FORM CARGA_ALV.

* se supone k lo declaraste asi: P_prue_fieldcat TYPE lvc_t_fcat WITH HEADER LINE.


Refresh P_prue_fieldcat.
CLEAR P_prue_fieldcat.
P_prue_fieldcat-fieldname = 'EDAD'.
P_prue_fieldcat-coltext = 'Edad'.
P_prue_fieldcat-outputlen = 6.
APPEND P_prue_fieldcat.

*asi lo haces para todos los campos de tu temporal it_zt7ehs00_cardio



ENDFORM.

yerotos 22/01/08 08:18:39


1 millon de gracias a los 2.
He adapatado el codigo a mi programa y al compilarlo me dice que el campo IT_FIELDCATALOG es desconocido. Como ten go que declarar esta tabla, yo pensaba q era publica con el metodo.

yerotos 22/01/08 08:47:16

Ups, ya se lo que era, era que había puesto un punto donde no debía, lo siento...

Ahora el mensaje que me da es:
"P_PRUE_FIELDCAT" is not type-compatible with formal parameter "IT_FIELDCATALOG".

Tengo P_PRUE_FIELDCAT declarado como tabla con header line.


Husos Horarios son GMT. La hora en este momento es 14:39:52.

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