05-15-2007 10:10 AM
hi friends,
i have one quick question about internal tables and memory consumption.
if i have an internal table of say 100 entries and that does occupy memory for 100 entries. now if i delete 20 lines of this table...is the memory occupied by those 20 also released/freed or will the table size be 100 also and just the 20 deleted lines empty ?
05-15-2007 10:14 AM
Hi!
If you defined you table with the OCCURS 100 statement, then it will allocate always at least 100 records.
The other tables will occupy only the memory size of their actual record length * record number bytes (plus some header information).
Use REFRESH / FREE statement to delete the contents of unneccessary internal tables.
Regards
Tamá
05-15-2007 10:14 AM
Hi!
If you defined you table with the OCCURS 100 statement, then it will allocate always at least 100 records.
The other tables will occupy only the memory size of their actual record length * record number bytes (plus some header information).
Use REFRESH / FREE statement to delete the contents of unneccessary internal tables.
Regards
Tamá
05-15-2007 10:21 AM
Hi,
It depends on Occurs n clause used in defination of itab. at least for n reocrds memorey will be avaliable always.
u can release memory of itab using FREE itab. but this will freed complete itab with defination.
Jogdand M B
05-15-2007 12:35 PM
Hi,
To Memory release to internal tables.
Clear ITAB --- Header only Clears
Refresh ITAB --- Total ITAB will Clears
Free ITAB --- Unneccesary space will Clears
Regards
Ganesh