2008 Aug 06 10:04 AM
Hi All,
I have scheduled a job in background.The job is taking a very long time than usual to process.After processing for around 23000 sec's the job is getting cancelled.Upon checking the job log it is found that the job is cancelled with the following error "ABAP/4 processor: DBIF_RSQL_SQL_ERROR " having message type 'A'.
The bottleneck of the code is found at a select query retrieving all the records from a std.table.
Is there any way to solve this problem without changing the program now? Does this happen when the server is busy ?
Kindly Advise.
Thanks.
2008 Aug 06 10:10 AM
Hi Raajessh,
There can be multiple reasons for this. Even if you do not wish to modify the code you have to review it to determine why it is trying to retrieve all records from DB table.
Common reasons may be
1. Condition not checked if table is empty before passing the table in FOR ALL ENTRIES in select Query.
2. Condition in where clause of select Query is very generic and satisfied for all records.
3. Table used in IN operator in where clause is very large.
If you do not want to modify the program, you might have to run the program in batches which will result in retrieving less data (Example : if you have date range on selection screen, you can restrict date range).
Regards,
Mohaiyuddin
2008 Aug 06 10:10 AM
Hi Raajessh,
There can be multiple reasons for this. Even if you do not wish to modify the code you have to review it to determine why it is trying to retrieve all records from DB table.
Common reasons may be
1. Condition not checked if table is empty before passing the table in FOR ALL ENTRIES in select Query.
2. Condition in where clause of select Query is very generic and satisfied for all records.
3. Table used in IN operator in where clause is very large.
If you do not want to modify the program, you might have to run the program in batches which will result in retrieving less data (Example : if you have date range on selection screen, you can restrict date range).
Regards,
Mohaiyuddin
2008 Aug 06 10:10 AM
Hi
U should give us more details for that dump: several causes can raise that dump.
Max
2008 Aug 06 10:12 AM
>The bottleneck of the code is found at a select query >retrieving all the records from a std.table.
is that select using any for all entries.
if so are you using the Table initial check before doing the For all entries.
if not it_table[] is initial. "<---if you don't use this it will get all the data
select using for all entries.
endif.