2007 Apr 16 2:57 PM
Hi I am having the 10 lack records in the KONP table . If i am trying to see all the records in SE11 , it is giving the short dump TSV_TNEW_PAGE_ALLOC_FAILED . I know this is because of less memory in the Server . Is there any other way to get the data ? How to optimise the below SELECT statement if i have large data in the table .
i_condn_data - is having 8 lack records .
SELECT knumh kznep valtg valdt zterm
FROM konp
INTO TABLE i_condn_data_b
FOR ALL ENTRIES IN i_condn_data
WHERE knumh = i_condn_data-knumh
AND kschl = p_kschl.
Please suggest .
2007 Apr 16 3:02 PM
Hi,
Try to use all Primary keys from KONP in the WHERE condition of the Select statment. that will be only solution
Regards
Sudheer
hi,
As said above ... Include all the primary key fields in your select statement in where condition and try to divide the data in to multiple internal tables ...
regards,
Santosh
2007 Apr 16 3:02 PM
Hi,
Try to use all Primary keys from KONP in the WHERE condition of the Select statment. that will be only solution
Regards
Sudheer
2007 Apr 16 3:03 PM
Hi,
You can make use of the PACKAGE SIZE addition for the SELECT statements.
This will read data from table in sets rather than the whole table.
Regards,
Sumant.
2007 Apr 16 3:11 PM
Hi..
if u want all the data..
divide the table <b>i_condn_data into 4 internal tables with 2 lakh records</b>.
write select query four times with these 4 itabs..which will avoid short dump..
2007 Apr 16 3:14 PM
hi,
As said above ... Include all the primary key fields in your select statement in where condition and try to divide the data in to multiple internal tables ...
regards,
Santosh
2007 Apr 16 3:19 PM
Hi,
try to use "UP TO n ROWS" to control the quantity of selected data in each Loop step.
Something like this:
sort itab by itab-knumh.
flag = 'X'.
while flag = 'X'.
SELECT knumh kznep valtg valdt zterm
FROM konp
INTO TABLE i_condn_data_b UP TO one_million ROWS
WHERE knumh > new_value_for_selection
AND kschl = p_kschl.
describe table i_condn_data_b lines i.
read table i_condn_data_b index i.
new_value_for_selection = i_condn_data_b-knumh.
*....your logic for table i_condn_data_b
if one_million > i.
clear flag.
endif.
endwhile.
Regards
2007 Apr 16 3:21 PM
Hi
chk for duplicate entries in i_condn_data comparing knumh.
try to split your select or use package size option in ur select.
regards,
madhu
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |