I have done small report based on ur requirement pls try below coding it may help u,
*&---------------------------------------------------------------------*
*& Report ZTEST8888
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZTEST8888.
TABLES : MARA.
DATA : IT_MARA TYPE TABLE OF MARA,
IT_FC TYPE SLIS_T_FIELDCAT_ALV.
PARAMETERS : R1 RADIOBUTTON GROUP A DEFAULT 'X',
R2 RADIOBUTTON GROUP A .
SELECT-OPTIONS : MATNR FOR MARA-MATNR,
MTART FOR MARA-MTART.
PARAMETERS : R3 RADIOBUTTON GROUP B DEFAULT 'X' USER-COMMAND CMD,
R4 RADIOBUTTON GROUP B.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF R4 = 'X' .
IF SCREEN-NAME cs 'MTART'.
SCREEN-INPUT = 0.
SCREEN-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
START-OF-SELECTION.
IF R1 = 'X' AND R3 = ' '.
SELECT * FROM MARA INTO TABLE IT_MARA WHERE MATNR IN MATNR
AND MTART IN MTART..
ELSE.
SELECT * FROM MARA INTO TABLE IT_MARA WHERE MATNR IN MATNR.
ENDIF.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_STRUCTURE_NAME = 'MARA'
CHANGING
CT_FIELDCAT = IT_FC
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'STATUS'
IT_FIELDCAT = IT_FC
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
TABLES
T_OUTTAB = IT_MARA
* EXCEPTIONS
* PROGRAM_ERROR = 1
.
*&---------------------------------------------------------------------*
*& Form STATUS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->RT_EXTAB text
*----------------------------------------------------------------------*
FORM STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB .
SET PF-STATUS 'STANDARD1'.
ENDFORM. "STATUS
*&---------------------------------------------------------------------*
*& Form USER_COMMAND
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM USER_COMMAND." USING P_UCOMM TYPE SY-UCOMM
" P_SELFLD TYPE SLIS_SELFIELD.
"report mode
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE SCREEN.
WHEN 'EXIT'.
LEAVE SCREEN.
ENDCASE.
ENDFORM. "USER_COMMAND