09-26-2008 2:47 PM
Hi,
I have 3 checkboxes on the selection screen.My requirement is such that when any one of the checkboxes are checked, the others will be unchecked.
The requirement is to use only checkboxes and not radiobuttons.
I have tried to modify the screen using the fieldnames but it is not working properly.
Please help me.
Thanks,
Sandeep.
09-26-2008 2:49 PM
Hi,
Try to process those checkboxes in
AT SELECTION-SCREEN OUTPUT
event.
Regards,
R.Nagarajan.
09-26-2008 2:50 PM
Hi, try with this example:
SELECTION-SCREEN BEGIN OF BLOCK a2 WITH FRAME TITLE text-002.
PARAMETERS:
p_post AS CHECKBOX USER-COMMAND post.
SELECTION-SCREEN BEGIN OF BLOCK a3 WITH FRAME TITLE text-003.
PARAMETERS:
p_tiptra AS CHECKBOX MODIF ID bl1,
p_tiptr2 AS CHECKBOX MODIF ID bl1.
SELECTION-SCREEN END OF BLOCK a3.
PARAMETERS:
p_email AS CHECKBOX USER-COMMAND emai.
SELECTION-SCREEN BEGIN OF BLOCK a5 WITH FRAME TITLE text-005.
PARAMETERS:
p_tiptr3 AS CHECKBOX MODIF ID bl2,
p_tiptr4 AS CHECKBOX MODIF ID bl2.
SELECTION-SCREEN END OF BLOCK a5.
AT SELECTION-SCREEN ON p_post.
IF p_post EQ ' '.
LOOP AT SCREEN.
IF screen-group1 = 'BL1'.
CLEAR: p_tiptra,
p_tiptr2.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
*************
AT SELECTION-SCREEN ON p_email.
IF p_email EQ ' '.
LOOP AT SCREEN.
IF screen-group1 = 'BL2'.
CLEAR: p_tiptr3,
p_tiptr4.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
09-26-2008 2:53 PM
PARAMETERS: p_rad1 AS CHECKBOX DEFAULT 'X' USER-COMMAND rd1,
p_rad2 AS CHECKBOX USER-COMMAND rd2.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'RD1'.
CHECK p_rad1 = 'X'.
CLEAR p_rad2.
WHEN 'RD2'.
CHECK p_rad2 = 'X'.
CLEAR p_rad1.
ENDCASE.
Regards,
Valter Oliveira.
09-26-2008 3:01 PM
Hi,
Parameters:
char1 as checkbox user-command fcode,
char2 as checkbox user-command fcode,
char3 as checkbox user-command fcode.
At selection-screen output.
IF char1 = 'X'.
LOOP AT SCREEN.
IF screen-name = 'CHAR2'.
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF.
IF screen-name = 'CHAR3'.
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF.
ENDLOOP.
ELSEIF char2 = 'X'.
LOOP AT SCREEN.
IF screen-name = 'CHAR1'.
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF.
IF screen-name = 'CHAR3'.
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF.
ENDLOOP.
ELSEIF char3 = 'X'.
LOOP AT SCREEN.
IF screen-name = 'CHAR1'.
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF.
IF screen-name = 'CHAR2'.
SCREEN-INPUT = 0.
MODIFY SCREEN .
ENDIF.
ENDLOOP.
ENDIF.
With luck,
Pritam.
09-26-2008 3:13 PM
Hi Sandeep,
didnt Fabrizio Ballante answer did not solve your problem ? if not explain the problem further else close the thread.
Regards,
yugandhar
09-29-2008 7:42 AM
Hi,
I need all the checkboxes in the same block and whatever modification has to be done needs to be done in the same block and not two separate ones.
There are 3 checkboxes in the block and not two.
Thanks,
Sandeep.
Edited by: Sandeep Ram on Sep 29, 2008 12:13 PM
09-29-2008 7:55 AM
hope it is sufficient...
PARAMETERS : p_c1 AS CHECKBOX USER-COMMAND uc01,
p_c2 AS CHECKBOX USER-COMMAND uc02,
p_c3 AS CHECKBOX USER-COMMAND uc03.
AT SELECTION-SCREEN.
CASE sy-ucomm.
WHEN 'UC01'.
p_c2 = p_c3 = space.
WHEN 'UC02'.
p_c1 = p_c3 = space.
WHEN 'UC03'.
p_c1 = p_c2 = space.
ENDCASE.
09-29-2008 8:26 AM
Hi Sandeep,
you can also try like way:
Parameters:
char1 as checkbox user-command fcode,
char2 as checkbox user-command fcode,
char3 as checkbox user-command fcode.
At selection-screen output.
IF char1 = 'X'.
char2 = ' '.
char3 = ' '.
ELSEIF char2 = 'X'.
char1 = ' '.
char3 = ' '.
ELSEIF char3 = 'X'.
char1 = ' '.
char2 = ' '.
ENDIF.
With luck,
Pritam.
09-29-2008 7:57 AM
Hello,
Try the following code.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-004.
parameters: p_check1 as checkbox USER-COMMAND CK1 default 'X',
p_check2 as CHECKBOX USER-COMMAND CK2,
p_check3 AS CHECKBOX USER-COMMAND ck3.
SELECTION-SCREEN END OF BLOCK B1.
at SELECTION-SCREEN.
case sy-ucomm.
when 'CK1'.
p_check2 = ''.
p_check3 = ''.
when 'CK2'.
p_check1 = ''.
p_check3 = ''.
WHEN 'CK3'.
p_check1 = '' .
p_check2 = ''.
WHEN OTHERS.
ENDCASE.
Hope it helps,
Raj
09-29-2008 8:06 AM
hi,
Try this. It's working fine to me...
selection-screen begin of block b1 with frame title text-001.
PARAMETERS: p_cb1 AS CHECKBOX DEFAULT 'X' USER-COMMAND CB1,
p_cb2 AS CHECKBOX USER-COMMAND CB2,
p_cb3 AS CHECKBOX USER-COMMAND CB3.
selection-screen end of block b1.
AT SELECTION-SCREEN ON BLOCK b1.
CASE sy-ucomm.
WHEN 'CB1'.
check p_cb1 = 'X'.
clear p_cb2.
clear p_cb3.
WHEN 'CB2'.
clear p_cb1.
check p_cb2 = 'X'.
clear p_cb3.
WHEN 'CB3'.
clear p_cb1.
clear p_cb2.
check p_cb3 = 'X'.
ENDCASE.
For text-001 element specify wat ever text u want to display.
Regards,
Shankar.
09-29-2008 8:16 AM
Use the USER-COMMAND. then u can easily modify the screen like radio buttons.
Regards,
Ajay
07-14-2009 11:11 AM