Application Development 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: 

selection screen

Former Member
0 Kudos
61

Dear All,

I have a selection screen with three fields

s_matnr

s_matkl

s_prdha

Now my requirement is if i entered any one of the above field then the remaining field should not allow inputs.

It means if entered some value in s_matnr then the other two fields will not allow me to enter data.

How can i do this?

regards

shoban

1 ACCEPTED SOLUTION

Former Member
0 Kudos
41

Hi Shoban,

In the Event

AT SELECTION-SCREEN OUTPUT.

IF NOT s_matnr IS INITIAL.

Loop at Screen.

CASE 'screen-name'.

WHEN 'S_MATKL-LOW'.

SCREEN-INPUT = 0.

WHEN 'S_MATKL-HIGH'.

SCREEN-INPUT = 0.

WHEN 'S_PRDHA-LOW'.

SCREEN-INPUT = 0.

WHEN 'S_PRDHA-HIGH'.

SCREEN-INPUT = 0.

ENDCASE.

modify Screen.

Endloop.

endif.

Copy the above code for S_MATKL and S_PRDHA not Initial.

and modify the other 2 select options.

It will work...

Cheers!!!

Lokesh

4 REPLIES 4

former_member156446
Active Contributor
0 Kudos
41

you can put radio buttons for each type and ask the user to select the radio button and accordingly you can give inputs..

that can be done by assingning modif id to s_matnr and other s_*

and LOOP AT SCREEN.

check screen-group1 = 'M'.

SCREEN-INPUT = 0.

MODIFY SCREEN.

ENDLOOP.

Former Member
0 Kudos
41

Hi,

The best way to do this is to put radiobuttons on the selection screen for the different parameters.

Give a modif id to the radiobuttons.

Also give modif id's to the different parameters on the selection screen.

Once this is done,depending upon the radiobutton chosen you can make the other parameters inactive.

IF p_radiobutton1 = gc_flag.

LOOP AT SCREEN.

IF screen-group1 EQ <modif id of 2nd parameter>.

screen-active = '0'.

MODIFY SCREEN.

ENDIF.

IF screen-group1 EQ <modif id of 3rd parameter>.

screen-input = 0.

MODIFY SCREEN.

ENDIF.

ENDLOOP.

ENDIF.

In the example shown above,the other 2 parameters will become inactive once you choose the 1st radiobutton.

Hope it is useful.

Thanks,

Sandeep.

Former Member
0 Kudos
41

Hi,

write a event AT SELECTION SCREEN OUTPUT

loop at screen if first two fields are not initail then for field 3 make

screen-input = 0.

modify screen.

Reward if helpful

vivekanand

Former Member
0 Kudos
42

Hi Shoban,

In the Event

AT SELECTION-SCREEN OUTPUT.

IF NOT s_matnr IS INITIAL.

Loop at Screen.

CASE 'screen-name'.

WHEN 'S_MATKL-LOW'.

SCREEN-INPUT = 0.

WHEN 'S_MATKL-HIGH'.

SCREEN-INPUT = 0.

WHEN 'S_PRDHA-LOW'.

SCREEN-INPUT = 0.

WHEN 'S_PRDHA-HIGH'.

SCREEN-INPUT = 0.

ENDCASE.

modify Screen.

Endloop.

endif.

Copy the above code for S_MATKL and S_PRDHA not Initial.

and modify the other 2 select options.

It will work...

Cheers!!!

Lokesh