Test code:
REPORT ZJBTST2 .
TYPES: BEGINOF ty_stepradio_item,
checkTYPE abap_bool,
desc TYPE string,
ENDOF ty_stepradio_item,
tyt_stepradio TYPESTANDARDTABLEOF ty_stepradio_item.
DATA: gt_stepradio TYPE tyt_stepradio,
gs_stepradio LIKELINEOF gt_stepradio .
DATA: g_index TYPE syloopc.
START-OF-SELECTION.
DO5TIMES.
gs_stepradio-desc = |Loop line { sy-index }|.
APPEND gs_stepradio TO gt_stepradio .
ENDDO.
CALLSCREEN100.
MODULE modify_stepradio INPUT.
MODIFY gt_stepradio FROM gs_stepradio INDEX sy-stepl .
ENDMODULE.
MODULE display_stepradio OUTPUT.
IF sy-stepl GTlines( gt_stepradio ).
LOOPATSCREEN.
IF screen-name CP'GS_STEPRADIO*'.
screen-input = 0.
screen-invisible = 1.
MODIFYSCREEN.
ENDIF.
ENDLOOP.
ELSE.
READTABLE gt_stepradio INTO gs_stepradio INDEX sy-stepl .
ENDIF.
ENDMODULE.
MODULE user_command_0100 INPUT.
CASE sy-ucomm .
WHEN'EXIT'OR'CANC'OR'BACK'.
IFlines( gt_stepradio )GT0.
DELETE gt_stepradio INDEXlines( gt_stepradio ).
ELSE.
LEAVEPROGRAM.
ENDIF.
ENDCASE.
ENDMODULE.
MODULE status OUTPUT.
SETPF-STATUS'AAA'.
ENDMODULE.
Dynpro 0100 code:
PROCESSBEFOREOUTPUT.
MODULE status.
LOOP.
MODULE display_stepradio .
ENDLOOP.
PROCESSAFTERINPUT.
LOOP.
MODULE modify_stepradio.
ENDLOOP.
MODULE user_command_0100.
Screenpainter look of dznpro 0100