Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

radio button

Former Member
0 Likes
969

i have two radio buons.when press f1 then input field f1 should be ready for input else it shud be deacivated and vice-versa.

i hav made following code ..but it doesnot work when i click again on the selection screen. for first tie its working but if i want to change again then i is not working.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME.

PARAMETERS : f1 RADIOBUTTON GROUP radi USER-COMMAND inf,

f2 RADIOBUTTON GROUP radi.

PARAMETERS: flpth TYPE filename.

SELECTION-SCREEN END OF BLOCK b.

INITIALIZATION.

f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH' .

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

AT SELECTION-SCREEN OUTPUT.

CASE sy-ucomm.

WHEN 'INF'.

IF f1 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

ENDCASE.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
940

Hi sharadaha,

1. No need for initialization event.

2. remove the code for checking sy-ucomm

3. just copy paste

(and now it will work fine)

4.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME.

PARAMETERS : f1 RADIOBUTTON GROUP radi USER-COMMAND inf ,

f2 RADIOBUTTON GROUP radi <b>default 'X'.</b>

PARAMETERS: flpth TYPE filename.

SELECTION-SCREEN END OF BLOCK b.

AT SELECTION-SCREEN OUTPUT.

IF f1 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

regards,

amit m.

8 REPLIES 8
Read only

naimesh_patel
Active Contributor
0 Likes
940

hello,

Go thourgh this code

PARAMETERS : rb1 RADIOBUTTON GROUP rad1 USER-COMMAND USR,

rb2 RADIOBUTTON GROUP rad1.

PARAMETERS: fpath TYPE filename modif id Gp1.

At selection-screen output.

if "Y-UCOMM = 'USR' and

rb2 = ' '.

loop at screen.

if screen-group1 = 'GP1'.

screen-input = 0.

modify screen.

endif.

endloop.

endif.

Regards,

Naimesh

Read only

Former Member
0 Likes
941

Hi sharadaha,

1. No need for initialization event.

2. remove the code for checking sy-ucomm

3. just copy paste

(and now it will work fine)

4.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME.

PARAMETERS : f1 RADIOBUTTON GROUP radi USER-COMMAND inf ,

f2 RADIOBUTTON GROUP radi <b>default 'X'.</b>

PARAMETERS: flpth TYPE filename.

SELECTION-SCREEN END OF BLOCK b.

AT SELECTION-SCREEN OUTPUT.

IF f1 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

regards,

amit m.

Read only

Former Member
0 Likes
940

Hi Sharadha,

You give screen-group when you double click your screen field you find all atributes of it there is a screen field of four groups there you give as :screen-group1 = 'GP1'

and example of use it as:

if r3 = 'X'.

SET PF-STATUS 'SDORDER' excluding : 'SAVE'.

SET TITLEBAR 'TITLE3'.

loop at screen.

if screen-group1 = 'GP1'.

Screen-input = 1.

modify screen.

endif.

endloop.

endif.

Regards.

Ankur Garg

Message was edited by: Ankur Garg

Read only

Laxmana_Appana_
Active Contributor
0 Likes
940

Hi,

Check this modified code :

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME.

PARAMETERS : f1 RADIOBUTTON GROUP radi USER-COMMAND inf,

f2 RADIOBUTTON GROUP radi.

PARAMETERS: flpth TYPE filename.

SELECTION-SCREEN END OF BLOCK b.

INITIALIZATION.

*f2 = 'X'.

*

*LOOP AT SCREEN.

*IF screen-name = 'FLPTH' .

*screen-input = 0.

*MODIFY SCREEN.

*ENDIF.

*ENDLOOP.

AT SELECTION-SCREEN OUTPUT.

*CASE sy-ucomm.

*

*WHEN 'INF'.

IF f1 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

*ENDCASE.

Regards

Appana

Read only

Former Member
0 Likes
940
REPORT YCHATEST.

data : flag type i.

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME.


PARAMETERS : f1 RADIOBUTTON GROUP radi USER-COMMAND inf,
f2 RADIOBUTTON GROUP radi default 'X'.

PARAMETERS: flpth TYPE filename modif id fi.

SELECTION-SCREEN END OF BLOCK b.

AT SELECTION-SCREEN.
if sy-ucomm = 'INF'.
  if f1 = 'X'.
    flag = 1.
   endif.
   endif.

AT SELECTION-SCREEN OUTPUT.


LOOP AT SCREEN.
IF screen-group1 = 'FI'.
screen-input = flag.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
clear flag.
Read only

Former Member
0 Likes
940

Hi Sharadha,

Try this code.

In your code, remove the <b>'initialization'</b> event and even add <b>screen-intensified = '1'</b> as I have done in the below code.

<b>This below code works.</b>

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.

PARAMETERS : f1 RADIOBUTTON GROUP rg <b>DEFAULT 'X'</b> USER-COMMAND radio,

f1_txt LIKE rlgrap-filename ,

f2 RADIOBUTTON GROUP rg,

f2_txt LIKE rlgrap-filename .

SELECTION-SCREEN END OF BLOCK b1.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF f1 = 'X' AND screen-name = 'f2_txt'.

screen-input = '0'.

ELSEIF f1 = 'X' AND screen-name = 'f1_txt'.

screen-intensified = '1'.

ELSEIF f2 = 'X' AND screen-name = 'f1_txt'.

screen-input = '0'.

ELSEIF f2 = 'X' AND screen-name = 'f2_txt'.

screen-intensified = '1'.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

Reward points and close this thread, if your question is answered.

Regards,

Tanuja.

Message was edited by: Tanuja Sarraju

Read only

Former Member
0 Likes
940

Here is ur solved program

REPORT ZTESTVIK_EMAIL123 .

SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME.

PARAMETERS : f1 RADIOBUTTON GROUP radi USER-COMMAND inf,

f2 RADIOBUTTON GROUP radi.

PARAMETERS: flpth TYPE filename.

SELECTION-SCREEN END OF BLOCK b.

INITIALIZATION.

f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH' .

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

AT SELECTION-SCREEN OUTPUT.

IF f1 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 1.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ELSEIF f2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'FLPTH'.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

Reward points & close the thread.

Regards

Abhishek

Read only

Former Member
0 Likes
940

Hi,

use this code.

TABLES: mara,ekko.

SELECTION-SCREEN begin of line .

PARAMETERS: rad1 RADIOBUTTON GROUP grp1.

SELECT-OPTIONS: date FOR mara-matnr MODIF ID mo1.

SELECTION-SCREEN end of line .

SELECTION-SCREEN begin of line .

PARAMETERS: rad2 RADIOBUTTON GROUP grp1.

SELECT-OPTIONS: date1 FOR mara-matnr MODIF ID mo1.

SELECTION-SCREEN end of line .

AT SELECTION-SCREEN OUTPUT.

IF rad2 = 'X'.

LOOP

AT SCREEN. IF screen-name = 'DATE-LOW' OR screen-name =

'DATE-HIGH'. screen-input = 0. MODIFY SCREEN. ENDIF.

ENDLOOP. ENDIF.

IF rad1 = 'X'.

LOOP

AT SCREEN. IF screen-name = 'DATE1-LOW' OR screen-name =

'DATE1-HIGH'. screen-input = 0. MODIFY SCREEN. ENDIF.

ENDLOOP. ENDIF.

Regards,

Sumit.