Ver la Versión Completa : Hipervinculo en campo de reporte alv
minerva0112
06/04/10, 02:22:25
hola,
tengo un reporte Alv donde quisiera llamar una transaccion dandole clic a un dato mostrado en una celda del alv
Existe alguna funcion?:confused:
calanis
06/04/10, 03:05:55
Hola
Lo que debes hacer es lo siguiente:
1- En el catalogo de campos agregale al campo que necesitas que tenga el marcado como si fuese una URL osea un Hotspot
Por ej:
ls_fieldcat-hotspot = 'X'. " Muestra el hotspot.
ls_fieldcat-seltext_m = 'Notificación '.
APPEND ls_fieldcat TO lt_fieldcat.
2-Haces el llamado al UserCommand Z del ALV
Ej:
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
i_callback_user_command = 'Z_USER_COMMAND'
el resto de los parámetros al llamar la función.
3-Definición del UserCommand Z del ALV
FORM Z_USER_COMMAND
USING ucomm LIKE sy-ucomm<--Te trae el código de Función
selfield TYPE slis_selfield.<--Fijate la estructura te va a servir ;)
IF ucomm = '(Código de Función al hacer Click o Enter)'
CASE selfield-fieldname.
WHEN 'NOTIFICA'. "Notificación
READ TABLE gt_tab ( en el alv tú pasaste) INDEX selfield-tabindex.
IF gt_tab-qmnum NE space.
Setear el ID de parámetro de la transacción que tú deses llamar...
call transaction 'Z_MI_TRX'
ENDIF.
resto de los datos..
endif.
endform.
Espero te sea de utilidad
Saludos
minerva0112
07/04/10, 01:24:29
gracias todo funciono perfecto;)
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web