Obtener linea seleccionada ALV

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • luisen1975
    Junior Member
    • sep
    • 3

    #1

    Obtener linea seleccionada ALV

    Hola, buenos días.

    Tengo el siguiente problema, he creado una ALV siguiendo el metodo:

    CALL METHOD grid1->set_table_for_first_display
    EXPORTING
    is_layout = ls_layout
    CHANGING
    it_fieldcatalog = lt_fcat
    it_outtab = t_vehiculos
    it_sort = lt_sorting.

    Ahora, una vez mostrada por pantalla, necesito seleccionar una linea y que me diga cual es... me podriais ayudar???

    Muchas gracias.
  • Claudia Valdespino
    Member
    • mar
    • 54

    #2
    Hola, te refieres al momento de seleccionar un registro de tu ALV verdad?? Tengo un ejemplo al hacer doble click sobre el registro. Tienes que definir e implementar el evento DOBLE CLICK, el cual te devuelve la fila y columna seleccionada:

    *&---------------------------------------------------------------------*
    *& CLASS LCL_EVENT_RECEIVER_DEFINITION
    *&---------------------------------------------------------------------*
    CLASS LCL_EVENT_RECEIVER DEFINITION.

    PUBLIC SECTION.
    METHODS DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_GUI_ALV_GRID
    IMPORTING E_ROW E_COLUMN ES_ROW_NO.

    ENDCLASS. "LCL_EVENT_RECEIVER


    *&---------------------------------------------------------------------*
    *& CLASS LCL_EVENT_RECEIVER_IMPLEMENTATION
    *&---------------------------------------------------------------------*
    CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.

    METHOD DOUBLE_CLICK.
    PERFORM D0100_EVENT_DOUBLE_CLICK USING E_ROW E_COLUMN ES_ROW_NO.
    ENDMETHOD. "DOUBLE_CLICK

    ENDCLASS. "LCL_EVENT_RECEIVER


    *&---------------------------------------------------------------------*
    *& Form D0100_EVENT_DOUBLE_CLICK
    *&---------------------------------------------------------------------*
    FORM D0100_EVENT_DOUBLE_CLICK USING E_ROW E_COLUMN ES_ROW_NO.

    W_INDEX = E_ROW.
    READ TABLE ITAB INDEX W_INDEX.

    * LLENA EL ALV GRID CONTROL2 Y LLAMA AL SCREEN 0200
    IF SY-SUBRC = 0.
    PERFORM CARGA_2.
    CALL SCREEN 0200.
    ENDIF.

    ENDFORM. " D0100_EVENT_DOUBLE_CLICK

    Espero te sirva de ayudita
    Saludos,

    Claudia V.

    Comentario

    • luisen1975
      Junior Member
      • sep
      • 3

      #3
      Muchas gracias Claudia, voy a probar a ver si hay suerte.

      Un saludo.

      Comentario

      Trabajando...