Application Development and Automation 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: 
Read only

problem with select query

Former Member
0 Likes
935

hi,

I have to restrict the line items retrieved from BSIS for document type (AB, JV, XX, YY).

My Code is as below :

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat

blart FROM bsis INTO TABLE gt_bsis

WHERE bukrs = '1000'

AND hkont IN so_hkont

AND gjahr = sp_gjahr

AND ( blart NE 'AB' OR

blart NE 'JV' OR

blart NE 'XX' OR

blart NE 'YY' )

AND budat IN gr_budat

AND waers IN so_waers.

With above statement it is not restricting the document types to specified.

PLease let me know how to restrict the selection of all these doc types.

1 ACCEPTED SOLUTION
Read only

kostas_tsioubris
Contributor
0 Likes
915

Hi,

you should replace 'OR' with 'AND'.

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat
blart FROM bsis INTO TABLE gt_bsis
WHERE bukrs = '1000'
AND hkont IN so_hkont
AND gjahr = sp_gjahr
AND ( blart NE 'AB' and
blart NE 'JV' and
blart NE 'XX' and
blart NE 'YY' )
AND budat IN gr_budat
AND waers IN so_waers.

Kostas

9 REPLIES 9
Read only

Former Member
0 Likes
915

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat

blart FROM bsis INTO TABLE gt_bsis

WHERE bukrs = '1000'

AND hkont IN so_hkont

AND gjahr = sp_gjahr

AND ( blart NE 'AB' <b>AND</b>

blart NE 'JV' <b>AND</b>

blart NE 'XX' <b>AND</b>

blart NE 'YY' )

AND budat IN gr_budat

AND waers IN so_waers.

Read only

Former Member
0 Likes
915

hi dear..

instead of all ORs u need to put AND...

cheers

Read only

kostas_tsioubris
Contributor
0 Likes
916

Hi,

you should replace 'OR' with 'AND'.

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat
blart FROM bsis INTO TABLE gt_bsis
WHERE bukrs = '1000'
AND hkont IN so_hkont
AND gjahr = sp_gjahr
AND ( blart NE 'AB' and
blart NE 'JV' and
blart NE 'XX' and
blart NE 'YY' )
AND budat IN gr_budat
AND waers IN so_waers.

Kostas

Read only

alex_m
Active Contributor
0 Likes
915

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat

blart FROM bsis INTO TABLE gt_bsis

WHERE bukrs = '1000'

AND hkont IN so_hkont

AND gjahr = sp_gjahr

AND ( blart NE 'AB' AND

blart NE 'JV' AND

blart NE 'XX' AND

blart NE 'YY' )

AND budat IN gr_budat

AND waers IN so_waers.

Message was edited by:

Alexander

Read only

Former Member
0 Likes
915

If you don't want to select the document type (AB, JV, XX, YY), then please try the select query with 'AND' not with 'OR'.

Read only

Former Member
0 Likes
915

HI,

you got the answers above/...

you can just check wiht some values whether the internal table is fetching data correctly in DEBUG mode..

regards,

nazeer..

Message was edited by:

nazeer shaik

Read only

Former Member
0 Likes
915

Data R_BLART type range of BSIS-BLART.

Data W_BLART type line of R_BLART.

R_BLART-SIGN = 'I'.

R_BLART-OPTION = 'NE'.

R_BLART-LOW = 'AB'.

Append W_BLART to R_BLART.

....

....

....

use this in your select statement

santhosh

Read only

Former Member
0 Likes
915

Hi,

declare a Range for

r_blart for bsis-blart.

r_blart-low = 'AB'.

r_blart-sign = 'I'.

r_blart-option = 'EQ'.

append r_blart.

r_blart-low = 'YY'.

r_blart-sign = 'I'.

r_blart-option = 'EQ'.

append r_blart.

r_blart-low = 'JV'.

r_blart-sign = 'I'.

r_blart-option = 'EQ'.

append r_blart.

r_blart-low = 'XX'.

r_blart-sign = 'I'.

r_blart-option = 'EQ'.

append r_blart.

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat

blart FROM bsis INTO TABLE gt_bsis

WHERE bukrs = '1000'

AND hkont IN so_hkont

AND gjahr = sp_gjahr

AND budat IN gr_budat

AND waers IN so_waers.

delete gt_bsis where not blart in r_blart.

reward points if useful

regards

Anji

Read only

Former Member
0 Likes
915

build a range table for doc types

ranges : it_blart for bsis-blart.

it_blart-sign = 'E'.

it_blart-option = 'BT'.

it_blart-low = 'AB'.

append it_blart.

it_blart-sign = 'E'.

it_blart-option = 'BT'.

it_blart-low = 'JV'.

append it_blart.

it_blart-sign = 'E'.

it_blart-option = 'BT'.

it_blart-low = 'XX'.

append it_blart.

it_blart-sign = 'E'.

it_blart-option = 'BT'.

it_blart-low = 'YY'.

append it_blart.

SELECT bukrs hkont augdt augbl zuonr gjahr belnr buzei monat budat

blart FROM bsis INTO TABLE gt_bsis

WHERE bukrs = '1000'

AND hkont IN so_hkont

AND gjahr = sp_gjahr

AND <b>blart in it_blart</b>

AND budat IN gr_budat

AND waers IN so_waers.