‎2006 Jan 25 10:14 AM
frnds,
i want a solution. i have 3 radiobuttons of same group. and under the 1st rad. button i have some more input fields. Now my requirement is , when i select 2nd or 3rd rad.button i want the all the input fields under rad.button 1 to be disabled. i have done this by 'Loop at scree'.. but i want it to happen immediately when i select any of the other 2 Rad.butonsand not after pressing enter.
regrds,
Madan..
‎2006 Jan 25 10:21 AM
Hi Madan,
Please fidn the below sample code to do that.
PARAMETERS: p_radio1 RADIOBUTTON GROUP g1 USER-COMMAND comm,
p_date1 TYPE sy-datum,
p_radio2 RADIOBUTTON GROUP g1 DEFAULT 'X',
p_date2 TYPE sy-datum.
AT SELECTION-SCREEN OUTPUT.
IF p_radio1 = 'X'.
LOOP AT SCREEN.
CASE screen-name.
WHEN 'P_DATE1'.
screen-input = '1'.
WHEN 'P_DATE2'.
screen-input = '0'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ELSEIF p_radio2 = 'X'.
LOOP AT SCREEN.
CASE screen-name.
WHEN 'P_DATE1'.
screen-input = '0'.
WHEN 'P_DATE2'.
screen-input = '1'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Hope this will help you.
Thanks&Regards,
Siri.
‎2006 Jan 25 10:21 AM
Hi Madan,
Please fidn the below sample code to do that.
PARAMETERS: p_radio1 RADIOBUTTON GROUP g1 USER-COMMAND comm,
p_date1 TYPE sy-datum,
p_radio2 RADIOBUTTON GROUP g1 DEFAULT 'X',
p_date2 TYPE sy-datum.
AT SELECTION-SCREEN OUTPUT.
IF p_radio1 = 'X'.
LOOP AT SCREEN.
CASE screen-name.
WHEN 'P_DATE1'.
screen-input = '1'.
WHEN 'P_DATE2'.
screen-input = '0'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ELSEIF p_radio2 = 'X'.
LOOP AT SCREEN.
CASE screen-name.
WHEN 'P_DATE1'.
screen-input = '0'.
WHEN 'P_DATE2'.
screen-input = '1'.
ENDCASE.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
Hope this will help you.
Thanks&Regards,
Siri.
‎2006 Jan 25 10:21 AM
in loop at screen only u can do it
u assgn to three modif ids
loop at screen.
IF RAD1 = 'X'.
if screen-group = 'r1'.
screen -active = 1
else.
screen-invisible = 1.
...........
.......
modify screen.
endloop.
‎2006 Jan 25 10:22 AM
‎2006 Jan 25 11:01 AM
hi
THIS WILL WORK
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
PARAMETERS: R1 RADIOBUTTON GROUP G1 USER-COMMAND flag,
p1(10) TYPE c MODIF ID BL2,
p2(10) TYPE c MODIF ID BL2,
p3(10) TYPE c MODIF ID BL2,
R2 RADIOBUTTON GROUP G1 ,
R3 RADIOBUTTON GROUP G1 .
SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF ( R2 = 'X' OR R3 = 'X' ) AND
screen-group1 = 'BL2'.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
REWARD IF HELPFUL
‎2006 Jan 25 11:30 AM
Hi,
Proceed like this,
1. Define all the parameters to be enabled/disabled when you select a radio button like this,
PARAMETERS p_start LIKE sy-datum MODIF ID XX.
2.Then,in the event "AT SELECTION-SCREEN OUTPUT" check which radio button is selected and activate/ deactivate/ visible/ invisible like,
IF r_write EQ gc_mark.
gv_block = 'XX'. ( Where XX is the MODI name as above)
PERFORM form1_deactivate / form2_activate
ENDIF.
3.In the perform,
LOOP AT SCREEN.
screen-active = '1'.
IF screen-group1 = gv_block(gv_block is set in above
event AT SELECTION-SCREEN OUTPUT).
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
I hope this info is suffice.
Regs,
Venkat Ramanan
‎2006 Jan 25 12:39 PM
parameters : rad1 radiobutton group g1 user-command u1,
name type char20 modif id ra,
rad2 radiobutton group g1,
rad3 radiobutton group g1.
at selection-screen output.
loop at screen.
if rad1 <> 'X' and screen-group1 = 'RA'.
screen-active = 0.
endif.
modify screen.
endloop.