‎2007 Apr 30 12:24 PM
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.
‎2007 Apr 30 12:27 PM
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
‎2007 Apr 30 12:26 PM
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.
‎2007 Apr 30 12:27 PM
‎2007 Apr 30 12:27 PM
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
‎2007 Apr 30 12:27 PM
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
‎2007 Apr 30 12:28 PM
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'.
‎2007 Apr 30 12:29 PM
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
‎2007 Apr 30 12:29 PM
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
‎2007 Apr 30 12:30 PM
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
‎2007 Apr 30 12:31 PM
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.