In this SAP ABAP tutorial I will show you the use of clear, refresh and free .

Clear:
Syntax : clear <variable_name>.
Use : clear the contents of the variable.
Variables may be internal table , work area , variables declared using elementary data types etc. 
E.g.:
Program 1.
DATA : lv_num TYPE i VALUE 1000.

WRITE : / 'Value before clear : ', lv_num.

CLEAR lv_num.

WRITE : / 'Value after clear : ',lv_num.

Program 2.
TYPES : BEGIN OF ty_mara,
          matnr 
TYPE matnr," Material Number
          mtart 
TYPE mtart," Material Type
          matkl 
TYPE matkl," Material Group
        
END OF   ty_mara.

DATA : lt_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 1. " Internal table declaration

DATA : lt_mara_header TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE. " Internal table with header line

DATA : ls_mara TYPE ty_mara." Work area declaration

CLEAR : ls_mara , lt_mara[], lt_mara, lt_mara_header[] , lt_mara_header.

REFRESH :
It is used to clear the contents of only internal table. It will only clear the body of the internal table.
TYPES : BEGIN OF ty_mara,
          matnr 
TYPE matnr," Material Number
          mtart 
TYPE mtart," Material Type
          matkl 
TYPE matkl," Material Group
        
END OF   ty_mara.
*-- Internal table declaration
DATA : lt_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 1.
*-- Internal table with header line
DATA : lt_mara_header TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE. 
*--  Work area declaration
DATA : ls_mara TYPE ty_mara.
*-- Use of refresh
REFRESH : lt_mara[], lt_mara , lt_mara_header[] .

N.B.: Both clear and refresh are used to clear the contents but they never release the memory space.

FREE :
It is used to clear the contents and release the memory of internal table only.
E.g.:
TYPES : BEGIN OF ty_mara,
          matnr 
TYPE matnr," Material Number
          mtart 
TYPE mtart," Material Type
          matkl 
TYPE matkl," Material Group
        
END OF   ty_mara.
*-- Internal table declaration
DATA : lt_mara TYPE STANDARD TABLE OF ty_mara INITIAL SIZE 1.
*-- Internal table with header line
DATA : lt_mara_header TYPE STANDARD TABLE OF ty_mara WITH HEADER LINE.
*--  Work area declaration
DATA : ls_mara TYPE ty_mara.
*-- Use of free
FREE : lt_mara[], lt_mara_header[] .
 
 
Serkan AKKAVAK
Computer Engineer
ABAP Developer & SAP MM SD Consultant