‎2008 Sep 10 12:14 PM
Hi ,
My report is dumping because there is no memory space availabe for extending the memory of an internal table, after it gets filled with about 2500000 lakh records.
the dump analysis is as follows :-
Error analysis
The internal table (with the internal identifier "IT_317") could not be
enlarged any further. To enable error handling, the internal table had
to be deleted before this error log was formatted. Consequently, if you
navigate back from this error log to the ABAP Debugger, the table will
be displayed there with 0 lines.
When the program was terminated, the internal table concerned returned
the following information:
Line width: 1700
Number of lines: 106904
Allocated lines: 106904
New no. of requested lines: 8 (in 1 blocks)
How to correct the error
The amount of storage space (in bytes) filled at termination time was:
Roll area...................... 7272944
Extended memory (EM)........... 603339264
Assigned memory (HEAP)......... 396390176
Short area..................... " "
Paging area.................... 40960
Maximum address space.......... 529887568
You may able to find an interim solution to the problem
in the SAP note system. If you have access to the note system yourself,
use the following search criteria:
Please suggest what can be done.
Regards,
Vikas Arya
‎2008 Sep 10 12:16 PM
Check with youe basis to increase your available resource memory.
also you can try to give package size with internal table which you are showing to output.
Amit.
‎2008 Sep 10 12:22 PM
Hey Vikas,
Its obvious that if you dump so much of data into an internal table then you are asking for Trouble....
This dump is occurring in the Select Statement....
If not here then it would have occurred while processing these huge amount of data....
My suggestion to you would be to make the Where Clause in the Select query more precise so that only limited entries are selected...
Note: Every thing has some technical constraint and those technical constraint cannot be over come for such huge amount of data....
Regards,
Kunjal
‎2008 Sep 10 12:29 PM
Thanks Kunjal, I get your point about optimizing the select statement ..
but this dump is occuring while i am appending the internal table and not while during the select statement.
If there is no way i can reduce the records being populated to the internal table, is there a solution ??
‎2008 Sep 10 12:37 PM
Hi Vikas,
There is a probable solution but I dont know how feasible it will be as per your requirements.
Heres the solution:
If you are appending the records to the DB table from Internal table then you can divide them into batch of few records then empty the internal table and do the same thing with the remaining records.
Regards,
Kunjal
‎2008 Sep 10 12:39 PM
Hi,
This solution might not sound good. But give a thought.
While appending data u may take more than one internal table.
Append first 10lakh records to 1st table, Second 10 lakhs to second table etc.
But from where are u getting the source data? It should be present in some internal table correct?
Probably u can use dynamic internal tables concept.
Also check ur code carefully. After the place of appending if u are not going to use any internal tables then use FREE itab
statement to free the memory allocated.
Also reduce the global declarations as much as possible
Thanks,
Vinod.
‎2008 Sep 10 12:27 PM
Please describe what your program is supposed to do, then maybe a workaround can be recommended.
Thomas