MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Evento de DOBLE CLICK en ALV GRID (foro/showthread.php?t=34925)

andresf02 27/01/10 23:19:40

Evento de DOBLE CLICK en ALV GRID
 
Buenas Tardes

He logrado realizar por medio de la sentencia AT LINE_SELECTION, generar un select e imprimerlo por pantalla a traves del WRITE; con el comando HIDE, capturar algunos datos de la linea donde el usuario de doble click y pasarlos como parametro a un segundo Select que generaria un segundo reporte tambien impreso por pantalla a traves del WRITE.

Ahora estoy tratando me imprimir todo a traves de ALV GRID. Para el primer reporte (antes que el usuario de doble click ) la ALV funciona perfecto, pero no he podido lograr capturar cuando el usuario haga DOBLE CLICK en una fila del primer reporte, me genere el segundo reporte por la ALV.


El codigo para la ALV es el siguiente:
------------------------------------------------------------------
*----------------------------------------------------
* FORM alv user_command
*----------------------------------------------------
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.

WRITE:/ 'porfin entro'.
CASE r_ucomm.
WHEN '&IC1'.
CASE rs_selfield-fieldname.
* N° de Viaje
WHEN 'SIGNATURA'.

* Check field clicked on within ALVgrid report

"PERFORM consulta2.
"PERFORM organizar2.
"PERFORM alv TABLES ti_fieldcat2 it_q2.
ENDCASE.
ENDCASE.
ENDFORM.

*&---------------------------------------------------------------------*
*& Form ALV
*&--------------------------------------------------------------------

FORM alv TABLES ti_fieldc it_table.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* i_callback_program = c_repid
* i_callback_pf_status_set = 'PF_STATUS'
i_callback_user_command = 'USER_COMMAND'
* i_structure_name = 'TI_ALV'
is_layout = gs_layout
it_fieldcat = ti_fieldc[]
i_appl_events = 'X'
* seconds = 2
* i_save = 'A'
TABLES
t_outtab = it_table
EXCEPTIONS
program_error = 1
OTHERS = 2.

IF sy-subrc NE 0.
MESSAGE i398(00) WITH 'fallo la funcion'.
ENDIF.
ENDFORM.
------------------------------------------------------------------



como pueden ver puse un WRITE dentro del FORM USER_COMMAND pero no lo imrprime (por debajo) es decir, nunca esta llamando a esta form.





Gracias!!

Rodolfo SAP 28/01/10 00:03:57

Doble Click
 
Buenas Noches.

Hola amigo primero dejame comentarte que no vas a ver WRITE:/ 'porfin entro' pues que estas desplegando el ALV posiblemente lo veas cuando le des back al reporte ALV y veraz pintado tu WRITE si quieres ver si entra a tu subrutina te recomiendo poner mejor un BREAK-POINT.

Ahora bien echale un ojo a estos post te eerviran al 100% suerte ! ! !








andresf02 28/01/10 15:15:51

Hola,

Si, Obviamente el WRITE no lo puedo ver por la ALV. Yo reviso es cuando le doy ATRAS como tu dices y ahi veo que no imprimio nada, por lo que asumo que nunca se llamo a la subrutina USER_COMMAND ya que de haberla llamado, almenos hubiera podido haber hecho el WRITE.



Como ves, lo que quiero hacer es que al usuario hacer doble click en una celda cualquiera, se llame a una FORM la cual ejecuta un SELECT y recibiria como parametro el campo SIGNATURA en el cual se hizo el doble click.

Estoy revisando los post que me enviaste, ojala en ellos pueda encontrar la solucion.

Mil Gracias!


Husos Horarios son GMT. La hora en este momento es 06:58:22.

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