06-13-2008 10:39 AM
Hi all,
I have two radio buttons in my selection screen with 1 select-option criteria, now on choosing the other radio button I want that a different select-option criteria should appears.
Thanks
06-13-2008 10:45 AM
hi kunal check the code below.
TABLES : SSCRFIELDS,MARA.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.
PARAMETERS : R1 RADIOBUTTON GROUP RB1 DEFAULT 'X',
R2 RADIOBUTTON GROUP RB1,
R3 RADIOBUTTON GROUP RB1,
R4 RADIOBUTTON GROUP RB1.
SELECTION-SCREEN PUSHBUTTON /10(20) FRST USER-COMMAND FRST.
SELECTION-SCREEN PUSHBUTTON /10(20) SCND USER-COMMAND SCND.
SELECTION-SCREEN END OF BLOCK B1.
DATA : ACTIVE1 VALUE '1',
ACTIVE2 VALUE '1'.
initialization.
move 'frst' to frst.
move 'scnd' to scnd.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME = 'R1' OR SCREEN-NAME = 'R2' .
SCREEN-INVISIBLE = ACTIVE1.
screen-output = '1'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'R3' OR SCREEN-NAME = 'R4' .
SCREEN-INVISIBLE = ACTIVE2.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
WHEN 'FRST'.
ACTIVE1 = '0'.
ACTIVE2 = '1'.
WHEN 'SCND'.
ACTIVE2 = '0'.
ACTIVE1 = '1'.
ENDCASE.
06-13-2008 10:41 AM
hii
you can do it by following way
AT SELECTION-SCREEN OUTPUT .
IF p_rad2 IS INITIAL .
LOOP AT SCREEN.
IF screen-name CS 'p_docno'.
screen-active = 0.
MODIFY SCREEN.
ENDIF. " IF screen-name CS 'p_docno'.
ENDLOOP. " LOOP AT SCREEN.
ELSE.
LOOP AT SCREEN .
IF screen-name CS 'p_docno'.
screen-active = 1.
screen-input = 1.
MODIFY SCREEN.
ENDIF. " IF screen-name CS 'p_docno'.
ENDLOOP. " LOOP AT SCREEN .
ENDIF. " IF p_rad2 IS INITIAL .
reward if useful
thx
twinkal
06-13-2008 10:45 AM
hi kunal check the code below.
TABLES : SSCRFIELDS,MARA.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.
PARAMETERS : R1 RADIOBUTTON GROUP RB1 DEFAULT 'X',
R2 RADIOBUTTON GROUP RB1,
R3 RADIOBUTTON GROUP RB1,
R4 RADIOBUTTON GROUP RB1.
SELECTION-SCREEN PUSHBUTTON /10(20) FRST USER-COMMAND FRST.
SELECTION-SCREEN PUSHBUTTON /10(20) SCND USER-COMMAND SCND.
SELECTION-SCREEN END OF BLOCK B1.
DATA : ACTIVE1 VALUE '1',
ACTIVE2 VALUE '1'.
initialization.
move 'frst' to frst.
move 'scnd' to scnd.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME = 'R1' OR SCREEN-NAME = 'R2' .
SCREEN-INVISIBLE = ACTIVE1.
screen-output = '1'.
MODIFY SCREEN.
ENDIF.
IF SCREEN-NAME = 'R3' OR SCREEN-NAME = 'R4' .
SCREEN-INVISIBLE = ACTIVE2.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
WHEN 'FRST'.
ACTIVE1 = '0'.
ACTIVE2 = '1'.
WHEN 'SCND'.
ACTIVE2 = '0'.
ACTIVE1 = '1'.
ENDCASE.
06-13-2008 10:47 AM
Hi..use
AT SELECTION-SCREEN OUTPUT.
AT SELECTION-SCREEN OUTPUT.
*CLICK OF FIRST RADIO BUTTON
IF first radio button = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'SC1'.
screen-intensified = '1'.
screen-active = 1.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'SC2.
screen-intensified = '0'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
IF screen-group1 = 'SC3'.
screen-intensified = '0'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
hope this helps
regards,
sampath
mark helpful answers
06-13-2008 10:52 AM
hi,
you must code for event AT SELECTION-SCREEN OUTPUT
example:
SELECT-OPTIONS NAME FOR SY-REPID MODIF ID XYZ.
...
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
CHECK SCREEN-GROUP1 = 'XYZ'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
ENDLOOP.
greetings,darek
06-13-2008 11:06 AM
Hi,
don't forget to define the radiobuttons with USER-COMMAND. Otherwise the user has to press enter after changing the radiobutton. With user command you can handle the defined FCODE.
See [Checkboxes and Radio Buttons with Function Codes|http://help.sap.com/saphelp_nw70/helpdata/EN/3d/c3b23782a9cc68e10000009b38f8cf/frameset.htm]
Regards Rudi