Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

OPTION + Screen Parameter

Former Member
0 Likes
725

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 .

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
685

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

6 REPLIES 6
Read only

Former Member
0 Likes
686

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

Read only

Former Member
0 Likes
685

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.

Read only

Former Member
0 Likes
685

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

Read only

0 Likes
685

<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.

Read only

Former Member
0 Likes
685

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.

Read only

Former Member
0 Likes
685

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