#4
|
|||
|
|||
Hola.
En la funcion de visualizar la grid ('REUSE_ALV_GRID_DISPLAY') debes poner un alv_command: CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING i_callback_program = prg *LA SIGUIENTE SENTENCIA SE USA PARA EL EVENTO DE DOBLE CLICK. i_callback_user_command = 'ALV_USER_COMMAND' it_fieldcat = fieldcat it_sort = sortcat i_save = 'A' IMPORTING es_exit_caused_by_user = salida TABLES t_outtab = IT_SALIDA EXCEPTIONS program_error = 1 OTHERS = 2. Después generas un perform en el que se ejecuta el doble click: *---------------------------------------------------------------------* * FORM ALV_USER_COMMAND * *---------------------------------------------------------------------* * ........ * *---------------------------------------------------------------------* * --> R_UCOMM * * --> RS_SELFIELD * *---------------------------------------------------------------------* FORM alv_user_command USING r_ucomm LIKE sy-ucomm rs_selfield TYPE slis_selfield. * Aqui hago el tratamiento del evento doble click * CUANDO SE HACE DOBLE CLICK SE VIENE A ESTA SUBRUTINA. *HAY QUE PREGUNTAR CUAL ES LA CELDA QUE SE HA PINCHADO. *HACIENDO WHEN '<NOMBRE DEL CAMPO> *SE USA RS_SELFIELD (CAMPO SELECCIONADO) CASE RS_SELFIELD-FIELDNAME. WHEN 'CODSOC'. EXIT. WHEN 'NOMBRE'. EXIT. ENDCASE. ENDFORM. Dentro de los when puedes hacer llamadas a transacciones, submit a reports o lo que tu quieras, ya gestionas los botones de manera normal. Espero que esto responda un poco a tu pregunta. Suerte. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|