‎2009 Apr 21 9:50 AM
hi gurus.....
below is my code where i want to add another document type too ,
initially i had to check only one document type
so checked as blart = 'AA' and query is working fine
now need to check for the document type AB too but when i tried
plzzz help me to solve
Thank you ...
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart= 'AA' AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
.
‎2009 Apr 21 9:51 AM
Hi
use the below code
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart IN ('AA' , 'AB') AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
‎2009 Apr 21 9:51 AM
Hi
use the below code
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart IN ('AA' , 'AB') AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
‎2009 Apr 21 10:02 AM
Hi,
There is another workaround.
ranges: r_blart for bkpf-blart.
r_blart-low = 'AA'.
r_blart-sign = 'I'.
r_blart-option = 'EQ'.
append r_blart.
r_blart-low = 'AB'.
r_blart-sign = 'I'.
r_blart-option = 'EQ'.
append r_blart.
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart IN r_blart AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '.
Hope it resolves your issues.
Regards,
Sanjay.
‎2009 Apr 21 9:52 AM
Its very simple. use the In operator
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart in ( 'AA' , 'AB') AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
.
‎2009 Apr 21 9:53 AM
Hi
Try this
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart IN ('AA', 'AB') AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
Or you can write as
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND ( blart = 'AA' OR blart = 'AB' ) AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '.
Hope it will help
Regards
Natasha Garg
Edited by: Natasha Garg on Apr 21, 2009 10:55 AM
‎2009 Apr 21 9:53 AM
hi,
add all the document types in a range field.
and change the query as:
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart IN r_doc_type AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '.
‎2009 Apr 21 9:55 AM
Thanks all
but i have already mentioned i have tried both the option as
blart in ('AA', 'AB' )
blart = 'AA' and blart ='AB' but then its throwing error...pls suggest different one
‎2009 Apr 21 9:58 AM
Hi
Use OR operator for checking 'AA' , 'AB'
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND ( blart = 'AA' OR blart = 'AB' ) AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
Hope it will help
Regards
Natasha Garg
‎2009 Apr 21 9:58 AM
>
> Thanks all
>
> but i have already mentioned i have tried both the option as
>
> blart in ('AA', 'AB' )
>
>
> blart = 'AA' and blart ='AB' but then its throwing error...pls suggest different one
Hello Friend,
What you are missing is the spaces )
Try:
blart IN ( 'AA' , 'AB' )Hope this helps.
BR,
Suhas
‎2009 Apr 21 9:55 AM
Hi,
You can do like:
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart IN ( 'AA', 'WW') AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
.
Hope it helps
Regards
Mansi
‎2009 Apr 21 9:57 AM
Try this,
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart in ('AA' , 'AB') AND
belnr = it_pos-belnr and
gjahr = it_pos-gjahr
AND xreversal = ' '
Regards,
Joan
‎2009 Apr 21 9:59 AM
‎2009 Apr 21 10:01 AM
HI,
You can use this way
data: range type RANGE OF bkpf-blart WITH HEADER LINE.
sort itab by blart.
loop at itab.
at new blart.
range-sign = 'I'.
range-option = 'EQ'.
range-low = '1212'.
append range.
endat.
endloop.
now use the select
SELECT bukrs belnr xblnr blart xreversal FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE it_bkpf
for all entries in it_pos
WHERE bukrs = it_pos-bukrs
AND blart in range
and gjahr = it_pos-gjahr
AND xreversal = ' '
.
regards,
Venkatesh