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: 

ranges

Former Member
0 Kudos

Hi,

How can we use ranges in place of select-options.

if I enter a range in which one value doesn't exist.then it must show a error message 'lower limits is greater than higher limit'.

please do the needful

Hemant

4 REPLIES 4

Former Member
0 Kudos

Hi,

1. check here definitiona and use of ranges

DATA: range_tab type range of <data type of atinn>,

wa_range like line of range_tab.

loop at itab into wa_itab.

wa_range-low = wa_itab-atinn.

wa_range-high = wa_itab-atinn.

wa_range-SIGN = 'I'. <b>(can be 'E')</b>

wa_range-OPTION = 'EQ'. <b>(Can be 'BT')</b>

append wa_range to range_tab.

endloop.

Message was edited by: Palak Limbachiya

Former Member
0 Kudos

Hi Hemant

If you ask me, i would say RANGES is nothing by SELECT-OPTIONS with NO-DISPLAY option.

Eg:

ranges: r_matnr for mara-matnr.

'='

select-options: s_matnr for mara-matnr no-display.

For a parameter which is not visible on selection-screen, we have to do implicit validations.

Kind Regards

Eswar

anversha_s
Active Contributor
0 Kudos

Hi

Define a range:

Ranges: r_field for <table>.

if not field1 is initial.
r_field-sign = 'E'.
r_field-option = 'EQ'.
r_field-option-low = field1.
append r_field.
endif.

if not field2 is initial.
r_field-sign = 'E'.
r_field-option = 'EQ'.
r_field-option-low = field2.
append r_field.
endif.

if field1 is initial and field2 is initial.
r_field-sign = 'I'.
r_field-option = 'EQ'.
append r_field.
endif.

select * from <table> where field1 in r_field.

rgds

Anver

if hlped pls mark points

Former Member
0 Kudos

<b>Hi

code like this

Ranges: r_field for <table>.

At selection-screen on r_field .

if r_field-low is initial.

message with 'lower limits is greater than higher limit'.

if not field1 is initial.

r_field-sign = 'E'.

if field1 CA '*+'.

r_field-option = 'CP'."for pattern search by wild card symbols

else.

r_field-option = 'EQ'.

endif.

r_field-option-low = field1.

append r_field.

endif.

if not field2 is initial.

r_field-sign = 'E'.

if field2 CA '*+'.

r_field-option = 'CP'."for pattern search by wild card symbols

else.

r_field-option = 'EQ'.

endif.

r_field-option-low = field2.

append r_field.

endif.

if field1 is initial and field2 is initial.

r_field-sign = 'I'.

r_field-option = 'EQ'.

append r_field.

endif.

select * from <table> where field1 in r_field.

Mark points if helpful

Regs

Manas Ranjan Panda</b><b></b>