ABAP Keyword Documentation → ABAP − Reference → Processing Internal Data → Assignments → Initializations
FREE
Other versions: 7.31 | 7.40 | 7.54
Syntax
FREE dobj.
Effect
The statement FREE deletes all rows from an internal table and releases the memory area that the rows occupied.
On other data objects, FREE works like the statement CLEAR.
If dobj is a structure with table-like components, the memory of all the table-like components is released.
Notes
-
If
dobjis an internal table with a header line,FREEis only applied to the table body and not the header line. -
Unlike
CLEAR, the initial memory area (see INITIAL SIZE) remains unoccupied whenFREEis used. This can become necessary when there is a lack of memory. -
In general,
FREEshould be used only if the entire memory is to be released in full and the internal table is no longer needed (or at the least not filled again right away). -
See also Memory Requirements of Deep Data Objects.
Example
At the breakpoints in the memory analysis of the ABAP debugger, it is clear that FREE frees up more allocated bound memory than CLEAR.
DATA itab TYPE STANDARD TABLE OF i WITH EMPTY KEY
INITIAL SIZE 10000.
itab = VALUE #( FOR i = 1 UNTIL i > 10000 ( i ) ).
CLEAR itab.
BREAK-POINT.
FREE itab.
BREAK-POINT.