Que tal Josillo buen día
Me imagino que en la tabla interna creaste una columna de tipo C para guardar el valor marcado con el check box.
y que en la definicion del catalogo guardaste el la columna con la siguiente propiedad: CAT-CHECKBOX = 'X'.
si es asi ya solo faltaria definir el USER COMMAND en la funcion REUSE_ALV_GRID_DISPLAY y un GUI STATUS
i_callback_pf_status_set = 'PF' " for PF-STATUS
i_callback_user_command = 'USER_COMMAND'
dentro de la rutina
FORM user_command USING lv_okcode LIKE sy-ucomm l_selfield TYPE slis_selfield.
lv_okcode = sy-ucomm.
if lv_okcode eq 'BACK'. "solo puse de ejemplo la funcion BACK
LEAVE program.
endif.
DATA : ref_grid TYPE REF TO cl_gui_alv_grid. "new
IF ref_grid IS INITIAL.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = ref_grid.
ENDIF.
IF NOT ref_grid IS INITIAL.
CALL METHOD ref_grid->check_changed_data.
ENDIF.
LOOP AT it_alv into wa_datos WHERE check = 'X'. "campo check tipo C
"operaciones con las lineas seleccionadas
ENDLOOP.
endform.
Creo que fue un poco general, espero y te sirva, si no pues ya te pongo un ejemplo mas detallado.
Saludos.
__________________
Francisco Ramirez.
consultor SAP ABAP Netweaver
Queretaro, Mexico.
|