{"id":7588,"date":"2025-08-24T02:17:39","date_gmt":"2025-08-23T20:47:39","guid":{"rendered":"https:\/\/www.sapewmhelp.com\/?question=dynamic-screen-modification-in-sap-abap-using-radio-buttons"},"modified":"2025-08-24T02:17:39","modified_gmt":"2025-08-23T20:47:39","slug":"dynamic-screen-modification-in-sap-abap-using-radio-buttons","status":"publish","type":"question","link":"https:\/\/www.sapewmhelp.com\/?question=dynamic-screen-modification-in-sap-abap-using-radio-buttons","title":{"rendered":"Dynamic Screen Modification in SAP ABAP Using Radio Buttons"},"content":{"rendered":"<div class=\"hcb_wrap\">\n<pre class=\"prism line-numbers lang-html\" data-lang=\"HTML\"><code><span><span>*&amp;---------------------------------------------------------------------*<\/span>\r\n<span>*&amp;\u00a0Report\u00a0\u00a0ZTEST_PROGRAM_2<\/span>\r\n<span>*&amp;<\/span>\r\n<span>*&amp;---------------------------------------------------------------------*<\/span>\r\n<span>*&amp;<\/span>\r\n<span>*&amp;<\/span>\r\n<span>*&amp;---------------------------------------------------------------------*<\/span>\r\n\r\n<span>REPORT\u00a0<\/span>ztest_program_2<span>.<\/span>\r\n\r\n<span>*---\u00a0Radio\u00a0Buttons<\/span>\r\n<span>PARAMETERS<\/span><span>:\u00a0<\/span>r_opt1\u00a0<span>RADIOBUTTON\u00a0<\/span><span>GROUP\u00a0<\/span>grp\u00a0<span>DEFAULT\u00a0<\/span>'X'\u00a0<span>USER-COMMAND\u00a0<\/span>rad<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0r_opt2\u00a0<span>RADIOBUTTON\u00a0<\/span><span>GROUP\u00a0<\/span>grp<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0r_opt3\u00a0<span>RADIOBUTTON\u00a0<\/span><span>GROUP\u00a0<\/span>grp<span>.<\/span>\r\n\r\n<span>*---\u00a0Fields\u00a0controlled\u00a0by\u00a0radio\u00a0buttons<\/span>\r\n<span>PARAMETERS<\/span><span>:\u00a0<\/span>p_field1\u00a0<span>TYPE\u00a0<\/span>char20<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0p_field2\u00a0<span>TYPE\u00a0<\/span>char20<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0p_field3\u00a0<span>TYPE\u00a0<\/span>char20<span>.<\/span>\r\n\r\n<span>*---\u00a0Screen\u00a0Modification<\/span>\r\n<span>AT\u00a0<\/span><span>SELECTION-SCREEN\u00a0<\/span><span>OUTPUT<\/span><span>.<\/span>\r\n<span>LOOP\u00a0<\/span><span>AT\u00a0<\/span><span>SCREEN<\/span><span>.<\/span>\r\n<span>CASE\u00a0<\/span><span>screen<\/span><span>-<\/span>name<span>.<\/span>\r\n<span>WHEN\u00a0<\/span>'P_FIELD1'<span>.<\/span>\r\n<span>screen<\/span><span>-<\/span>active\u00a0<span>=\u00a0<\/span>COND\u00a0#<span>(\u00a0<\/span><span>WHEN\u00a0<\/span>r_opt1\u00a0<span>=\u00a0<\/span>'X'\u00a0THEN\u00a0<span>1\u00a0<\/span><span>ELSE\u00a0<\/span><span>0\u00a0<\/span><span>)<\/span><span>.<\/span>\r\n<span>WHEN\u00a0<\/span>'P_FIELD2'<span>.<\/span>\r\n<span>screen<\/span><span>-<\/span>active\u00a0<span>=\u00a0<\/span>COND\u00a0#<span>(\u00a0<\/span><span>WHEN\u00a0<\/span>r_opt2\u00a0<span>=\u00a0<\/span>'X'\u00a0THEN\u00a0<span>1\u00a0<\/span><span>ELSE\u00a0<\/span><span>0\u00a0<\/span><span>)<\/span><span>.<\/span>\r\n<span>WHEN\u00a0<\/span>'P_FIELD3'<span>.<\/span>\r\n<span>screen<\/span><span>-<\/span>active\u00a0<span>=\u00a0<\/span>COND\u00a0#<span>(\u00a0<\/span><span>WHEN\u00a0<\/span>r_opt3\u00a0<span>=\u00a0<\/span>'X'\u00a0THEN\u00a0<span>1\u00a0<\/span><span>ELSE\u00a0<\/span><span>0\u00a0<\/span><span>)<\/span><span>.<\/span>\r\n<span>ENDCASE<\/span><span>.<\/span>\r\n<span>MODIFY\u00a0<\/span><span>SCREEN<\/span><span>.<\/span>\r\n<span>ENDLOOP<\/span><span>.<\/span>\r\n\r\n<span>*---\u00a0Output<\/span>\r\n<span>START-OF-SELECTION<\/span><span>.<\/span>\r\n<span>WRITE<\/span><span>:\u00a0<\/span>\/\u00a0'Option\u00a0<span>1<\/span><span>:<\/span>'<span>,\u00a0<\/span>r_opt1<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0'Option\u00a0<span>2<\/span><span>:<\/span>'<span>,\u00a0<\/span>r_opt2<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0'Option\u00a0<span>3<\/span><span>:<\/span>'<span>,\u00a0<\/span>r_opt3<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0'Field1<span>:<\/span>'<span>,\u00a0<\/span>p_field1<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0'Field2<span>:<\/span>'<span>,\u00a0<\/span>p_field2<span>,<\/span>\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\/\u00a0'Field3<span>:<\/span>'<span>,\u00a0<\/span>p_field3<span>.<\/span><\/span><\/code><\/pre>\n<\/div>\n<p>Output:<br \/>\n<img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/sm1.png\" \/><\/p>\n<p><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/sm12.png\" \/><\/p>\n<p><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/sm2.png\" \/><\/p>\n<p><img decoding=\"async\" class=\"content-img\" src=\"https:\/\/www.sapewmhelp.com\/wp-content\/uploads\/2025\/08\/sm22.png\" \/><\/p>\n<p>This ABAP program <code>ZRADIO_DEMO<\/code> demonstrates how to create a <strong>dynamic selection screen<\/strong> using radio buttons. It defines three radio buttons, where only one can be selected at a time, and three corresponding input fields (<code>p_field1<\/code>, <code>p_field2<\/code>, <code>p_field3<\/code>). The logic inside the <code>AT SELECTION-SCREEN OUTPUT<\/code> event uses a <code>LOOP AT SCREEN<\/code> to check which radio button is active and then enable or disable the related input field accordingly, making the other fields invisible. This ensures that only the field relevant to the selected option is shown to the user. Finally, in the <code>START-OF-SELECTION<\/code> block, the program outputs the selected option and the entered values. Overall, the code provides a simple but effective example of how to use radio buttons to control screen modifications in SAP reports, making the user interface more interactive and user-friendly.<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"closed","template":"","question-category":[158],"question_tags":[177,359,360],"class_list":["post-7588","question","type-question","status-publish","hentry","question-category-abap","question_tags-sap","question_tags-sap-abap","question_tags-screen-modification"],"_links":{"self":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question\/7588","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/question"}],"about":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/types\/question"}],"author":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7588"}],"wp:attachment":[{"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7588"}],"wp:term":[{"taxonomy":"question-category","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion-category&post=7588"},{"taxonomy":"question_tags","embeddable":true,"href":"https:\/\/www.sapewmhelp.com\/index.php?rest_route=%2Fwp%2Fv2%2Fquestion_tags&post=7588"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}