Hi,
to my knwlegde, whe you define an internal table with this statement initial size 0
so it will be allocated 8 KB of memory area, and it will be increased dynamically if there are records in ITAB.
so you can understand it very well by this example ..
you can define ITAB without initial size, but it will be by defult 8 KB.
when you fill the ITAB, it will be increased, and when you delete records from ITAB, then ITAB size will be decreaded, as well as to CLEAR or REFRESH, but if you want to remove it from garbage and allocate the size of it 0, so you can do it by FREE
so in debugger, you can click on Memory Analysis, and enter the ITAB name. and you can analysis the size of ITAB.,
Look to the size of ITAB when you fill it with data,
Clear Data, but you don't remove it from memory, so it is still in memory with small size
Here, you can remove the ITAB from garbage as we do for objects when we wnat to remve them from memory by using statement FREE
Regards
Ibrahim