‎2006 Jul 24 10:22 AM
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.
‎2006 Jul 24 10:27 AM
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.
‎2006 Jul 24 10:25 AM
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
‎2006 Jul 24 10:27 AM
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.
‎2006 Jul 24 10:29 AM
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
‎2006 Jul 24 10:29 AM
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
‎2006 Jul 24 10:31 AM
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.
‎2006 Jul 24 10:33 AM
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
‎2006 Jul 24 10:33 AM
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
‎2006 Jul 24 10:34 AM
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.