Hi,
please go through this program to add radio button and its functionality in alv report.
TYPE-POOLS: SLIS.
INCLUDE <ICONS>.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV ,
WA_FCAT LIKE LINE OF IT_FCAT.
DATA: BEGIN OF IT_ALV_FLIGHT OCCURS 0,
CARRID TYPE SFLIGHT-CARRID,
CONNID TYPE SFLIGHT-CONNID,
RADIO(4),"Radio button
END OF IT_ALV_FLIGHT.
SELECT CARRID CONNID FROM SFLIGHT
INTO TABLE IT_ALV_FLIGHT
UP TO 1000 ROWS.
DELETE ADJACENT DUPLICATES FROM IT_ALV_FLIGHT COMPARING CARRID.
LOOP AT IT_ALV_FLIGHT.
IT_ALV_FLIGHT-RADIO = ICON_WD_RADIO_BUTTON_EMPTY.
MODIFY IT_ALV_FLIGHT.
ENDLOOP.
WA_FCAT-FIELDNAME = 'RADIO'.
WA_FCAT-TABNAME = 'IT_ALV_FLIGHT'.
WA_FCAT-SELTEXT_L = 'RADIO'.
WA_FCAT-ICON = 'X'.
WA_FCAT-OUTPUTLEN = 6.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'CARRID'.
WA_FCAT-TABNAME = 'IT_ALV_FLIGHT'.
WA_FCAT-SELTEXT_L = 'Carrid'.
WA_FCAT-OUTPUTLEN = 7.
APPEND WA_FCAT TO IT_FCAT.
WA_FCAT-FIELDNAME = 'CONNID'.
WA_FCAT-TABNAME = 'IT_ALV_FLIGHT'.
WA_FCAT-SELTEXT_L = 'Carrid'.
WA_FCAT-OUTPUTLEN = 7.
APPEND WA_FCAT TO IT_FCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_FIELDCAT = IT_FCAT
TABLES
T_OUTTAB = IT_ALV_FLIGHT
EXCEPTIONS
PROGRAM_ERROR = 1.
*&---------------------------------------------------------------------*
*& Form user_command
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->UCOMM text
* -->SELFIELD text
*----------------------------------------------------------------------*
FORM USER_COMMAND USING UCOMM TYPE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
CASE UCOMM.
WHEN '&IC1'.
LOOP AT IT_ALV_FLIGHT.
IF IT_ALV_FLIGHT-RADIO = ICON_RADIOBUTTON.
IT_ALV_FLIGHT-RADIO = ICON_WD_RADIO_BUTTON_EMPTY.
MODIFY IT_ALV_FLIGHT.
ENDIF.
ENDLOOP.
READ TABLE IT_ALV_FLIGHT INDEX SELFIELD-TABINDEX.
CASE SELFIELD-FIELDNAME.
WHEN 'RADIO'.
IF IT_ALV_FLIGHT-RADIO = ICON_RADIOBUTTON.
IT_ALV_FLIGHT-RADIO = ICON_WD_RADIO_BUTTON_EMPTY.
MODIFY IT_ALV_FLIGHT INDEX SELFIELD-TABINDEX
TRANSPORTING RADIO.
ELSE.
IT_ALV_FLIGHT-RADIO = ICON_RADIOBUTTON.
MODIFY IT_ALV_FLIGHT INDEX SELFIELD-TABINDEX
TRANSPORTING RADIO.
ENDIF.
ENDCASE.
ENDCASE.
SELFIELD-REFRESH = 'X'.
ENDFORM. "USER_COMMAND