MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Doble click en listados ALV (foro/showthread.php?t=4607)

Ignacio Luis Díaz Jiménez 27/03/07 13:01:40

Doble click en listados ALV
 
¿Qué tengo que hacer para controlar un doble click en el listado de una ALV y poder irme a una transacción determinada? Gracias

ballan 27/03/07 14:14:54

tienes hecho el ALV con las funciones reuse o lo has hecho con objetos?

davidsap 27/03/07 15:08:46

Si usas la función REUSE_ALV_GRID_DISPLAY hay uno de los campos del exporting que es I_CALLBACK_USER_COMMAND, aquí le indicas el nombre de la subrutina a la que tiene que ir cuando haces doble click. Dentro de ahí, ya controlas con un CASE lo que quieres hacer según el campo que se haya hecho click.

Un saludo

Gregoryg 27/03/07 23:35:25

doble Click en ALV
 
Hola

debes declarar una sub_rutina USER_COMMAND y despues debes detectar cuando ocurre el doble click

sino recuerdo mal el valor del SY-UCOMM es &IC1 cuando ocurre un doble click, lo puedes chequear

saludos

Ddscerezo 28/03/07 11:57:15

No sabreis cual es el evento que se lanza cuando se pulsa 'enter'? el doble click, lo puedes capturar, desde tu status dando valor a la tecla de seleecion F2.

Claudia Valdespino 28/03/07 19:58:10

Hola, si estás usando la función REUSE_ALV_LIST_DISPLAY debes crear un form USER_COMMAND y añadirlo a una tabla de eventos que luego será mostrada en la llamada a la función del ALV. Dentro del form haces un case cuando SY-UCOMM sea '&IC1' (doble click) y ahi haces tu CALL TRANSACTION xxx. Algo asi:

Data event type slis_alv_event.

event-name = slis_ev_user_command.
event-form = 'USER_COMMAND'.
append event to gt_events.

form user_command using r_ucomm like sy-ucomm
rs_selfield type slis_selfield.
case r_ucomm.
when '&IC1'. "Doble Click
read table orddyn index rs_selfield-tabindex.
if sy-subrc = 0.
set parameter id 'BLN' field orddyn-belnr.
set parameter id 'BUK' field orddyn-bukrs.
set parameter id 'GJR' field orddyn-gjahr.
call transaction 'FB03' and skip first screen.
endif.
endcase.
endform. "USER_COMMAND


call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = g_repid
is_layout = gs_layout
it_fieldcat = gt_fieldcat[]
it_sort = gt_sort[]
it_events = gt_events
tables
t_outtab = orddyn
exceptions
program_error = 1
others = 2.

Ignacio Luis Díaz Jiménez 29/03/07 14:42:03

Muchas Gracias
 
¡Hola!

Me has sido de mucha ayuda.

Saludos.
Ignacio


zehiter 26/01/10 21:42:45

Gracias por el aporte

Saludos

JoNhNaTaN 17/06/13 23:52:42

he hecho lo mismo pero no me resulta

He puesto un break point en el form user_command y cuando doy doble clic en el alv list, no entra el evento al break point.

Algun consejo??


Husos Horarios son GMT. La hora en este momento es 16:27:18.

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