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
|
tienes hecho el ALV con las funciones reuse o lo has hecho con objetos?
|
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 |
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 |
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.
|
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. |
Muchas Gracias
¡Hola!
Me has sido de mucha ayuda. Saludos. Ignacio |
Gracias por el aporte
Saludos |
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 14:06:50. |
www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web