2014 Jan 09 1:25 PM
i am facing dump with this select query
SELECT bukrs
belnr
gjahr
buzei
shkzg
dmbtr
vorgn
ktosl
vbel2 " Sales Document Number
matnr
menge
meins
ebeln
ebelp
xref3
FROM bseg
INTO TABLE i_bseg
WHERE bukrs EQ p_bukrs
AND belnr IN r_belnr
AND augdt EQ c_date
AND hkont EQ g_account.
suspecting that r_belnr[] contain 16000 entry due to dump DBIF_RSQL_INVALID_RSQL is occur .
i am facing dump with this select query
SELECT bukrs
belnr
gjahr
buzei
shkzg
dmbtr
vorgn
ktosl
vbel2 " Sales Document Number
matnr
menge
meins
ebeln
ebelp
xref3
FROM bseg
INTO TABLE i_bseg
WHERE bukrs EQ p_bukrs
AND belnr IN r_belnr
AND augdt EQ c_date
AND hkont EQ g_account.
suspecting that r_belnr[] contain 16000 entry due to dump DBIF_RSQL_INVALID_RSQL is occur .
2014 Jan 09 1:30 PM
That's the problem.
r_belnr contains many entries for a select option.
You should try to do a FOR ALL ENTRIES.
2014 Jan 09 1:43 PM
A range table have a limit for number of data (approx. 5000 you can consider). You can avoid this using any of this:
1.) Use for all entries in place of range table.
2.) Packet data selection also possible for same select query. Add keyword 'PACKAGE SIZE n' in select statement.
Cheers,
Prakash
2014 Jan 09 1:34 PM
2014 Jan 09 1:40 PM
Hi,
Use the move-corresponding in table i_bseg!
Check the time of executing the statement! it is taking time to execute 16000 accounting docs, need to check the secondary indexes as per your requirement.
Rg, Kiran
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |