2008 Apr 09 8:13 AM
Hi!
I have an internal table, which has 250000 records.
LOOP AT itab INTO wa.
...
* here are some other ABAP statements, but no SELECT
* or other database accesses
...
READ TABLE ...
MOVE ...
...
ENDLOOP.This code part runs for 8 minutes and I don't know why is it so slow.
How can I trace, which command takes the most time? If I go into the debugger and run it step-by-step, it seems every command is progressed instantly. Is there some tool for it?
SE30 is not enough detailfully, so it is not useful in my case.
Thank you
Tamá
2008 Apr 09 8:15 AM
Maybe the read table is the bottle neck. How did you declare the internal table you are reading here?
Standard, sorted, hashed table, with (non) unique key?
Hi!
I have an internal table, which has 250000 records.
LOOP AT itab INTO wa.
...
* here are some other ABAP statements, but no SELECT
* or other database accesses
...
READ TABLE ...
MOVE ...
...
ENDLOOP.This code part runs for 8 minutes and I don't know why is it so slow.
How can I trace, which command takes the most time? If I go into the debugger and run it step-by-step, it seems every command is progressed instantly. Is there some tool for it?
SE30 is not enough detailfully, so it is not useful in my case.
Thank you
Tamá
2008 Apr 09 8:15 AM
Maybe the read table is the bottle neck. How did you declare the internal table you are reading here?
Standard, sorted, hashed table, with (non) unique key?
2008 Apr 09 8:20 AM
yes, you have to tell us more.
Most likely your READ statement does not use a qualified key. Also, you might want to drop "INTO wa" and use field symbols instead ("ASSIGNING <fs>"). At 250K records you're saving some copying costs.
Cheers
Thomas
Edit:
You have to explicitely switch on analysis of internal table operations in SE30. Also see this excellent blog:
/people/siegfried.boes/blog/2007/11/13/the-abap-runtime-trace-se30--quick-and-easy
2008 Apr 09 8:29 AM
2008 Apr 09 9:17 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |