MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 21/01/08, 12:21:15
yerotos yerotos is offline
Member
 
Fecha de Ingreso: nov 2007
Mensajes: 39
ALV: Cambiar nombres de cabeceras

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

Muchisisimas gracias.

Un saludo

Responder Con Cita
  #2  
Viejo 21/01/08, 12:41:15
ibecerra
 
Mensajes: n/a
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.
Responder Con Cita
  #3  
Viejo 21/01/08, 12:51:53
yerotos yerotos is offline
Member
 
Fecha de Ingreso: nov 2007
Mensajes: 39

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
Responder Con Cita
  #4  
Viejo 21/01/08, 12:55:15
ibecerra
 
Mensajes: n/a
puedes poner tu codigo abap para darle una revisado e indicarte exactamente lo q tienes q hacer...
Saludos
Responder Con Cita
  #5  
Viejo 21/01/08, 13:11:42
yerotos yerotos is offline
Member
 
Fecha de Ingreso: nov 2007
Mensajes: 39

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
Responder Con Cita
  #6  
Viejo 21/01/08, 13:22:43
ibecerra
 
Mensajes: n/a
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.

Responder Con Cita
  #7  
Viejo 21/01/08, 13:37:37
yerotos yerotos is offline
Member
 
Fecha de Ingreso: nov 2007
Mensajes: 39


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.
Responder Con Cita
  #8  
Viejo 21/01/08, 16:33:58
danny danny is offline
Member
 
Fecha de Ingreso: mar 2007
Mensajes: 36
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.
Responder Con Cita
  #9  
Viejo 22/01/08, 08:18:39
yerotos yerotos is offline
Member
 
Fecha de Ingreso: nov 2007
Mensajes: 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.
Responder Con Cita
  #10  
Viejo 22/01/08, 08:47:16
yerotos yerotos is offline
Member
 
Fecha de Ingreso: nov 2007
Mensajes: 39
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 02:48:58.


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