Evento doble click en ALV en clases

Buenas noche tengo un prob con un alv, me piden que al seleccionar un registro me lleve a otra transaccion pero el codigo es OO,ya cree metodo y clase del mismo pero no funicona.
Si me pueden dar una mano

Buenas noches @neilagallardo revisa este link: http://sapuniverse.blogspot.com/2014/05/alv-orientado-objetos-oo.html quizas te puede ayudar.
Fijate del siguiente codigo:


-  handle_user_command

FORM handle_user_command  USING p_e_ucomm TYPE syucomm.

  CASE p_e_ucomm .

    WHEN 'FICH'.
      PERFORM generar_fichero.
  ENDCASE.
-  handle_double_click

FORM handle_double_click  USING    p_e_row TYPE lvc_s_row
                                   p_e_column TYPE lvc_s_col
                                   p_es_row_no TYPE lvc_s_roid.

  READ TABLE t_lecturas INDEX p_es_row_no-row_id.

  IF sy-subrc = 0.
    CASE p_e_column-fieldname.
      WHEN 'MATNR'.
        SET PARAMETER ID 'MAT' FIELD t_lecturas-matnr.
        CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
    ENDCASE.
  ENDIF.

Igual te sugiero que muestres tu codigo para que sea mas facil ayudarte. Saludos.

Solucionado. Coloco la declaración de la clase y método.

CLASS lcl_datos DEFINITION.
  PUBLIC SECTION.
    METHODS: obtener_datos,
             imprimir_datos,
             get_ret_pagos_ant,
             handle_double_click
               for event double_click of cl_salv_events_table
               importing row.
ENDCLASS.  
 METHOD imp_datos.
    o_datos->imprimir_datos( ).
    o_datos->handle_double_click( row  ).
  ENDMETHOD.                    "imp_datos
  METHOD imprimir_datos.
DATA lcl_mostrar type REF TO cl_salv_table.

DATA lr_events TYPE REF TO cl_salv_events_table.
METHOD HANDLE_DOUBLE_CLICK .



   check row is not initial.
    READ TABLE it_datos into wa_datos index row.
     if sy-subrc eq 0.
        SET PARAMETER ID 'BLN' FIELD wa_datos-BELNR.
        CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
     endif.

  ENDMETHOD.
    TRY.
        CALL METHOD cl_salv_table=>factory
          EXPORTING
            list_display = if_salv_c_bool_sap=>false
          IMPORTING
            r_salv_table = jr_table
          CHANGING
            t_table      = it_datos.
      CATCH cx_salv_msg INTO jr_error.
    ENDTRY.
** create events object
   lr_events = jr_table->get_event( ).
**  double click
   SET HANDLER HANDLE_DOUBLE_CLICK FOR lr_events.
    jr_table->display( ).
1 me gusta

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.