‎2008 Aug 20 8:36 AM
HI,
I have to fetch only data for doc type of particular types.For that
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart in ( 'c_dz', 'c_da', 'c_dp' ) and
bukrs eq p_bukrs.
But it is fetching all records irrespective of above mentioned types. Please guide.
Rgds,
khadeer.
‎2008 Aug 20 8:45 AM
Khadeer,
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart in ( 'c_dz', 'c_da', 'c_dp' ) and
bukrs eq p_bukrs."( 'c_dz', 'c_da', 'c_dp' ) is case sencetive check this carefully
‎2008 Aug 20 8:41 AM
Hi,
If you are using the SLECT-OPTIONS for this field s_type, use the extension button and input the values ('c_dz', 'c_da', 'c_dp' )as defaluts then change the query as follows -
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart in s_type and
bukrs eq p_bukrs.
Regards
Lekha
‎2008 Aug 20 8:43 AM
Hi Khadeer,
Alter your select statement as this :
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart eq 'c_dz'
and blart eq 'c_da'
and blart eq 'c_dp'
bukrs eq p_bukrs.Regards,
Swapna.
‎2008 Aug 20 8:44 AM
hi,
why u r passing 3 diif values there.
use this.
give ur range of doc types in c_dz itself.
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart in c_dz and
bukrs eq p_bukrs.
or mention in select statement directly
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where bukrs eq p_bukrs
and blart = 'NB' or 'WA' .... .
‎2008 Aug 20 8:45 AM
Hi,
Not sure but try this way-
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart = 'c_dz' or blart = 'c_da' or blart = 'c_dp' and
bukrs eq p_bukrs.Regards,
Sujit
‎2008 Aug 20 8:45 AM
Khadeer,
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart in ( 'c_dz', 'c_da', 'c_dp' ) and
bukrs eq p_bukrs."( 'c_dz', 'c_da', 'c_dp' ) is case sencetive check this carefully
‎2008 Aug 20 9:10 AM
Hi,
Write it this way.
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where bukrs eq p_bukrs
and
blart in ( 'c_dz', 'c_da', 'c_dp' ).
Thanks & regards,
Ravi
‎2008 Aug 20 9:32 AM
hi kadar ,
i am not sure if this works out but try this....
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where bukrs eq p_bukrs
and
blart in ( 'c_dz' or 'c_da' or 'c_dp' ).
‎2008 Aug 20 9:35 AM
Put the values in capital letter because the values in ' ' are case senstitive and data stored in the table in capital.
‎2008 Aug 20 9:36 AM
hi.
youe select statemnet is proper.thre is no problem with it...
the only reason for this cud be that the alues for blart maintained in the table are in diffrent format than mentioned by you..
just check if it is case sensitive or something.because generally blart is stored in capital letters.
that can be the problem.your select statement shud work properly.
‎2008 Aug 20 9:40 AM
I think you have defined constants here, somthing like this.
CONSTANTS: c_dz TYPE blart VALUE 'DZ',
c_da TYPE blart VALUE 'DA',
c_dp TYPE blart VALUE 'DP'.
so when you have defined like this, your select statement should be as below:
SELECT bukrs
belnr
budat
blart
FROM bkpf
INTO TABLE it_bkpf
WHERE blart IN (c_dz, c_da, c_dp) AND
bukrs EQ p_bukrs.
I hope it helps.
Thanks,
Vibha
‎2008 Aug 20 9:42 AM
Hi,
For such cases we can have range table, which will have all 3 values and then these 3 values would be compared in select statement where clause.
give ur range of doc types in r_blart itself.
RANGES r_blart FOR bkpf-blart.
r_blart-SIGN = 'I'.
r_blart-OPTION = 'EQ'.
r_blart-LOW = 'c_dz'.
APPEND r_blart.
and so on..for other values.
Select bukrs
belnr
budat
blart
kunnr from bkpf
into table it_bkpf
where blart in r_blart
and bukrs eq p_bukrs.
Or.
Do this way .
Select bukrs
belnr
budat
blart
from bkpf
into table it_bkpf
where bukrs eq p_bukrs and
blart IN ('DZ','DA','DP').hope this helps.
thanx,
dhanashri.
Edited by: Dhanashri Pawar on Aug 20, 2008 10:42 AM
Edited by: Dhanashri Pawar on Aug 20, 2008 11:04 AM
‎2008 Aug 20 10:02 AM
Hi,
Check the following code, its working fine:
tables: bkpf.
data: begin of it_bkpf occurs 0,
bukrs like bkpf-bukrs,
belnr like bkpf-belnr,
budat like bkpf-budat,
blart like bkpf-blart,
end of it_bkpf.
parameters: p_bukrs like bkpf-bukrs.
Select bukrs
belnr
budat
blart
from bkpf
into table it_bkpf
where bukrs eq p_bukrs and
blart IN ('DZ','DA','DP').
loop at it_bkpf.
write:/ it_bkpf-bukrs, it_bkpf-belnr, it_bkpf-budat, it_bkpf-blart.
endloop.
Regards,
Bhaskar