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: 

NOT in betweem

Former Member
0 Kudos

Hi all

From the below statement i need to select the values NOT IN BETWEEN '60000000' (matnr) AND '60000063' (matnr).Like i need select the values excluding the matnr values '60000000' AND '60000063' .Please help

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag AND MATNR NOT IN

endif.

Vijay

1 ACCEPTED SOLUTION

Former Member
0 Kudos

select-options: matno like s026-matnr.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag AND MATNR NOT IN matno

endif.

in selec-options provide

'60000000' AND '60000063'

Regards

19 REPLIES 19

Former Member
0 Kudos

are u using select options or ranges?

Regards,

Talwinder

Former Member
0 Kudos

select-options: matno like s026-matnr.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag AND MATNR NOT IN matno

endif.

in selec-options provide

'60000000' AND '60000063'

Regards

0 Kudos

This option is alredy in select-options extension. Choose 4th tab.

former_member188829
Active Contributor
0 Kudos

Hi,

tables:s026..

Select-options:s_matnr for s026-matnr default '60000000' to '60000063'.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag AND MATNR NOT IN s_matnr.

0 Kudos

hi vishnu

but am if i put select options its geting displayed in input screen but according to my requirememtn it shouldnt.please help

vijay

0 Kudos

Hi,

Check this Example with Ranges.(You Will Not Get Selection-screen).

TABLES:S026.

RANGES:S_MATNR FOR S026-MATNR.

INITIALIZATION.

S_MATNR-LOW = '000000000060000000'.

S_MATNR-HIGH = '000000000060000003'.

S_MATNR-SIGN = 'I'.

S_MATNR-OPTION = 'BT'.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag AND MATNR NOT IN s_matnr.

arpit_shah
Contributor
0 Kudos

then in selection screen,

Enter

what u want to exclude in

Exclude single value or Exclude Ranges.

and in select statement not use NOT IN

instead of that only use IN

Regards,

ARPIT

0 Kudos

hi arpit

exclude ranges

vijay

Former Member
0 Kudos

Hi,

Try like this.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE IT_S026 WHERE WERKS = P_WERKS

AND SPTAG IN p_sptag

AND (MATNR < v_mat1 " '60000000'

OR MATNR > v_mat2). " '60000063'

Rewards points if helpful.

Regards,

Srinivas Ch

0 Kudos

hi srinivas

its not coming.

please help

vijay

0 Kudos

Hi,

Try like this

data: v_mat1 like s026-matnr default '60000000',

v_mat2 like s026-matnr default '60000063'.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE IT_S026 WHERE WERKS = P_WERKS

AND SPTAG IN p_sptag

AND (MATNR < v_mat1 " '60000000'

OR MATNR > v_mat2). " '60000063'

Regards

Edited by: K.P.N on Jan 5, 2008 8:19 AM

0 Kudos

Declare ranges .

Ranges ran_matnr for matnr.

Give ran_matnr = s_matnr (Name of select option).

ran_matnr-options = 'NB'.

Use ran_matnr in select query inplace of s_matnr.

Reward Points,

Regards,

Talwinder

0 Kudos

Hi,

Check this,

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE IT_S026 WHERE WERKS = P_WERKS

AND SPTAG IN p_sptag

AND (MATNR < v_mat1

AND MATNR > v_mat2).

Thanks and Regards,

0 Kudos

hi chandra

can u please explain me abt v_mat1 and v_mat2

vijay

0 Kudos

hi talwinder

can u giv me d code

vijay

0 Kudos

hi,

v_mat1 and v_mat2 are variables of type matnr in s026 table and u r comparing in select statement

Regards

0 Kudos

Hi K.P.N

WE need to give like this.

data: v_mat1 like s026-matnr value '60000000',

v_mat2 like s026-matnr value '60000063'.

VIjay

0 Kudos

Hi vijay,

ranges : r_matnr for matnr.

r_matnr() = s_matnr().

loop at r_matnr.

if -


your condition----


(like if s_matnr-low = '60000000' and s_matnr-high = '600000003'.)

r_matnr = 'NB'.

endif.

endloop.

Regards,

Talwinder

Edited by: Talwinder Singh on Jan 5, 2008 8:31 AM

0 Kudos

Hi vijay,

ranges : r_matnr for matnr.

r_matnr [] = s_matnr [].

loop at r_matnr.

if -


your condition----


(like if s_matnr-low = '60000000' and s_matnr-high = '600000003'.)

r_matnr = 'NB'.

endif.

endloop.

Regards,

Talwinder