04-18-2006 5:52 AM
hi all ,
i written below code . my req is if users select radio button r_com all elements in block b2 should be invisable.
this code is not working becuase r_com is populated with 'X' VALUE at rumtime in the event .
tables : coep ,SSCRFIELDS.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_GJAHR FOR COEP-GJAHR NO INTERVALS NO-EXTENSION
OBLIGATORY ,
S_PERIO FOR COEP-PERIO NO INTERVALS NO-EXTENSION
OBLIGATORY.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(20) TEXT-002.
PARAMETERS : r_Com RADIOBUTTON GROUP mai user-command rusr .
SELECTION-SCREEN COMMENT 25(15) TEXT-003.
PARAMETERS : r_group RADIOBUTTON GROUP mai .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B1 .
SELECTION-SCREEN : BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-003 MODIF ID B21.
parameters : p_0001 like AFRU-ISMNW OBLIGATORY MODIF ID B21.
SELECTION-SCREEN COMMENT 45(40) TEXT-004 MODIF ID B21.
parameters : p_0002 like AFRU-ISMNW OBLIGATORY MODIF ID B21 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-005 MODIF ID B21.
parameters : p_0003 like AFRU-ISMNW OBLIGATORY MODIF ID B21.
SELECTION-SCREEN COMMENT 45(40) TEXT-006 MODIF ID B21.
parameters : p_0004 like AFRU-ISMNW OBLIGATORY MODIF ID B21 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B2 .
at selection-screen OUTPUT.
IF R_COM EQ 'X' .
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B21'.
SCREEN-ACTIVE = 0 .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
thanks ,
sridhar
04-18-2006 5:59 AM
Hi Sridhar
This code will not work as you are defining a single radio button and it is already populated with value 'X', meant it is already selected.
You can not use single radiobutton.
In a radiobutton group, minimum two radiobutton should be there
so either you can use two radio buttons in a group or if you want only a single parameter than instead of using radio button you can use check box i.e. when user selects or tics chek box all the element in block two get vanish
I hope you will get what I am trying to say.
Thanks
04-18-2006 6:05 AM
hi ,
thanks for reply ,
but when i check r_com the code ( disabling the block b2 ) should work . my problem is why r_com is not having value during rumtime .
thanks,
sridhar.
04-18-2006 6:01 AM
Hi sridhar,
1. make this small correction.
Then it will work.
PARAMETERS : r_Com RADIOBUTTON GROUP mai user-command rusr <b>DEFAULT 'X'</b> .
regards,
amit m.
04-18-2006 6:15 AM
AMIT ,
IT IS WORKING , thanks but when i use another block like below and using this code it is not working .
SELECTION-SCREEN : BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-002..
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-003 MODIF ID B22.
parameters : p_0005 like AFRU-ISMNW OBLIGATORY MODIF ID B22.
SELECTION-SCREEN COMMENT 45(40) TEXT-004 MODIF ID B22.
parameters : p_0006 like AFRU-ISMNW OBLIGATORY MODIF ID B22 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(30) TEXT-005 MODIF ID B21.
parameters : p_0007 like AFRU-ISMNW OBLIGATORY MODIF ID B22.
SELECTION-SCREEN COMMENT 45(40) TEXT-006 MODIF ID B22.
parameters : p_0008 like AFRU-ISMNW OBLIGATORY MODIF ID B22 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN : END OF BLOCK B3 .
at selection-screen OUTPUT.
IF R_COM EQ 'X' .
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'B21'.
SCREEN-ACTIVE = 0 .
MODIFY SCREEN.
ENDIF.
ENDLOOP.
elseif r_group eq 'X'.
LOOP AT SCREEN .
IF SCREEN-GROUP1 = 'B22'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
my question is , whne i select one radio button how to diable block .
thanks,
sridhar
04-18-2006 7:06 AM
I think what you must be asking is, how do I 'undo' the invisibility if I press another radiobutton.
If that's correct, try:
at selection-screen OUTPUT.
loop at screen.
case screen-group1.
when 'B21'.
if R_COM = 'X'.
screen-active = 0.
else.
screen-active = 1.
endif.
when 'B22'.
if R_GROUP = 'X'.
screen-active = 0.
else.
screen-active = 1.
endif.
endcase.
modify screen.
endloop.
04-18-2006 6:14 AM
Hey sorry i missed your another radio button thatz r_group
ok so you want when user clicks r_com ,all elements in block two get vanish
so just do the corrections as
PARAMETERS: R_GROUP RADIOBUTTON GROUP MAI DEFAULT 'X'.
*(THIS IS BY DEFAULT SELECTED )
*NOW CORRECTION IN CODING, PUT YOUR IF STATMENT INSIDE LOOP AT SCREEN-ENDLOOP LOOP. THAT IS
at selection-screen OUTPUT.
LOOP AT SCREEN.
IF R_COM EQ 'X' .
IF SCREEN-GROUP1 = 'B21'.
SCREEN-ACTIVE = 0 .
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
This will definately work
Thanks