‎2006 Jun 26 7:53 AM
Hi
all
I have issue regarding selection screen..
Actually i have 3 radio button & 3 parameters like this.
Option1
s_MATNR
OPTION2
s_bukrs
Option3
s_saknr
s_werks
i want that if i use the any option then other selection parameters for rest of the options should not be avilable for selection(i.e. it becomes Blurred)).
How i can do it .
‎2006 Jun 26 7:56 AM
Hi,
You need to code that in the AT SELECTION-SCREEN OUTPUT event as follows:
LOOP AT SCREEN.
IF pr_fert = 'X' AND screen-name = 'P_MTART'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Lakshminarayanan
P.S. Mark all helpful answers for points
‎2006 Jun 26 7:56 AM
Hi,
You need to code that in the AT SELECTION-SCREEN OUTPUT event as follows:
LOOP AT SCREEN.
IF pr_fert = 'X' AND screen-name = 'P_MTART'.
screen-input = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Lakshminarayanan
P.S. Mark all helpful answers for points
‎2006 Jun 26 8:10 AM
Hi Pl. look at this code.
you can build upon it.
TABLES: mara.
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.
Reward points if you find this helpful.
‎2006 Jun 26 8:12 AM
Hi,
here is the sample program ..
*------------------------ Selection Screen ---------------------------*
SELECTION-SCREEN BEGIN OF BLOCK selscr WITH FRAME TITLE text-000.
PARAMETERS: p_rad1 RADIOBUTTON GROUP rad1 USER-COMMAND a DEFAULT 'X',
p_rad2 RADIOBUTTON GROUP rad1,
p_rad3 RADIOBUTTON GROUP rad1.
*-- Selection Screen for radio button 1
SELECTION-SCREEN BEGIN OF BLOCK rad1 WITH FRAME TITLE text-001.
PARAMETERS: p_date LIKE sy-datum DEFAULT sy-datum MODIF ID one.
SELECT-OPTIONS: s_uzeit FOR sy-uzeit MODIF ID one.
SELECTION-SCREEN END OF BLOCK rad1.
*-- Selection Screen for radio button 2
SELECTION-SCREEN BEGIN OF BLOCK rad2 WITH FRAME TITLE text-002.
PARAMETERS: p_werks LIKE t001w-werks MODIF ID two.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(6) text-003 MODIF ID two.
SELECTION-SCREEN POSITION 8.
PARAMETERS: p_chk AS CHECKBOX DEFAULT 'X' MODIF ID two.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK rad2.
*-- Selection Screen for radio button 3
SELECTION-SCREEN BEGIN OF BLOCK rad3 WITH FRAME TITLE text-004.
PARAMETERS: p_matnr LIKE mkal-matnr MODIF ID tri,
p_verid LIKE mkal-verid MODIF ID tri.
SELECTION-SCREEN END OF BLOCK rad3.
SELECTION-SCREEN END OF BLOCK selscr.
*--------------------------
AT SELECTION-SCREEN OUTPUT.
*--------------------------
IF p_rad1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'TWO' OR
screen-group1 = 'TRI'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rad2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ONE' OR
screen-group1 = 'TRI'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rad3 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ONE' OR
screen-group1 = 'TWO'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.thanks
Sudheer
‎2006 Jun 26 8:18 AM
<b>just copy and paste and see the result...</b>
Parameters: rd1 RADIOBUTTON group g1 default 'X' user-command ch ,
rd2 RADIOBUTTON group g1 ,
rd3 RADIOBUTTON group g1 ,
kishan1(10) type c modif id ID1,
kishan2(10) TYPE C modif id ID2,
kishan3(10) TYPE C modif id ID3.
AT SELECTION-SCREEN.
check sy-ucomm = 'CH'.
AT SELECTION-SCREEN output.
IF rd1 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ID2' or screen-group1 = 'ID3' .
screen-ACTIVE = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF RD2 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ID1' or screen-group1 = 'ID3' .
screen-ACTIVE = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF RD3 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'ID1' or screen-group1 = 'ID2' .
screen-ACTIVE = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
‎2006 Jun 26 8:15 AM
Hi saurabh,
1. Simple
2. It will function just like u want.
3. Just copy paste
4.
report abc.
*----
parameters :
opt1 radiobutton group grp1 user-command RAD DEFAULT 'X',
s_matnr like mara-matnr modif id g1,
opt2 radiobutton group grp1 ,
s_bukrs like t001-bukrs modif id g2,
opt3 radiobutton group grp1 ,
s_saknr like skb1-saknr modif id g3,
S_WERKS LIKE T001W-WERKS MODIF ID G3.
*----
at selection-screen output.
LOOP AT SCREEN.
IF OPT1 = 'X'.
IF SCREEN-GROUP1 = 'G2' OR SCREEN-GROUP1 = 'G3'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF OPT2 = 'X'.
IF SCREEN-GROUP1 = 'G1' OR SCREEN-GROUP1 = 'G3'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
IF OPT3 = 'X'.
IF SCREEN-GROUP1 = 'G1' OR SCREEN-GROUP1 = 'G2'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
regards,
amit m.
‎2006 Jun 26 8:15 AM
Hi,
Check this code...it works as you wish,.
REPORT ZTEST_TEST.
tables:mara,t001,marc.
parameters: p_opt1 radiobutton group g1 user-command ABC default 'X'.
select-options: s_matnr for mara-matnr.
parameters: p_opt2 radiobutton group g1 .
select-options: s_bukrs for T001-bukrs.
parameters: p_opt3 radiobutton group g1 .
select-options: s_werks for marc-werks.
at selection-screen output.
if p_opt1 = 'X'.
loop at screen.
if screen-name = 'S_BUKRS-LOW'.
screen-input = 0.
endif.
if screen-name = 'S_BUKRS-HIGH'.
screen-input = 0.
endif.
if screen-name = 'S_WERKS-HIGH'.
screen-input = 0.
endif.
if screen-name = 'S_WERKS-HIGH'.
screen-input = 0.
endif.
modify screen.
endloop.
endif.
if p_opt2 = 'X'.
loop at screen.
if screen-name = 'S_MATNR-LOW'.
screen-input = 0.
endif.
if screen-name = 'S_MATNR-HIGH'.
screen-input = 0.
endif.
if screen-name = 'S_WERKS-LOW'.
screen-input = 0.
endif.
if screen-name = 'S_WERKS-HIGH'.
screen-input = 0.
endif.
modify screen.
endloop.
endif.
if p_opt3 = 'X'.
loop at screen.
if screen-name = 'S_BUKRS-LOW'.
screen-input = 0.
endif.
if screen-name = 'S_BUKRS-HIGH'.
screen-input = 0.
endif.
if screen-name = 'S_MATNR-HIGH'.
screen-input = 0.
endif.
if screen-name = 'S_MATNR-HIGH'.
screen-input = 0.
endif.
modify screen.
endloop.
endif.Regards
Vijay