#1
|
|||
|
|||
ALV: Cambiar nombres de cabeceras
Alguien sabe como cambiar los nombres de las cabeceras de ALV?
Muchisisimas gracias. Un saludo |
#2
|
|||
|
|||
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. |
#3
|
|||
|
|||
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 |
#4
|
|||
|
|||
puedes poner tu codigo abap para darle una revisado e indicarte exactamente lo q tienes q hacer...
Saludos |
#5
|
|||
|
|||
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 |
#6
|
|||
|
|||
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. |
#7
|
|||
|
|||
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. |
#8
|
|||
|
|||
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. |
#9
|
|||
|
|||
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. |
#10
|
|||
|
|||
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. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|