01-05-2008 6:47 AM
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
01-05-2008 6:51 AM
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
01-05-2008 6:49 AM
01-05-2008 6:51 AM
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
01-05-2008 6:55 AM
This option is alredy in select-options extension. Choose 4th tab.
01-05-2008 6:52 AM
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.
01-05-2008 6:55 AM
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
01-05-2008 7:28 AM
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.
01-05-2008 6:55 AM
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
01-05-2008 6:57 AM
01-05-2008 6:58 AM
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
01-05-2008 7:14 AM
01-05-2008 7:17 AM
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
01-05-2008 7:18 AM
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
01-05-2008 7:19 AM
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,
01-05-2008 7:20 AM
01-05-2008 7:20 AM
01-05-2008 7:22 AM
hi,
v_mat1 and v_mat2 are variables of type matnr in s026 table and u r comparing in select statement
Regards
01-05-2008 7:24 AM
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
01-05-2008 7:27 AM
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
01-05-2008 7:30 AM
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