Hi,
I took the liberty to simplify the code.
- I recommend using type on input parameters (so we can get the parameter name when using help )
- I added USER-COMMAND c01 .
- I use perform.
- I use case structure (I think cleaner code).
- I use abap_true NOT 'X' (TYPE-POOLS: abap) .
TYPE-POOLS: abap .
SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETER : p_code TYPE radiob RADIOBUTTON GROUP rdb USER-COMMAND c01 DEFAULT 'X' ,
p_pono TYPE radiob RADIOBUTTON GROUP rdb.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN : BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECT-OPTIONS : s_ccode FOR wa_ekko-bukrs MODIF ID cod ,
s_pono FOR wa_ekko-ebeln MODIF ID pon .
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT .
PERFORM at_selection_screen_output .
*----------------------------------------------------------------------*
FORM at_selection_screen_output .
LOOP AT SCREEN.
CASE screen-group1 .
WHEN 'COD' .
screen-input = '0'.
IF p_code EQ abap_true .
screen-input = '1'.
ENDIF .
WHEN 'PON' .
screen-input = '0'.
IF p_pono EQ abap_true .
screen-input = '1'.
ENDIF .
ENDCASE .
MODIFY SCREEN.
ENDLOOP.
ENDFORM . "at_selection_screen_output
*----------------------------------------------------------------------*