2010 May 05 12:05 PM
Hi All,
SELECT bukrs belnr gjahr bldat cpudt aedat cputm usnam xblnr bktxt waers
FROM bkpf INTO TABLE bkpf_tbl
WHERE bukrs IN s_bukrs AND blart IN ('RE' , 'ZL')
AND ( ( cpudt > prv_date )
OR ( cpudt = prv_date AND cputm >= prv_time ) )
OR ( ( aedat > prv_date )
OR ( aedat = prv_date AND cputm >= prv_time ) )
AND gjahr IN s_gjahr
AND monat IN s_monat
AND belnr IN s_belnrMy prv_date is 05/04/2010 while debugging.
CPUDT (Accounting Document Entry Date) in BKPF doesnu2019t have any entries.
But AEDAT (Date of the Last Document Change by Transaction) is having a single entry on date 05/04/2010.
While this query is showing number of records around 200000. I feel something is wrong with the AND/OR statements.
Please suggest some ideas?
Hi All,
SELECT bukrs belnr gjahr bldat cpudt aedat cputm usnam xblnr bktxt waers
FROM bkpf INTO TABLE bkpf_tbl
WHERE bukrs IN s_bukrs AND blart IN ('RE' , 'ZL')
AND ( ( cpudt > prv_date )
OR ( cpudt = prv_date AND cputm >= prv_time ) )
OR ( ( aedat > prv_date )
OR ( aedat = prv_date AND cputm >= prv_time ) )
AND gjahr IN s_gjahr
AND monat IN s_monat
AND belnr IN s_belnrMy prv_date is 05/04/2010 while debugging.
CPUDT (Accounting Document Entry Date) in BKPF doesnu2019t have any entries.
But AEDAT (Date of the Last Document Change by Transaction) is having a single entry on date 05/04/2010.
While this query is showing number of records around 200000. I feel something is wrong with the AND/OR statements.
Please suggest some ideas?
2010 May 05 12:11 PM
Hi,
Itu2019s because of bracket problem . use 1 more bracket for OR condition
(( ( cpudt > prv_date )
OR ( cpudt = prv_date AND cputm >= prv_time ) )
OR ( ( aedat > prv_date )
OR ( aedat = prv_date AND cputm >= prv_time ) ))
Salil ...
Edited by: salil chavan on May 5, 2010 1:12 PM
2010 May 05 12:13 PM
Hi Manas,
Check corrected code below
SELECT bukrs belnr gjahr bldat cpudt aedat cputm usnam xblnr bktxt waers
FROM bkpf INTO TABLE bkpf_tbl
WHERE bukrs IN s_bukrs AND blart IN ('RE' , 'ZL')
AND ( ( cpudt > prv_date ) OR ( cpudt = prv_date AND cputm >= prv_time )
OR ( aedat > prv_date ) OR ( aedat = prv_date AND cputm >= prv_time ) )
AND gjahr IN s_gjahr
AND monat IN s_monat
AND belnr IN s_belnrRegards
Vinod
2010 May 05 12:15 PM
Hi Mishra,
I dont know the excaly wht u r passing in the prv_date and cpudt . But one thing i notice that blart part.
SELECT bukrs belnr gjahr bldat cpudt aedat cputm usnam xblnr bktxt waers
FROM bkpf INTO TABLE bkpf_tbl
WHERE bukrs IN s_bukrs AND blart eq 'RE' or blart eq 'ZL'
AND ( ( cpudt > prv_date )
OR ( cpudt = prv_date AND cputm >= prv_time ) )
OR ( ( aedat > prv_date )
OR ( aedat = prv_date AND cputm >= prv_time ) )
AND gjahr IN s_gjahr
AND monat IN s_monat
AND belnr IN s_belnr.
With Regards,
Sumodh.P
2010 May 05 12:24 PM
Hi,
Did you see this ,
SELECT bukrs belnr gjahr bldat cpudt aedat cputm usnam xblnr bktxt waers
FROM bkpf INTO TABLE bkpf_tbl
WHERE bukrs IN s_bukrs
AND blart IN ('RE' , 'ZL')
AND ( ( cpudt > prv_date ) OR ( cpudt = prv_date AND cputm >= prv_time ) )
OR ( ( aedat > prv_date ) OR ( aedat = prv_date AND cputm >= prv_time ) )
" I Think due to this OR statement you may get huge records
AND gjahr IN s_gjahr
AND monat IN s_monat
AND belnr IN s_belnr
Regards,
Raghava Channooru
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |