Capturar fila seleccionada en Grid ALV

Hola!

Tengo un Grid ALV con información resumida y quiero capturar la fila seleccionada para que al momento de clicar el botón de Detalle me muestre en ALV PopUp el detalle de la selección. Para mostrar el ALV PopUp no tengo problema, pero quiero obtener la fila seleccionada para enviarla al ALV PopUp con su detalle.

Mi ALV está hecho de la siguiente forma:

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      i_callback_program       = gc_program
      i_callback_top_of_page   = 'TOP_OF_PAGE'
      I_CALLBACK_PF_STATUS_SET = 'PF_STATUS '
      i_callback_user_command  = 'USER_COMMAND' "ch_user_command
      i_buffer_active         = ' '
      i_grid_title            = gc_titulo
      is_layout               = wa_layout
      it_fieldcat             = ti_catalogo
      it_events               = ti_events
      i_save                  = 'X' " 2
    TABLES
      t_outtab                = it_face_alv
    EXCEPTIONS
      program_error           = 1
      OTHERS                  = 2.

De antemano gracias por la ayuda!

1 me gusta

Espero te ayude:

FORM user_command USING pa_ucomm TYPE sy-ucomm
wa_selfield TYPE slis_selfield.
ENDFORM.

Ocupa el campo TABINDEX de WA_SELFIED.

2 Me gusta

Gracias por el apoyo, me funcionó perfecto.

Una duda más, puedo impedir que se puedan seleccionar más de una fila? ya que de igual forma sólo me muestra una selección.

Buen día alejovelas,

El camino que yo visualizo es relativamente sencillo, en tu módulo de USER_COMMAND (cuando presione el botón de Detalle que mencionas) pondrás un perform con lo siguiente:

CALL METHOD tu_grid->get_selected_rows 
IMPORTING
et_index_rows = i_rowindex.

READ TABLE  i_rowindex INTO ls_rows  INDEX 1.
READ TABLE it_tusdatos INTO wa_tusdatos INDEX ls_rows-index.

Dónde I_ROWINDEX es TYPE lvc_t_row. Después lo único que tienes que hacer es la lectura de tu tabla interna usando como llave el valor del index recuperado arriba. Finalmente sólo llamas a tu popup con los datos de la línea obtenida.

Espero te ayude, saludos!

3 Me gusta

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