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 query

Former Member
0 Likes
674

Hi Abapers,

I have requirment to make 2 fields active when particular radio button clicked .

my structure as follows

radio bt1

radio bt2

radio bt3 .

selct opt from and to.

my requirement is when radiobt3 is checked selct opt to and from will be editable .

for this i have to give in declareation as

radio bt3 group user-command cmd1 in the selection screen. But it is not happening as i am getting message that user command can be given to only first radio button .

i can not change radiob button numbers as per my requirements.

Please suggest any way around.

Regards

Arun

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
629

TABLES : PA0001.

parameters : p_rd1 radiobutton group rad1 user-command cmnd,

p_rd2 radiobutton group rad1,

p_rd3 radiobutton group rad1.

select-options : s_pernr for pa0001-pernr.

at selection-screen output.

if p_rd3 = 'X'. <-- IF ONLY 3RD RADIO BUTTON IS CLICKED ...

loop at screen.

if screen-name = 'S_PERNR-LOW' OR

screen-name = 'S_PERNR-HIGH'.

screen-active = '0'.

modify screen.

endif.

endloop.

endif.

5 REPLIES 5
Read only

Former Member
0 Likes
629

Pls refer the code below,

PARAMETERS:

rad1 TYPE c RADIOBUTTON GROUP grp1 USER-COMMAND ucode1 ,

rad2 TYPE c RADIOBUTTON GROUP grp1 .

SELECT-OPTIONS:

carrid FOR sflight-carrid,

connid FOR sflight-connid.

AT SELECTION-SCREEN OUTPUT.

IF rad1 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'CONNID-HIGH' OR screen-name = 'CONNID-LOW' .

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

IF rad2 = 'X'.

LOOP AT SCREEN.

IF screen-name = 'CARRID-HIGH' OR screen-name = 'CARRID-LOW' .

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

Edited by: Rengith Skariah on Apr 17, 2008 2:26 PM

Read only

Former Member
0 Likes
629

Arun,

The Fuction code applies to the Radio Group. Therefore when the radio button changes, you can use code like this in your PBO routine:


LOOP at SCREEN.
  IF SCREEN-NAME EQ 'YOUR FIELD NAME'.
*    - or -  If you give the fields you want effected a Group Name
  IF SCREEN-GROUP1 EQ 'XXX'.
    CASE 'X'.
       WHEN RB1
            OR RB2.
          screen-active = 0.  " or           screen-input = 0.
          MODIFY SCREEN.
       WHEN RB3.
          screen-active = 1.  " or           screen-input = 1.
          MODIFY SCREEN.
     ENDCASE.
  ENDIF.
ENDLOOP.

Read only

Former Member
0 Likes
630

TABLES : PA0001.

parameters : p_rd1 radiobutton group rad1 user-command cmnd,

p_rd2 radiobutton group rad1,

p_rd3 radiobutton group rad1.

select-options : s_pernr for pa0001-pernr.

at selection-screen output.

if p_rd3 = 'X'. <-- IF ONLY 3RD RADIO BUTTON IS CLICKED ...

loop at screen.

if screen-name = 'S_PERNR-LOW' OR

screen-name = 'S_PERNR-HIGH'.

screen-active = '0'.

modify screen.

endif.

endloop.

endif.

Read only

Former Member
0 Likes
629

Hi,

see this code.


TABLES : PA0001.

parameters : p_rd1 radiobutton group rad1 user-command ucom,
p_rd2 radiobutton group rad1,
p_rd3 radiobutton group rad1.

select-options : s_pernr for pa0001-pernr.

at selection-screen output.

if p_rd3 = 'X'.
  loop at screen.
    if screen-name = 'S_PERNR-LOW' OR
      screen-name = 'S_PERNR-HIGH'.
      screen-input = '0'.
      modify screen.
    endif.
  ENDLOOP.
endif.

rgds,

bharat.

Read only

Former Member
0 Likes
629

Hi,

Use the below code.

parameters : r1 radiobutton group rad1 user-command cmnd,

r2 radiobutton group rad1,

r3 radiobutton group rad1.

select-options : s_date for sy-datum.

at selection-screen output.

loop at screen.

if r3 = 'X'.

if screen-name = 'S_DATE-LOW' OR

screen-name = 'S_DATE-HIGH'.

screen-input = 1.

modify screen.

endif.

else.

if screen-name = 'S_DATE-LOW' OR

screen-name = 'S_DATE-HIGH'.

screen-input = 0.

modify screen.

endif.

endif.

endloop.