PDA

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;)