PDA

Ver la Versión Completa : Ayuda !! doble click en Custon control


caralbgro
18/06/10, 12:00:48
Tengo un custon control dentro de una dynpro con un listado, necesito dar doble click y quer me abra el documento fi como lo hago en una dynpro y después de cerrar el docuento que la pantalla vaya al listado nuevamento.

Gracias de ante mano

AlexisChavero
18/06/10, 13:51:48
Hola,
Entiendo que estas utilizando un ALV OO.
Por lo que tendrias que hacer es definir la clase LCL_EVENT_RECEIVER:

CLASS lcl_event_receiver DEFINITION DEFERRED.

Luego de eso definirla y declarar el metodo doble_click:

CLASS lcl_event_receiver DEFINITION. " Definicion de Eventos
PUBLIC SECTION.
METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
ENDCLASS.

Luego Implemenras la clase junto al metodo Doblr Click:
CLASS lcl_event_receiver IMPLEMENTATION. " Implementacion de Eventos
METHOD handle_double_click.
gv_row = e_row-index.
READ TABLE gt_cheques INTO gs_cheques INDEX e_row-index.
IF sy-subrc EQ 0.
CALL SCREEN 4000 STARTING AT 30 10.
ENDIF.
ENDMETHOD.
ENDCLASS.

En el caso del ejemplo llama a otra Dynpros, pero alli es donde puedes llamar al documento FI que acabas de seleccionar.

Espero que te sea de utilidad lo que te paso.

Saludos,

caralbgro
18/06/10, 14:34:44
en la dynpro tengo lo siguiente

PROCESS BEFORE OUTPUT.
MODULE status_0100.
MODULE muestro_listado.
*
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
MODULE exit_command AT EXIT-COMMAND.

donde lo pongo el codigo??

AlexisChavero
22/06/10, 12:20:04
Pone las declaraciones en tu TOP:

CLASS lcl_event_receiver DEFINITION DEFERRED.

CLASS lcl_event_receiver DEFINITION. " Definicion de Eventos
PUBLIC SECTION.
METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING e_row e_column.
ENDCLASS.

Y las implementaciones en tu FORM:

CLASS lcl_event_receiver IMPLEMENTATION. " Implementacion de Eventos
METHOD handle_double_click.
gv_row = e_row-index.
READ TABLE gt_cheques INTO gs_cheques INDEX e_row-index.
IF sy-subrc EQ 0.
CALL SCREEN 4000 STARTING AT 30 10.
ENDIF.
ENDMETHOD.
ENDCLASS.

Saludos,